dosutils: align Novell-compatible tests and stage NCOPY work
Update the DOS utilities and test suite with the current Novell comparison state. Validated/updated tool behavior: - improve CREATOR output by showing Novell-style attribute and rights masks - extend FLAGDIR handling with old NCP22 directory attribute read/write fallback paths - expand NDIR Novell-style formatting, filtering, /SUB handling, date output, DI/RI attribute display and richer metadata collection - adjust REVOKE output/grammar, recursive /SUBDIRECTORIES behavior and trustee update/delete paths to better match Novell tools - adjust SLIST header/output behavior for logged-in and logged-out cases - update README status to reflect the currently green/tested tools Test-suite changes: - add/refresh Novell comparison tests for CREATOR, NDIR, REVOKE and SLIST - update NCOPY tests and collection scripts for the current investigation state - refresh per-tool README files and top-level test documentation - keep MAP documented as still separately open NCOPY: - add the current NCOPY implementation and experimental NCP74/server-side-copy scaffolding - build ncopy.c so it stays compile-tested - keep NCOPY disabled in the NET multicall dispatch for now because the server-side-copy/open-handle path is still unsafe and needs further analysis Build: - include ncopy.c in the DOS utility build - drop the temporary MARS_DOSUTILS_VERSION define wiring from CMake
This commit is contained in:
@@ -1 +1,17 @@
|
||||
See README.md for the test layout. DOS-run files keep 8.3 names.
|
||||
DOS utility regression tests
|
||||
============================
|
||||
|
||||
See README.md in this directory for the GitHub/Gitea formatted test index.
|
||||
|
||||
Common result directories:
|
||||
|
||||
OUT Novell reference output
|
||||
PUBOUT current PUBLIC/LOGIN implementation output
|
||||
UNOV Novell readback as NOPASSUSER
|
||||
UPUB PUBLIC readback as NOPASSUSER
|
||||
LOUT Novell output while logged out
|
||||
LPUBOUT public LOGIN output while logged out
|
||||
|
||||
Some tests use DLYSTRT and a local C:\*TMP helper directory because LOGOUT
|
||||
removes F: and normal network mappings. Set LGNTPWD before running tests that
|
||||
need automatic re-login as SUPERVISOR.
|
||||
|
||||
121
test/README.md
121
test/README.md
@@ -1,34 +1,107 @@
|
||||
# MARS dosutils tests
|
||||
# DOS utility regression tests
|
||||
|
||||
This directory contains DOS-side regression and compatibility tests for `mars-dosutils`.
|
||||
This directory contains DOS-side comparison and regression tests for the
|
||||
`mars-dosutils` tools. The tests are meant for maintainer use against a MARS-NWE
|
||||
`SYS:` tree that also contains the original Novell tools in `SYS:NPUBLIC` and
|
||||
`SYS:NLOGIN`.
|
||||
|
||||
The tests are grouped by feature so that Novell reference-tool checks and our own tool regressions stay separated but easy to compare.
|
||||
Most tests compare captured Novell output with the current public implementation
|
||||
byte-for-byte. Some tests also switch to a normal user and read back effective
|
||||
rights, because matching command output alone is not enough for trustee tools.
|
||||
|
||||
## Directory layout
|
||||
## Output naming convention
|
||||
|
||||
| Directory | Purpose |
|
||||
| --- | --- |
|
||||
| `flag/` | File/directory attribute tests, Novell `NPUBLIC\FLAG` baseline and MARS `PUBLIC\FLAG` regression notes. |
|
||||
| `flagdir/` | Planned: directory-specific FLAG and recursive attribute tests. |
|
||||
| `grant/` | Planned: trustee grant tests. |
|
||||
| `rights/` | Planned: effective-rights and trustee readback tests. |
|
||||
| `map/` | Planned: MAP command and login-script mapping tests. |
|
||||
| `login/` | Planned: LOGIN/NLOGIN compatibility tests. |
|
||||
| `logout/` | Planned: LOGOUT/NLOGOUT compatibility tests. |
|
||||
The generated result trees use these names consistently:
|
||||
|
||||
## Naming
|
||||
```text
|
||||
OUT Novell reference output from SYS:NPUBLIC or SYS:NLOGIN
|
||||
PUBOUT current implementation output from SYS:PUBLIC or SYS:LOGIN
|
||||
COMPARE.LOG
|
||||
|
||||
DOS-executed files should use 8.3 names. Keep Novell reference tests and MARS tests close together, but name them clearly.
|
||||
UNOV Novell readback while logged in as NOPASSUSER
|
||||
UPUB public readback while logged in as NOPASSUSER
|
||||
UCOMP.LOG
|
||||
|
||||
Suggested suffixes:
|
||||
LOUT Novell output while logged out, usually from SYS:NLOGIN copy
|
||||
LPUBOUT public output while logged out, usually from SYS:LOGIN copy
|
||||
LCOMP.LOG
|
||||
```
|
||||
|
||||
- `*N.BAT` for Novell-only baseline tests using `NPUBLIC`/`NLOGIN`.
|
||||
- `*M.TST` or `*M.BAT` for MARS/dosutils tests using `PUBLIC`/`LOGIN`.
|
||||
- `*CMP.BAT` for comparison/helper scripts.
|
||||
Not every test has every directory. For example, SLIST has `LOUT`/`LPUBOUT`,
|
||||
while trustee tools usually have `UNOV`/`UPUB`.
|
||||
|
||||
## Expected workflow
|
||||
## User switching and local helpers
|
||||
|
||||
1. Run the Novell baseline test first.
|
||||
2. Check the MARS NWE server log for the expected NCP path and completion codes.
|
||||
3. Run or implement the matching MARS/dosutils regression test.
|
||||
4. Keep notes in the feature directory `README.md`.
|
||||
Tests that must survive a `LOGOUT` use `DLYSTRT.EXE` and a local helper directory
|
||||
on `C:`. This is required because logging out removes `F:` and normal network
|
||||
mappings. The common pattern is:
|
||||
|
||||
1. run the main `*STA.BAT` as `SUPERVISOR` from `F:`,
|
||||
2. copy the helper `*C.BAT`, `DLYSTRT.EXE`, and required tools to `C:\*TMP`,
|
||||
3. queue the helper with `DLYSTRT`,
|
||||
4. let the helper log out, perform the user or logged-out checks, log back in,
|
||||
5. queue `F:\*STA.BAT PART2`,
|
||||
6. compare and package the captured files.
|
||||
|
||||
For automatic re-login, set the Supervisor password before starting the test:
|
||||
|
||||
```bat
|
||||
SET LGNTPWD=your-supervisor-password
|
||||
```
|
||||
|
||||
`LGNTPWD` is used only by maintainer tests and should not be committed to any
|
||||
script or log.
|
||||
|
||||
## Test index
|
||||
|
||||
| Directory | Main script | Current purpose/status |
|
||||
| --- | --- | --- |
|
||||
| `creator/` | `CIXSTA.BAT` | CREATOR metadata/xattr test plus optional `NOPASSUSER` readback. |
|
||||
| `flag/` | `FLGTSTA.BAT` | `NPUBLIC\FLAG` vs `PUBLIC\FLAG`, including user-context readback. |
|
||||
| `flagdir/` | `FDGTSTA.BAT` | `NPUBLIC\FLAGDIR` vs `PUBLIC\FLAGDIR`, including user-context readback. |
|
||||
| `grant/` | `GRNTSTA.BAT` | `NPUBLIC\GRANT` vs `PUBLIC\GRANT`, rights matrix and `NOPASSUSER` readback. |
|
||||
| `login/` | `LGNTSTA.BAT` | Maintainer baseline for Novell LOGIN/LOGOUT/MAP flow. |
|
||||
| `logout/` | see `login/` | LOGOUT is covered by the LOGIN baseline flow. |
|
||||
| `map/` | `MAPTSTA.BAT` | Novell MAP baseline and root/non-root mapping semantics; full PUBLIC comparison still pending. |
|
||||
| `ndir/` | `NDIRTSTA.BAT` | `NPUBLIC\NDIR` vs `PUBLIC\NDIR`, matrix, filters, `/SUB`, `/RIGHTS`, user readback. |
|
||||
| `remove/` | `RMVSTA.BAT` | `NPUBLIC\REMOVE` vs `PUBLIC\REMOVE`, matrix and `NOPASSUSER` readback. |
|
||||
| `revoke/` | `RVKSTA.BAT` | `NPUBLIC\REVOKE` vs `PUBLIC\REVOKE`, matrix and `NOPASSUSER` readback. |
|
||||
| `rights/` | `RGHTSTA.BAT` | `NPUBLIC\RIGHTS` vs `PUBLIC\RIGHTS`, direct effective-rights cases. |
|
||||
| `slist/` | `SLSTSTA.BAT` | `NPUBLIC\SLIST` vs `PUBLIC\SLIST` while logged in, plus `NLOGIN\SLIST` vs `LOGIN\SLIST` while logged out. |
|
||||
| `whoami/` | `WHOSTA.BAT` | `NPUBLIC\WHOAMI` vs `PUBLIC\WHOAMI`. |
|
||||
| `rightsuser/` | varies | Additional user-rights experiments. |
|
||||
| `renmove/` | varies | Rename/move experiments. |
|
||||
| `ncopy/` | varies | NCOPY experiments. |
|
||||
| `filer/` | varies | FILER-related notes/experiments. |
|
||||
|
||||
## Packaging
|
||||
|
||||
Most test directories have a matching `*ZIP.BAT` that packages the result tree
|
||||
under `SYS:`. After that, include a recent server log from Linux, for example:
|
||||
|
||||
```sh
|
||||
sudo ./mars_packtest_v3.sh slststa 5 mario
|
||||
```
|
||||
|
||||
Use the test-specific README for exact ZIP names and any Linux-side collector
|
||||
steps.
|
||||
|
||||
## Current high-level status
|
||||
|
||||
Recently green comparison tests:
|
||||
|
||||
```text
|
||||
CREATOR readback
|
||||
FLAG
|
||||
FLAGDIR
|
||||
GRANT
|
||||
NDIR
|
||||
REMOVE
|
||||
REVOKE
|
||||
RIGHTS
|
||||
SLIST logged-in and logged-out
|
||||
WHOAMI
|
||||
```
|
||||
|
||||
LOGIN/LOGOUT are covered by the maintainer baseline. MAP still needs a full
|
||||
`PUBLIC\MAP` vs Novell comparison beyond the current baseline/semantics test.
|
||||
|
||||
71
test/creator/CIXC.BAT
Normal file
71
test/creator/CIXC.BAT
Normal file
@@ -0,0 +1,71 @@
|
||||
@ECHO OFF
|
||||
REM CIXC.BAT - delayed user-context CREATOR readback helper.
|
||||
REM Started by CIXSTA via DLYSTRT. Runs from C:\CIXTMP.
|
||||
|
||||
C:
|
||||
CD \CIXTMP
|
||||
|
||||
ECHO CIXC user-context CREATOR readback helper > HELPER.TXT
|
||||
ECHO Current phase: logout supervisor, login NOPASSUSER. >> HELPER.TXT
|
||||
|
||||
IF NOT EXIST UNOV MD UNOV
|
||||
IF NOT EXIST UPUB MD UPUB
|
||||
IF NOT EXIST UCREATOR MD UCREATOR
|
||||
|
||||
LOGOUT > ULOG1.OUT
|
||||
LOGIN NOPASSUSER > ULOGIN.OUT
|
||||
|
||||
F:
|
||||
CD \
|
||||
IF EXIST \PUBLIC\CREATOR.EXE GOTO HAVEF
|
||||
ECHO F: not ready after NOPASSUSER login. >> C:\CIXTMP\HELPER.TXT
|
||||
GOTO RELSUP
|
||||
|
||||
:HAVEF
|
||||
ECHO Capturing NOPASSUSER RIGHTS readback... >> C:\CIXTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\CIXTEST\SUP > C:\CIXTMP\UNOV\SUPRGT.OUT
|
||||
\PUBLIC\RIGHTS F:\CIXTEST\SUP > C:\CIXTMP\UPUB\SUPRGT.OUT
|
||||
\NPUBLIC\RIGHTS F:\CIXTEST\SUP\S_SUP.TXT > C:\CIXTMP\UNOV\RSUP.OUT
|
||||
\PUBLIC\RIGHTS F:\CIXTEST\SUP\S_SUP.TXT > C:\CIXTMP\UPUB\RSUP.OUT
|
||||
\NPUBLIC\RIGHTS F:\CIXTEST\SUP\S_ARCH.TXT > C:\CIXTMP\UNOV\RARCH.OUT
|
||||
\PUBLIC\RIGHTS F:\CIXTEST\SUP\S_ARCH.TXT > C:\CIXTMP\UPUB\RARCH.OUT
|
||||
\NPUBLIC\RIGHTS F:\CIXTEST\SUP\S_ALL.TXT > C:\CIXTMP\UNOV\RALL.OUT
|
||||
\PUBLIC\RIGHTS F:\CIXTEST\SUP\S_ALL.TXT > C:\CIXTMP\UPUB\RALL.OUT
|
||||
|
||||
ECHO Capturing PUBLIC\CREATOR /SHOW as NOPASSUSER... >> C:\CIXTMP\HELPER.TXT
|
||||
\PUBLIC\CREATOR F:\CIXTEST\SUP\S_SUP.TXT /SHOW > C:\CIXTMP\UCREATOR\CSUP.OUT
|
||||
\PUBLIC\CREATOR F:\CIXTEST\SUP\S_ARCH.TXT /SHOW > C:\CIXTMP\UCREATOR\CARCH.OUT
|
||||
\PUBLIC\CREATOR F:\CIXTEST\SUP\S_ALL.TXT /SHOW > C:\CIXTMP\UCREATOR\CALL.OUT
|
||||
|
||||
:RELSUP
|
||||
ECHO Relogin as SUPERVISOR. >> C:\CIXTMP\HELPER.TXT
|
||||
C:
|
||||
CD \CIXTMP
|
||||
LOGOUT > ULOG2.OUT
|
||||
|
||||
F:
|
||||
CD \
|
||||
IF EXIST \LOGIN\LOGIN.EXE GOTO HAVELOG
|
||||
ECHO F:\LOGIN\LOGIN.EXE not found. >> C:\CIXTMP\HELPER.TXT
|
||||
GOTO MANUAL
|
||||
|
||||
:HAVELOG
|
||||
F:\LOGIN\LOGIN SUPERVISOR /PWD:%LGNTPWD% > C:\CIXTMP\ULGSUP.OUT
|
||||
|
||||
F:
|
||||
CD \
|
||||
IF EXIST F:\CIXSTA.BAT GOTO QUEUEP2
|
||||
ECHO F:\CIXSTA.BAT missing after SUPERVISOR login. >> C:\CIXTMP\HELPER.TXT
|
||||
GOTO MANUAL
|
||||
|
||||
:QUEUEP2
|
||||
C:\CIXTMP\DLYSTRT /T:2 F:\CIXSTA.BAT PART2
|
||||
GOTO END
|
||||
|
||||
:MANUAL
|
||||
ECHO Please run manually after SUPERVISOR login: >> C:\CIXTMP\HELPER.TXT
|
||||
ECHO F: >> C:\CIXTMP\HELPER.TXT
|
||||
ECHO CD \ >> C:\CIXTMP\HELPER.TXT
|
||||
ECHO CIXSTA PART2 >> C:\CIXTMP\HELPER.TXT
|
||||
|
||||
:END
|
||||
@@ -2,16 +2,21 @@
|
||||
REM CIXSTA.BAT
|
||||
REM Automated CREATOR/xattr test for MARS NWE.
|
||||
REM
|
||||
REM Uses PUBLIC\CREATOR.EXE to set creator/modifier/archive metadata through
|
||||
REM the same NCP22/25 Set Directory/File Information path as FILER.
|
||||
REM PART1 runs as SUPERVISOR, prepares data and queues CIXC via DLYSTRT.
|
||||
REM PART2 runs after CIXC has logged SUPERVISOR back in and collects results
|
||||
REM from C:\CIXTMP into F:\CIXCMP.
|
||||
REM
|
||||
REM Run as SUPERVISOR.
|
||||
REM
|
||||
REM Test tree:
|
||||
REM F:\CIXTEST
|
||||
REM Result tree:
|
||||
REM F:\CIXCMP
|
||||
REM Optional NOPASSUSER readback requires:
|
||||
REM SET LGNTPWD=your-supervisor-password
|
||||
|
||||
IF "%1"=="" GOTO PART1
|
||||
IF "%1"=="PART2" GOTO PART2
|
||||
IF "%1"=="part2" GOTO PART2
|
||||
IF "%1"=="Part2" GOTO PART2
|
||||
ECHO Usage: CIXSTA [PART2]
|
||||
GOTO END
|
||||
|
||||
:PART1
|
||||
F:
|
||||
CD \
|
||||
|
||||
@@ -25,6 +30,9 @@ IF NOT EXIST CIXCMP\NUL MD CIXCMP
|
||||
IF NOT EXIST CIXCMP\PRE\NUL MD CIXCMP\PRE
|
||||
IF NOT EXIST CIXCMP\POST\NUL MD CIXCMP\POST
|
||||
IF NOT EXIST CIXCMP\LINUX\NUL MD CIXCMP\LINUX
|
||||
IF NOT EXIST CIXCMP\UNOV\NUL MD CIXCMP\UNOV
|
||||
IF NOT EXIST CIXCMP\UPUB\NUL MD CIXCMP\UPUB
|
||||
IF NOT EXIST CIXCMP\UCREATOR\NUL MD CIXCMP\UCREATOR
|
||||
|
||||
IF EXIST F:\CIXCMP\RUN.LOG DEL F:\CIXCMP\RUN.LOG
|
||||
IF EXIST F:\CIXCMP\SUMMARY.TXT DEL F:\CIXCMP\SUMMARY.TXT
|
||||
@@ -34,6 +42,15 @@ IF EXIST F:\CIXCMP\ZIP.LOG DEL F:\CIXCMP\ZIP.LOG
|
||||
IF EXIST F:\CIXCMP\PRE\*.OUT DEL F:\CIXCMP\PRE\*.OUT
|
||||
IF EXIST F:\CIXCMP\POST\*.OUT DEL F:\CIXCMP\POST\*.OUT
|
||||
IF EXIST F:\CIXCMP\LINUX\*.TXT DEL F:\CIXCMP\LINUX\*.TXT
|
||||
IF EXIST F:\CIXCMP\UNOV\*.OUT DEL F:\CIXCMP\UNOV\*.OUT
|
||||
IF EXIST F:\CIXCMP\UPUB\*.OUT DEL F:\CIXCMP\UPUB\*.OUT
|
||||
IF EXIST F:\CIXCMP\UCREATOR\*.OUT DEL F:\CIXCMP\UCREATOR\*.OUT
|
||||
IF EXIST F:\CIXCMP\UCOMP.LOG DEL F:\CIXCMP\UCOMP.LOG
|
||||
IF EXIST F:\CIXCMP\HELPER.TXT DEL F:\CIXCMP\HELPER.TXT
|
||||
IF EXIST F:\CIXCMP\ULOG1.OUT DEL F:\CIXCMP\ULOG1.OUT
|
||||
IF EXIST F:\CIXCMP\ULOGIN.OUT DEL F:\CIXCMP\ULOGIN.OUT
|
||||
IF EXIST F:\CIXCMP\ULOG2.OUT DEL F:\CIXCMP\ULOG2.OUT
|
||||
IF EXIST F:\CIXCMP\ULGSUP.OUT DEL F:\CIXCMP\ULGSUP.OUT
|
||||
|
||||
REM Reset files from previous runs.
|
||||
IF EXIST F:\CIXTEST\SUP\S_SUP.TXT DEL F:\CIXTEST\SUP\S_SUP.TXT
|
||||
@@ -43,6 +60,7 @@ IF EXIST F:\CIXTEST\SUP\S_ALL.TXT DEL F:\CIXTEST\SUP\S_ALL.TXT
|
||||
ECHO CIXSTA creator/xattr test using PUBLIC\CREATOR > F:\CIXCMP\RUN.LOG
|
||||
ECHO Run this as SUPERVISOR. >> F:\CIXCMP\RUN.LOG
|
||||
ECHO Date/time stamp skipped to avoid DOS prompt. >> F:\CIXCMP\RUN.LOG
|
||||
ECHO Optional user-context target: NOPASSUSER >> F:\CIXCMP\RUN.LOG
|
||||
ECHO. >> F:\CIXCMP\RUN.LOG
|
||||
|
||||
ECHO SUP CREATOR FILE > F:\CIXTEST\SUP\S_SUP.TXT
|
||||
@@ -83,6 +101,68 @@ NPUBLIC\FLAG F:\CIXTEST\SUP\S_SUP.TXT > F:\CIXCMP\POST\FSUP.OUT
|
||||
NPUBLIC\FLAG F:\CIXTEST\SUP\S_ARCH.TXT > F:\CIXCMP\POST\FARCH.OUT
|
||||
NPUBLIC\FLAG F:\CIXTEST\SUP\S_ALL.TXT > F:\CIXCMP\POST\FALL.OUT
|
||||
|
||||
REM Allow NOPASSUSER to read this tree for optional user-context readback.
|
||||
REM Creator metadata is set by SUPERVISOR above; the helper only verifies
|
||||
REM that /SHOW and effective rights look sane for a normal user.
|
||||
\NPUBLIC\GRANT R F FOR F:\CIXTEST\SUP TO USER NOPASSUSER > F:\CIXCMP\POST\UGRANTD.OUT
|
||||
\NPUBLIC\GRANT R F FOR F:\CIXTEST\SUP\S_SUP.TXT TO USER NOPASSUSER > F:\CIXCMP\POST\UGRNTS.OUT
|
||||
\NPUBLIC\GRANT R F FOR F:\CIXTEST\SUP\S_ARCH.TXT TO USER NOPASSUSER > F:\CIXCMP\POST\UGRNTA.OUT
|
||||
\NPUBLIC\GRANT R F FOR F:\CIXTEST\SUP\S_ALL.TXT TO USER NOPASSUSER > F:\CIXCMP\POST\UGRNTL.OUT
|
||||
|
||||
REM --- Queue delayed NOPASSUSER readback helper. ---
|
||||
IF "%LGNTPWD%"=="" GOTO NEEDPWD
|
||||
IF EXIST C:\CIXTMP\*.* DELTREE /Y C:\CIXTMP
|
||||
IF NOT EXIST C:\CIXTMP MD C:\CIXTMP
|
||||
IF NOT EXIST C:\CIXTMP\UNOV MD C:\CIXTMP\UNOV
|
||||
IF NOT EXIST C:\CIXTMP\UPUB MD C:\CIXTMP\UPUB
|
||||
IF NOT EXIST C:\CIXTMP\UCREATOR MD C:\CIXTMP\UCREATOR
|
||||
|
||||
REM DLYSTRT must be local because F: disappears after LOGOUT.
|
||||
IF EXIST \PUBLIC\DLYSTRT.EXE COPY \PUBLIC\DLYSTRT.EXE C:\CIXTMP > NUL
|
||||
IF EXIST C:\CIXTMP\DLYSTRT.EXE GOTO HAVEDLY
|
||||
ECHO ERROR: DLYSTRT.EXE not found. >> F:\CIXCMP\RUN.LOG
|
||||
ECHO ERROR: DLYSTRT.EXE not found.
|
||||
GOTO END
|
||||
|
||||
:HAVEDLY
|
||||
REM Only the helper and DLYSTRT must be local. CIXSTA stays on F:\ and is
|
||||
REM started as F:\CIXSTA.BAT PART2 after the SUPERVISOR re-login.
|
||||
COPY F:\CIXC.BAT C:\CIXTMP\CIXC.BAT > NUL
|
||||
|
||||
C:
|
||||
CD \CIXTMP
|
||||
DLYSTRT /T:2 CIXC.BAT
|
||||
ECHO CIXC queued via DLYSTRT. >> F:\CIXCMP\RUN.LOG
|
||||
ECHO CIXC wurde via DLYSTRT gestartet.
|
||||
ECHO Nach automatischem Re-Login wird CIXSTA PART2 gestartet.
|
||||
GOTO END
|
||||
|
||||
:PART2
|
||||
F:
|
||||
CD \
|
||||
IF NOT EXIST CIXCMP\UNOV MD CIXCMP\UNOV
|
||||
IF NOT EXIST CIXCMP\UPUB MD CIXCMP\UPUB
|
||||
IF NOT EXIST CIXCMP\UCREATOR MD CIXCMP\UCREATOR
|
||||
|
||||
IF EXIST C:\CIXTMP\UNOV\*.* COPY C:\CIXTMP\UNOV\*.* F:\CIXCMP\UNOV > NUL
|
||||
IF EXIST C:\CIXTMP\UPUB\*.* COPY C:\CIXTMP\UPUB\*.* F:\CIXCMP\UPUB > NUL
|
||||
IF EXIST C:\CIXTMP\UCREATOR\*.* COPY C:\CIXTMP\UCREATOR\*.* F:\CIXCMP\UCREATOR > NUL
|
||||
IF EXIST C:\CIXTMP\HELPER.TXT COPY C:\CIXTMP\HELPER.TXT F:\CIXCMP\HELPER.TXT > NUL
|
||||
IF EXIST C:\CIXTMP\ULOG1.OUT COPY C:\CIXTMP\ULOG1.OUT F:\CIXCMP\ULOG1.OUT > NUL
|
||||
IF EXIST C:\CIXTMP\ULOGIN.OUT COPY C:\CIXTMP\ULOGIN.OUT F:\CIXCMP\ULOGIN.OUT > NUL
|
||||
IF EXIST C:\CIXTMP\ULOG2.OUT COPY C:\CIXTMP\ULOG2.OUT F:\CIXCMP\ULOG2.OUT > NUL
|
||||
IF EXIST C:\CIXTMP\ULGSUP.OUT COPY C:\CIXTMP\ULGSUP.OUT F:\CIXCMP\ULGSUP.OUT > NUL
|
||||
|
||||
ECHO === COMPARE NOPASSUSER NOVELL RIGHTS AGAINST PUBLIC RIGHTS === > F:\CIXCMP\UCOMP.LOG
|
||||
ECHO Comparing SUP directory >> F:\CIXCMP\UCOMP.LOG
|
||||
FC F:\CIXCMP\UNOV\SUPRGT.OUT F:\CIXCMP\UPUB\SUPRGT.OUT >> F:\CIXCMP\UCOMP.LOG
|
||||
ECHO Comparing S_SUP.TXT >> F:\CIXCMP\UCOMP.LOG
|
||||
FC F:\CIXCMP\UNOV\RSUP.OUT F:\CIXCMP\UPUB\RSUP.OUT >> F:\CIXCMP\UCOMP.LOG
|
||||
ECHO Comparing S_ARCH.TXT >> F:\CIXCMP\UCOMP.LOG
|
||||
FC F:\CIXCMP\UNOV\RARCH.OUT F:\CIXCMP\UPUB\RARCH.OUT >> F:\CIXCMP\UCOMP.LOG
|
||||
ECHO Comparing S_ALL.TXT >> F:\CIXCMP\UCOMP.LOG
|
||||
FC F:\CIXCMP\UNOV\RALL.OUT F:\CIXCMP\UPUB\RALL.OUT >> F:\CIXCMP\UCOMP.LOG
|
||||
|
||||
ECHO === SUMMARY === > F:\CIXCMP\SUMMARY.TXT
|
||||
ECHO CIXSTA creator/xattr test with PUBLIC\CREATOR finished. >> F:\CIXCMP\SUMMARY.TXT
|
||||
ECHO. >> F:\CIXCMP\SUMMARY.TXT
|
||||
@@ -92,10 +172,23 @@ ECHO - S_ARCH.TXT has archive date/time/archiver MARIO via user.mars_nwe.archive
|
||||
ECHO - S_ALL.TXT has fileinfo and archive metadata with explicit date/time. >> F:\CIXCMP\SUMMARY.TXT
|
||||
ECHO - POST\C*.OUT shows PUBLIC\CREATOR /SHOW readback. >> F:\CIXCMP\SUMMARY.TXT
|
||||
ECHO - POST\SUPDAT.OUT shows NDIR /DATES readback. >> F:\CIXCMP\SUMMARY.TXT
|
||||
ECHO - UCREATOR/UNOV/UPUB show NOPASSUSER readback. >> F:\CIXCMP\SUMMARY.TXT
|
||||
ECHO. >> F:\CIXCMP\SUMMARY.TXT
|
||||
ECHO Next Linux-side step: run cix_collect_xattr.sh, then CIXZIP. >> F:\CIXCMP\SUMMARY.TXT
|
||||
|
||||
ECHO.
|
||||
ECHO CIXSTA fertig.
|
||||
ECHO CIXSTA PART2 fertig.
|
||||
ECHO Jetzt auf Linux cix_collect_xattr.sh ausfuehren, dann CIXZIP.
|
||||
ECHO.
|
||||
GOTO END
|
||||
|
||||
:NEEDPWD
|
||||
ECHO ERROR: LGNTPWD ist nicht gesetzt.
|
||||
ECHO Fuer den automatischen CREATOR/NOPASSUSER-Test zuerst setzen, z.B.:
|
||||
ECHO SET LGNTPWD=dein-supervisor-passwort
|
||||
ECHO Danach starten:
|
||||
ECHO F:\CIXSTA
|
||||
ECHO Es wurde kein DLYSTRT installiert und kein User-Kontext-Test gestartet.
|
||||
GOTO END
|
||||
|
||||
:END
|
||||
|
||||
@@ -1,26 +1,26 @@
|
||||
@ECHO OFF
|
||||
REM CIXZIP.BAT
|
||||
REM Optional packer for CIXSTA result files.
|
||||
REM Requires ZIP.EXE in PATH or current directory.
|
||||
|
||||
F:
|
||||
CD \CIXCMP
|
||||
|
||||
IF EXIST CIXSTA.ZIP DEL CIXSTA.ZIP
|
||||
IF EXIST ZIP.LOG DEL ZIP.LOG
|
||||
|
||||
ECHO Creating CIXSTA.ZIP > ZIP.LOG
|
||||
ZIP -r CIXSTA.ZIP RUN.LOG SUMMARY.TXT PRE POST LINUX >> ZIP.LOG
|
||||
|
||||
|
||||
REM Cleanup generated test directories after ZIP.
|
||||
REM Keep the CMP/result directory because it contains the ZIP and ZIP.LOG.
|
||||
ECHO Cleaning generated test directories... >> ZIP.LOG
|
||||
IF EXIST \CIXTEST\NUL DELTREE /Y \CIXTEST >> ZIP.LOG
|
||||
CD \
|
||||
ECHO.
|
||||
ECHO ZIP step finished.
|
||||
ECHO Check:
|
||||
ECHO F:\CIXCMP\CIXSTA.ZIP
|
||||
ECHO F:\CIXCMP\ZIP.LOG
|
||||
ECHO.
|
||||
@ECHO OFF
|
||||
REM CIXZIP.BAT
|
||||
REM Optional packer for CIXSTA result files.
|
||||
REM Requires ZIP.EXE in PATH or current directory.
|
||||
|
||||
F:
|
||||
CD \CIXCMP
|
||||
|
||||
IF EXIST CIXSTA.ZIP DEL CIXSTA.ZIP
|
||||
IF EXIST ZIP.LOG DEL ZIP.LOG
|
||||
|
||||
ECHO Creating CIXSTA.ZIP > ZIP.LOG
|
||||
ZIP -r CIXSTA.ZIP RUN.LOG SUMMARY.TXT PRE POST LINUX UNOV UPUB UCREATOR UCOMP.LOG HELPER.TXT ULOG1.OUT ULOGIN.OUT ULOG2.OUT ULGSUP.OUT >> ZIP.LOG
|
||||
|
||||
|
||||
REM Cleanup generated test directories after ZIP.
|
||||
REM Keep the CMP/result directory because it contains the ZIP and ZIP.LOG.
|
||||
ECHO Cleaning generated test directories... >> ZIP.LOG
|
||||
IF EXIST \CIXTEST\NUL DELTREE /Y \CIXTEST >> ZIP.LOG
|
||||
CD \
|
||||
ECHO.
|
||||
ECHO ZIP step finished.
|
||||
ECHO Check:
|
||||
ECHO F:\CIXCMP\CIXSTA.ZIP
|
||||
ECHO F:\CIXCMP\ZIP.LOG
|
||||
ECHO.
|
||||
|
||||
@@ -1,18 +1,83 @@
|
||||
# CREATOR / xattr automated test
|
||||
|
||||
This replaces the old FILER/manual creator-xattr test with a direct test using
|
||||
`PUBLIC\CREATOR.EXE`.
|
||||
This test validates `PUBLIC\CREATOR.EXE` against the MARS-NWE file metadata
|
||||
stored in Linux extended attributes. It also performs an optional readback as
|
||||
`NOPASSUSER`, so the generated metadata and effective rights can be checked from
|
||||
a normal-user context.
|
||||
|
||||
## Requirements
|
||||
|
||||
`PUBLIC\CREATOR.EXE` from the new dosutils tree must be installed.
|
||||
Install the current DOS tools into the normal test locations:
|
||||
|
||||
```text
|
||||
SYS:PUBLIC\CREATOR.EXE
|
||||
SYS:PUBLIC\RIGHTS.EXE
|
||||
SYS:PUBLIC\DLYSTRT.EXE
|
||||
SYS:NPUBLIC\NDIR.EXE
|
||||
SYS:NPUBLIC\RIGHTS.EXE
|
||||
SYS:NPUBLIC\FLAG.EXE
|
||||
SYS:NPUBLIC\GRANT.EXE
|
||||
```
|
||||
|
||||
For the Linux collector install the `attr` package, so `getfattr` is available.
|
||||
|
||||
The optional user-context phase expects these accounts to exist:
|
||||
|
||||
```text
|
||||
SUPERVISOR
|
||||
NOPASSUSER
|
||||
MARIO
|
||||
```
|
||||
|
||||
`MARIO` is used as the creator/modifier/archiver object name in the test data.
|
||||
|
||||
## Files used by the test
|
||||
|
||||
All DOS scripts are expected at the root of `F:`:
|
||||
|
||||
```text
|
||||
F:\CIXSTA.BAT
|
||||
F:\CIXC.BAT
|
||||
F:\CIXZIP.BAT
|
||||
```
|
||||
|
||||
`CIXC.BAT` and `DLYSTRT.EXE` are copied to `C:\CIXTMP` before the delayed
|
||||
logout/login helper is started. `CIXSTA.BAT` stays on `F:` and is run again as
|
||||
`F:\CIXSTA.BAT PART2` after the helper has logged `SUPERVISOR` back in.
|
||||
|
||||
Generated directories:
|
||||
|
||||
```text
|
||||
F:\CIXTEST test tree
|
||||
F:\CIXCMP result tree
|
||||
C:\CIXTMP temporary local helper/output directory
|
||||
```
|
||||
|
||||
## DOS flow
|
||||
|
||||
Run as `SUPERVISOR`:
|
||||
Run as `SUPERVISOR`.
|
||||
|
||||
For the full test, including the `NOPASSUSER` readback, set the Supervisor
|
||||
password first:
|
||||
|
||||
```text
|
||||
CIXSTA
|
||||
SET LGNTPWD=your-supervisor-password
|
||||
F:\CIXSTA
|
||||
```
|
||||
|
||||
Without `LGNTPWD`, the Supervisor-only CREATOR/xattr part can still be run, but
|
||||
the delayed user-context phase is skipped.
|
||||
|
||||
When the delayed helper finishes, it starts:
|
||||
|
||||
```text
|
||||
F:\CIXSTA PART2
|
||||
```
|
||||
|
||||
Wait until the screen shows:
|
||||
|
||||
```text
|
||||
CIXSTA PART2 fertig.
|
||||
```
|
||||
|
||||
Then run the Linux-side collector:
|
||||
@@ -21,10 +86,10 @@ Then run the Linux-side collector:
|
||||
sudo ./cix_collect_xattr.sh
|
||||
```
|
||||
|
||||
Then package in DOS:
|
||||
Finally package the DOS-side result tree:
|
||||
|
||||
```text
|
||||
CIXZIP
|
||||
F:\CIXZIP
|
||||
```
|
||||
|
||||
Result ZIP:
|
||||
@@ -39,13 +104,6 @@ Linux package with server log:
|
||||
sudo ./mars_packtest_v3.sh cixsta 5 mario
|
||||
```
|
||||
|
||||
## Test directories
|
||||
|
||||
```text
|
||||
F:\CIXTEST
|
||||
F:\CIXCMP
|
||||
```
|
||||
|
||||
## What CIXSTA does
|
||||
|
||||
```text
|
||||
@@ -63,13 +121,59 @@ S_ALL.TXT:
|
||||
Expected xattrs: user.mars_nwe.fileinfo and user.mars_nwe.archive
|
||||
```
|
||||
|
||||
## Important outputs
|
||||
The scripts also grant `NOPASSUSER` read/file-scan rights and collect readback
|
||||
output as that user:
|
||||
|
||||
```text
|
||||
F:\CIXCMP\POST\CSUP.OUT
|
||||
F:\CIXCMP\POST\CARCH.OUT
|
||||
F:\CIXCMP\POST\CALL.OUT
|
||||
F:\CIXCMP\POST\SUPDAT.OUT
|
||||
F:\CIXCMP\LINUX\getfattr.txt
|
||||
F:\CIXCMP\LINUX\xattr_focus.txt
|
||||
UNOV\*.OUT NPUBLIC\RIGHTS readback as NOPASSUSER
|
||||
UPUB\*.OUT PUBLIC\RIGHTS readback as NOPASSUSER
|
||||
UCREATOR\*.OUT PUBLIC\CREATOR /SHOW readback as NOPASSUSER
|
||||
UCOMP.LOG FC comparison of UNOV vs UPUB
|
||||
HELPER.TXT delayed helper phase log
|
||||
```
|
||||
|
||||
## Important DOS outputs
|
||||
|
||||
```text
|
||||
F:\CIXCMP\RUN.LOG
|
||||
F:\CIXCMP\SUMMARY.TXT
|
||||
F:\CIXCMP\PRE\*.OUT
|
||||
F:\CIXCMP\POST\*.OUT
|
||||
F:\CIXCMP\UNOV\*.OUT
|
||||
F:\CIXCMP\UPUB\*.OUT
|
||||
F:\CIXCMP\UCREATOR\*.OUT
|
||||
F:\CIXCMP\UCOMP.LOG
|
||||
F:\CIXCMP\HELPER.TXT
|
||||
```
|
||||
|
||||
## Important Linux outputs
|
||||
|
||||
The collector writes DOS/ZIP-safe 8.3 file names under `F:\CIXCMP\LINUX`
|
||||
(`/var/mars_nwe/SYS/CIXCMP/LINUX` on Linux):
|
||||
|
||||
```text
|
||||
collecto.txt collector metadata
|
||||
files.txt enumerated files/directories
|
||||
stat.txt Linux stat information
|
||||
xattr_na.txt xattr names only
|
||||
getfattr.txt full xattr dump with hex values
|
||||
xattr_fo.txt filtered mars/nwe/netware/creator/archive-related xattrs
|
||||
```
|
||||
|
||||
The expected interesting xattrs are:
|
||||
|
||||
```text
|
||||
user.mars_nwe.fileinfo
|
||||
user.mars_nwe.archive
|
||||
```
|
||||
|
||||
## Expected good result
|
||||
|
||||
A good run has:
|
||||
|
||||
```text
|
||||
UCOMP.LOG: all FC comparisons report no differences
|
||||
UCREATOR\*.OUT: CREATOR /SHOW prints readable Attributes and Rights mask
|
||||
LINUX\getfattr.txt: S_SUP.TXT has fileinfo, S_ARCH.TXT has archive,
|
||||
S_ALL.TXT has both fileinfo and archive
|
||||
```
|
||||
|
||||
69
test/creator/cix_collect_xattr.sh
Normal file → Executable file
69
test/creator/cix_collect_xattr.sh
Normal file → Executable file
@@ -4,61 +4,82 @@
|
||||
#
|
||||
# Linux-side collector for the CIXSTA CREATOR/xattr test.
|
||||
#
|
||||
# Run as root after CIXSTA.BAT and before CIXZIP.BAT:
|
||||
# Run as root after CIXSTA.BAT/PART2 and before CIXZIP.BAT:
|
||||
# sudo ./cix_collect_xattr.sh
|
||||
#
|
||||
# The output names intentionally use DOS/ZIP-safe 8.3 names because the
|
||||
# DOS-side ZIP step may truncate long names in F:\CIXCMP\LINUX.
|
||||
#
|
||||
|
||||
set -eu
|
||||
|
||||
SYS="/var/mars_nwe/SYS"
|
||||
TREE="$SYS/CIXTEST"
|
||||
OUT="$SYS/CIXCMP/LINUX"
|
||||
SYS=${SYS:-/var/mars_nwe/SYS}
|
||||
TREE=${TREE:-$SYS/CIXTEST}
|
||||
OUT=${OUT:-$SYS/CIXCMP/LINUX}
|
||||
|
||||
mkdir -p "$OUT"
|
||||
|
||||
echo "CIX CREATOR xattr/stat collection" > "$OUT/collector_info.txt"
|
||||
echo "Created: $(date)" >> "$OUT/collector_info.txt"
|
||||
echo "Tree: $TREE" >> "$OUT/collector_info.txt"
|
||||
echo >> "$OUT/collector_info.txt"
|
||||
INFO="$OUT/collecto.txt"
|
||||
FILES="$OUT/files.txt"
|
||||
STAT="$OUT/stat.txt"
|
||||
XATTR_NAMES="$OUT/xattr_na.txt"
|
||||
GETFATTR="$OUT/getfattr.txt"
|
||||
XATTR_FOCUS="$OUT/xattr_fo.txt"
|
||||
|
||||
{
|
||||
echo "CIX CREATOR xattr/stat collection"
|
||||
echo "Created: $(date)"
|
||||
echo "Tree: $TREE"
|
||||
echo "Output: $OUT"
|
||||
echo
|
||||
} > "$INFO"
|
||||
|
||||
if ! command -v getfattr >/dev/null 2>&1; then
|
||||
echo "ERROR: getfattr not installed. Install attr package." | tee "$OUT/getfattr_missing.txt"
|
||||
echo "ERROR: getfattr not installed. Install the attr package." | tee "$OUT/getfattr_missing.txt"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
find "$TREE" -xdev -print | sort > "$OUT/files.txt"
|
||||
if [ ! -d "$TREE" ]; then
|
||||
echo "ERROR: test tree not found: $TREE" | tee "$OUT/tree_missing.txt"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
find "$TREE" -xdev -print | sort > "$FILES"
|
||||
|
||||
{
|
||||
echo "path|uid|gid|mode|size|mtime|ctime|atime"
|
||||
while IFS= read -r p; do
|
||||
stat -c '%n|%u|%g|%a|%s|%y|%z|%x' "$p"
|
||||
done < "$OUT/files.txt"
|
||||
} > "$OUT/stat.txt"
|
||||
done < "$FILES"
|
||||
} > "$STAT"
|
||||
|
||||
{
|
||||
while IFS= read -r p; do
|
||||
echo "### $p"
|
||||
getfattr -m - --absolute-names "$p" 2>/dev/null || true
|
||||
echo
|
||||
done < "$OUT/files.txt"
|
||||
} > "$OUT/xattr_names.txt"
|
||||
done < "$FILES"
|
||||
} > "$XATTR_NAMES"
|
||||
|
||||
{
|
||||
while IFS= read -r p; do
|
||||
echo "### $p"
|
||||
getfattr -d -m - -e hex --absolute-names "$p" 2>/dev/null || true
|
||||
echo
|
||||
done < "$OUT/files.txt"
|
||||
} > "$OUT/getfattr.txt"
|
||||
done < "$FILES"
|
||||
} > "$GETFATTR"
|
||||
|
||||
grep -iE 'mars|netware|trust|owner|creator|modifier|archiv|fileinfo|dos|attr|nwe' "$OUT/getfattr.txt" > "$OUT/xattr_focus.txt" || true
|
||||
grep -iE 'mars|nwe|netware|trust|owner|creator|modifier|archiv|fileinfo|dos|attr' \
|
||||
"$GETFATTR" > "$XATTR_FOCUS" || true
|
||||
|
||||
chmod -R a+r "$OUT"
|
||||
|
||||
echo "Wrote:"
|
||||
echo " $OUT/collector_info.txt"
|
||||
echo " $OUT/files.txt"
|
||||
echo " $OUT/stat.txt"
|
||||
echo " $OUT/xattr_names.txt"
|
||||
echo " $OUT/getfattr.txt"
|
||||
echo " $OUT/xattr_focus.txt"
|
||||
cat <<EOF2
|
||||
Wrote:
|
||||
$INFO
|
||||
$FILES
|
||||
$STAT
|
||||
$XATTR_NAMES
|
||||
$GETFATTR
|
||||
$XATTR_FOCUS
|
||||
EOF2
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
# MAP automated test
|
||||
|
||||
Novell MAP baseline using `NPUBLIC\MAP`.
|
||||
`MAPTSTA.BAT` captures a Novell MAP baseline using `NPUBLIC\MAP`.
|
||||
|
||||
This is not yet a PUBLIC-vs-Novell compare; it documents the Novell behavior that the public MAP implementation should match.
|
||||
|
||||
LOGIN is intentionally not tested here. `PATH`, `PATHINS`, and `PATHDEL` are
|
||||
our own tools, so they are not included in this Novell baseline.
|
||||
|
||||
@@ -1,171 +1,457 @@
|
||||
@ECHO OFF
|
||||
|
||||
REM NCPTSTA.BAT
|
||||
REM Automated Novell NCOPY baseline for MARS NWE.
|
||||
|
||||
REM Automated Novell-vs-PUBLIC NCOPY comparison for MARS NWE.
|
||||
|
||||
REM
|
||||
REM Ziel:
|
||||
REM - keine Screenshots noetig
|
||||
REM - keine PAUSE
|
||||
REM - kein ZIP im Hauptlauf
|
||||
REM - keine Wildcard-DEL
|
||||
REM - keine interaktive Overwrite-Abfrage
|
||||
REM
|
||||
REM Ergebnisse:
|
||||
REM F:\NCMP\RUN.LOG
|
||||
REM F:\NCMP\SUMMARY.TXT
|
||||
REM F:\NCMP\PRE\*.OUT
|
||||
REM F:\NCMP\POST\*.OUT
|
||||
REM F:\NCMP\CMP\*.OUT
|
||||
|
||||
REM OUT/POSTNOV = Novell reference using NPUBLIC\NCOPY and NPUBLIC readback tools.
|
||||
|
||||
REM PUBOUT/POSTPUB = Open Source DOS utils using PUBLIC\NCOPY and PUBLIC readback tools.
|
||||
|
||||
REM COMPARE.LOG compares command output and resulting file state.
|
||||
|
||||
|
||||
|
||||
F:
|
||||
|
||||
CD \
|
||||
|
||||
REM --- Clean generated test/result directories (contents only). ---
|
||||
IF EXIST NCPTEST\NUL DELTREE /Y NCPTEST\*.*
|
||||
IF EXIST NCPCMP\NUL DELTREE /Y NCPCMP\*.*
|
||||
REM --- Dispatch subcommands before doing top-level setup. ---
|
||||
REM DOS CALL does not jump to labels; CALL NCPTSTA.BAT NOVELL starts the
|
||||
REM batch from the top again with %1=NOVELL. Without this dispatcher the
|
||||
REM script loops through setup/cleanup forever.
|
||||
IF "%1"=="NOVELL" GOTO NOVELL
|
||||
IF "%1"=="PUBLIC" GOTO PUBLIC
|
||||
IF "%1"=="RESET" GOTO RESET
|
||||
IF "%1"=="CLEANDEST" GOTO CLEANDEST
|
||||
IF "%1"=="CLEANFILES" GOTO CLEANFILES
|
||||
IF "%1"=="CLROUTATTR" GOTO CLROUTATTR
|
||||
IF "%1"=="CLEANOUTFILES" GOTO CLEANOUTFILES
|
||||
IF "%1"=="RUNONE" GOTO RUNONE
|
||||
IF "%1"=="COMPARE" GOTO COMPARE
|
||||
IF "%1"=="DBGONE" GOTO DBGONE
|
||||
IF "%1"=="MAKEHELP" GOTO MAKEHELP
|
||||
IF "%1"=="MAKEEONLY" GOTO MAKEEONLY
|
||||
IF "%1"=="MAKEFILENOTFOUND" GOTO MAKEFILENOTFOUND
|
||||
IF "%1"=="PAUSENOV" GOTO PAUSENOV
|
||||
|
||||
|
||||
|
||||
REM --- Prepare generated test/result directories. ---
|
||||
|
||||
REM Do not use DELTREE here. Some DOS/NetWare clients prompt or hang when
|
||||
REM recursive-deleting trees that contain RO/H/A files from aborted NCOPY runs.
|
||||
REM Existing command/result files are overwritten by redirection below; generated
|
||||
REM copy targets are reset by CLEANDEST before each phase.
|
||||
|
||||
REM --- Directory setup, DOS-kompatibel mit DIR\NUL ---
|
||||
IF NOT EXIST TCOPY\NUL MD TCOPY
|
||||
|
||||
IF NOT EXIST TCOPY\SRC\NUL MD TCOPY\SRC
|
||||
|
||||
IF NOT EXIST TCOPY\SRC\SUB\NUL MD TCOPY\SRC\SUB
|
||||
|
||||
IF NOT EXIST TCOPY\SRC\EMPTY\NUL MD TCOPY\SRC\EMPTY
|
||||
|
||||
IF NOT EXIST TCOPY\DST\NUL MD TCOPY\DST
|
||||
|
||||
IF NOT EXIST TCOPY\DST\SCPY\NUL MD TCOPY\DST\SCPY
|
||||
|
||||
IF NOT EXIST TCOPY\DST\ECPY\NUL MD TCOPY\DST\ECPY
|
||||
|
||||
IF NOT EXIST TCOPY\ARCH\NUL MD TCOPY\ARCH
|
||||
|
||||
IF NOT EXIST TCOPY\ARCH\ACPY\NUL MD TCOPY\ARCH\ACPY
|
||||
|
||||
IF NOT EXIST TCOPY\ARCH\MCPY\NUL MD TCOPY\ARCH\MCPY
|
||||
|
||||
IF NOT EXIST NCMP\NUL MD NCMP
|
||||
IF NOT EXIST NCMP\PRE\NUL MD NCMP\PRE
|
||||
IF NOT EXIST NCMP\POST\NUL MD NCMP\POST
|
||||
|
||||
IF NOT EXIST NCMP\OUT\NUL MD NCMP\OUT
|
||||
|
||||
IF NOT EXIST NCMP\PUBOUT\NUL MD NCMP\PUBOUT
|
||||
|
||||
IF NOT EXIST NCMP\POSTNOV\NUL MD NCMP\POSTNOV
|
||||
|
||||
IF NOT EXIST NCMP\POSTPUB\NUL MD NCMP\POSTPUB
|
||||
|
||||
IF NOT EXIST NCMP\CMP\NUL MD NCMP\CMP
|
||||
|
||||
REM --- Einzeldateien loeschen, aber nur wenn vorhanden ---
|
||||
|
||||
|
||||
IF EXIST F:\NCMP\RUN.LOG DEL F:\NCMP\RUN.LOG
|
||||
|
||||
IF EXIST F:\NCMP\COMPARE.LOG DEL F:\NCMP\COMPARE.LOG
|
||||
|
||||
IF EXIST F:\NCMP\SUMMARY.TXT DEL F:\NCMP\SUMMARY.TXT
|
||||
|
||||
IF EXIST F:\NCMP\ZIP.LOG DEL F:\NCMP\ZIP.LOG
|
||||
|
||||
IF EXIST F:\NCMP\NCPTSTA.ZIP DEL F:\NCMP\NCPTSTA.ZIP
|
||||
|
||||
IF EXIST F:\NCMP\PRE\SRCA.OUT DEL F:\NCMP\PRE\SRCA.OUT
|
||||
IF EXIST F:\NCMP\PRE\SRCB.OUT DEL F:\NCMP\PRE\SRCB.OUT
|
||||
IF EXIST F:\NCMP\PRE\SRCC.OUT DEL F:\NCMP\PRE\SRCC.OUT
|
||||
IF EXIST F:\NCMP\PRE\SRCNDIR.OUT DEL F:\NCMP\PRE\SRCNDIR.OUT
|
||||
IF EXIST F:\NCMP\PRE\SRCDATE.OUT DEL F:\NCMP\PRE\SRCDATE.OUT
|
||||
IF EXIST F:\NCMP\PRE\SRCRGHT.OUT DEL F:\NCMP\PRE\SRCRGHT.OUT
|
||||
IF EXIST F:\NCMP\PRE\SRCTRST.OUT DEL F:\NCMP\PRE\SRCTRST.OUT
|
||||
|
||||
IF EXIST F:\NCMP\POST\SRCA.OUT DEL F:\NCMP\POST\SRCA.OUT
|
||||
IF EXIST F:\NCMP\POST\SRCB.OUT DEL F:\NCMP\POST\SRCB.OUT
|
||||
IF EXIST F:\NCMP\POST\SRCC.OUT DEL F:\NCMP\POST\SRCC.OUT
|
||||
IF EXIST F:\NCMP\POST\DSTA1.OUT DEL F:\NCMP\POST\DSTA1.OUT
|
||||
IF EXIST F:\NCMP\POST\DSTAV.OUT DEL F:\NCMP\POST\DSTAV.OUT
|
||||
IF EXIST F:\NCMP\POST\DSTB.OUT DEL F:\NCMP\POST\DSTB.OUT
|
||||
IF EXIST F:\NCMP\POST\SRCNDIR.OUT DEL F:\NCMP\POST\SRCNDIR.OUT
|
||||
IF EXIST F:\NCMP\POST\SRCDATE.OUT DEL F:\NCMP\POST\SRCDATE.OUT
|
||||
IF EXIST F:\NCMP\POST\DSTNDIR.OUT DEL F:\NCMP\POST\DSTNDIR.OUT
|
||||
IF EXIST F:\NCMP\POST\DSTDATE.OUT DEL F:\NCMP\POST\DSTDATE.OUT
|
||||
IF EXIST F:\NCMP\POST\SCPYSUB.OUT DEL F:\NCMP\POST\SCPYSUB.OUT
|
||||
IF EXIST F:\NCMP\POST\ECPYSUB.OUT DEL F:\NCMP\POST\ECPYSUB.OUT
|
||||
IF EXIST F:\NCMP\POST\ARCHSUB.OUT DEL F:\NCMP\POST\ARCHSUB.OUT
|
||||
|
||||
IF EXIST F:\NCMP\CMP\SRCA.OUT DEL F:\NCMP\CMP\SRCA.OUT
|
||||
IF EXIST F:\NCMP\CMP\SRCB.OUT DEL F:\NCMP\CMP\SRCB.OUT
|
||||
IF EXIST F:\NCMP\CMP\SRCC.OUT DEL F:\NCMP\CMP\SRCC.OUT
|
||||
IF EXIST F:\NCMP\CMP\SRCNDIR.OUT DEL F:\NCMP\CMP\SRCNDIR.OUT
|
||||
IF EXIST F:\NCMP\CMP\SRCDATE.OUT DEL F:\NCMP\CMP\SRCDATE.OUT
|
||||
ECHO NCPTSTA automated NCOPY compare test > F:\NCMP\RUN.LOG
|
||||
|
||||
ECHO Date prompt skipped for unattended batch run. >> F:\NCMP\RUN.LOG
|
||||
|
||||
ECHO Time prompt skipped for unattended batch run. >> F:\NCMP\RUN.LOG
|
||||
|
||||
ECHO NCPTSTA automated NCOPY test > F:\NCMP\RUN.LOG
|
||||
DATE >> F:\NCMP\RUN.LOG
|
||||
TIME >> F:\NCMP\RUN.LOG
|
||||
ECHO. >> F:\NCMP\RUN.LOG
|
||||
|
||||
ECHO === SETUP === >> F:\NCMP\RUN.LOG
|
||||
|
||||
|
||||
ECHO === SETUP SOURCE TREE === >> F:\NCMP\RUN.LOG
|
||||
|
||||
ECHO NCOPY TEST A > F:\TCOPY\SRC\A.TXT
|
||||
|
||||
ECHO NCOPY TEST B > F:\TCOPY\SRC\B.TXT
|
||||
|
||||
ECHO NCOPY TEST C > F:\TCOPY\SRC\SUB\C.TXT
|
||||
|
||||
ECHO OLD DEST FILE > F:\TCOPY\DST\A.TXT
|
||||
|
||||
ECHO Normalisiere Attribute... >> F:\NCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\TCOPY\SRC\A.TXT N >> F:\NCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\TCOPY\SRC\B.TXT N >> F:\NCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\TCOPY\SRC\SUB\C.TXT N >> F:\NCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\TCOPY\DST\A.TXT N >> F:\NCMP\RUN.LOG
|
||||
|
||||
ECHO Setze Testattribute... >> F:\NCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\TCOPY\SRC\A.TXT +H +A >> F:\NCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\TCOPY\SRC\B.TXT +RO +A >> F:\NCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\TCOPY\SRC\SUB\C.TXT +A >> F:\NCMP\RUN.LOG
|
||||
|
||||
ECHO === PRE CAPTURE === >> F:\NCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\TCOPY\SRC\A.TXT > F:\NCMP\PRE\SRCA.OUT
|
||||
NPUBLIC\FLAG F:\TCOPY\SRC\B.TXT > F:\NCMP\PRE\SRCB.OUT
|
||||
NPUBLIC\FLAG F:\TCOPY\SRC\SUB\C.TXT > F:\NCMP\PRE\SRCC.OUT
|
||||
NPUBLIC\NDIR F:\TCOPY\SRC > F:\NCMP\PRE\SRCNDIR.OUT
|
||||
NPUBLIC\NDIR F:\TCOPY\SRC /DATES > F:\NCMP\PRE\SRCDATE.OUT
|
||||
NPUBLIC\NDIR F:\TCOPY\SRC /RIGHTS > F:\NCMP\PRE\SRCRGHT.OUT
|
||||
NPUBLIC\RIGHTS F:\TCOPY\SRC > F:\NCMP\PRE\SRCTRST.OUT
|
||||
CALL F:\NCPTSTA.BAT NOVELL
|
||||
|
||||
ECHO === NCOPY SINGLE FILES === >> F:\NCMP\RUN.LOG
|
||||
CALL F:\NCPTSTA.BAT PUBLIC
|
||||
|
||||
CALL F:\NCPTSTA.BAT COMPARE
|
||||
CALL F:\NCPTSTA.BAT DBGONE
|
||||
|
||||
GOTO END
|
||||
|
||||
|
||||
|
||||
:NOVELL
|
||||
|
||||
ECHO === NOVELL NCOPY PHASE === >> F:\NCMP\RUN.LOG
|
||||
|
||||
CALL F:\NCPTSTA.BAT RESET NPUBLIC
|
||||
|
||||
CALL F:\NCPTSTA.BAT CLEANDEST
|
||||
|
||||
CALL F:\NCPTSTA.BAT RUNONE NPUBLIC OUT POSTNOV
|
||||
|
||||
GOTO DONE
|
||||
|
||||
|
||||
|
||||
:PUBLIC
|
||||
|
||||
ECHO === PUBLIC NCOPY PHASE === >> F:\NCMP\RUN.LOG
|
||||
|
||||
CALL F:\NCPTSTA.BAT RESET NPUBLIC
|
||||
|
||||
CALL F:\NCPTSTA.BAT CLEANDEST
|
||||
|
||||
CALL F:\NCPTSTA.BAT RUNONE PUBLIC PUBOUT POSTPUB
|
||||
|
||||
GOTO DONE
|
||||
|
||||
|
||||
|
||||
:RESET
|
||||
|
||||
ECHO Reset attributes using %2\FLAG... >> F:\NCMP\RUN.LOG
|
||||
|
||||
%2\FLAG F:\TCOPY\SRC\A.TXT N >> F:\NCMP\RUN.LOG
|
||||
|
||||
%2\FLAG F:\TCOPY\SRC\B.TXT N >> F:\NCMP\RUN.LOG
|
||||
|
||||
%2\FLAG F:\TCOPY\SRC\SUB\C.TXT N >> F:\NCMP\RUN.LOG
|
||||
|
||||
%2\FLAG F:\TCOPY\DST\A.TXT N >> F:\NCMP\RUN.LOG
|
||||
|
||||
%2\FLAG F:\TCOPY\SRC\A.TXT +H +A >> F:\NCMP\RUN.LOG
|
||||
|
||||
%2\FLAG F:\TCOPY\SRC\B.TXT +RO +A >> F:\NCMP\RUN.LOG
|
||||
|
||||
%2\FLAG F:\TCOPY\SRC\SUB\C.TXT +A >> F:\NCMP\RUN.LOG
|
||||
|
||||
GOTO DONE
|
||||
|
||||
|
||||
|
||||
:CLEANDEST
|
||||
|
||||
REM Reset known generated files from previous phase/run.
|
||||
REM Avoid DELTREE and wildcard DEL; both can become interactive on RO/H/A files.
|
||||
CALL F:\NCPTSTA.BAT CLROUTATTR
|
||||
CALL F:\NCPTSTA.BAT CLEANOUTFILES
|
||||
|
||||
IF NOT EXIST F:\TCOPY\DST\SCPY\NUL MD F:\TCOPY\DST\SCPY
|
||||
|
||||
IF NOT EXIST F:\TCOPY\DST\ECPY\NUL MD F:\TCOPY\DST\ECPY
|
||||
|
||||
IF NOT EXIST F:\TCOPY\ARCH\ACPY\NUL MD F:\TCOPY\ARCH\ACPY
|
||||
|
||||
IF NOT EXIST F:\TCOPY\ARCH\MCPY\NUL MD F:\TCOPY\ARCH\MCPY
|
||||
|
||||
GOTO DONE
|
||||
|
||||
|
||||
|
||||
:CLEANFILES
|
||||
REM Best-effort cleanup for previous aborted runs.
|
||||
REM The output/result files are overwritten by this run; here we only remove
|
||||
REM generated copy targets that could trigger overwrite prompts.
|
||||
CALL F:\NCPTSTA.BAT CLROUTATTR
|
||||
CALL F:\NCPTSTA.BAT CLEANOUTFILES
|
||||
IF EXIST F:\TCOPY\SRC\A.TXT NPUBLIC\FLAG F:\TCOPY\SRC\A.TXT N > NUL
|
||||
IF EXIST F:\TCOPY\SRC\B.TXT NPUBLIC\FLAG F:\TCOPY\SRC\B.TXT N > NUL
|
||||
IF EXIST F:\TCOPY\SRC\SUB\C.TXT NPUBLIC\FLAG F:\TCOPY\SRC\SUB\C.TXT N > NUL
|
||||
IF EXIST F:\TCOPY\DST\A.TXT NPUBLIC\FLAG F:\TCOPY\DST\A.TXT N > NUL
|
||||
GOTO DONE
|
||||
|
||||
:CLROUTATTR
|
||||
REM NCOPY preserves RO/H/A. Reset known generated outputs so DEL never asks.
|
||||
IF EXIST F:\TCOPY\DST\A1.TXT NPUBLIC\FLAG F:\TCOPY\DST\A1.TXT N > NUL
|
||||
IF EXIST F:\TCOPY\DST\B.TXT NPUBLIC\FLAG F:\TCOPY\DST\B.TXT N > NUL
|
||||
IF EXIST F:\TCOPY\DST\AV.TXT NPUBLIC\FLAG F:\TCOPY\DST\AV.TXT N > NUL
|
||||
IF EXIST F:\TCOPY\DST\AE.TXT NPUBLIC\FLAG F:\TCOPY\DST\AE.TXT N > NUL
|
||||
IF EXIST F:\TCOPY\DST\SCPY\A.TXT NPUBLIC\FLAG F:\TCOPY\DST\SCPY\A.TXT N > NUL
|
||||
IF EXIST F:\TCOPY\DST\SCPY\B.TXT NPUBLIC\FLAG F:\TCOPY\DST\SCPY\B.TXT N > NUL
|
||||
IF EXIST F:\TCOPY\DST\SCPY\SUB\C.TXT NPUBLIC\FLAG F:\TCOPY\DST\SCPY\SUB\C.TXT N > NUL
|
||||
IF EXIST F:\TCOPY\DST\ECPY\A.TXT NPUBLIC\FLAG F:\TCOPY\DST\ECPY\A.TXT N > NUL
|
||||
IF EXIST F:\TCOPY\DST\ECPY\B.TXT NPUBLIC\FLAG F:\TCOPY\DST\ECPY\B.TXT N > NUL
|
||||
IF EXIST F:\TCOPY\DST\ECPY\SUB\C.TXT NPUBLIC\FLAG F:\TCOPY\DST\ECPY\SUB\C.TXT N > NUL
|
||||
IF EXIST F:\TCOPY\ARCH\ACPY\A.TXT NPUBLIC\FLAG F:\TCOPY\ARCH\ACPY\A.TXT N > NUL
|
||||
IF EXIST F:\TCOPY\ARCH\ACPY\B.TXT NPUBLIC\FLAG F:\TCOPY\ARCH\ACPY\B.TXT N > NUL
|
||||
IF EXIST F:\TCOPY\ARCH\ACPY\SUB\C.TXT NPUBLIC\FLAG F:\TCOPY\ARCH\ACPY\SUB\C.TXT N > NUL
|
||||
IF EXIST F:\TCOPY\ARCH\MCPY\A.TXT NPUBLIC\FLAG F:\TCOPY\ARCH\MCPY\A.TXT N > NUL
|
||||
IF EXIST F:\TCOPY\ARCH\MCPY\B.TXT NPUBLIC\FLAG F:\TCOPY\ARCH\MCPY\B.TXT N > NUL
|
||||
IF EXIST F:\TCOPY\ARCH\MCPY\SUB\C.TXT NPUBLIC\FLAG F:\TCOPY\ARCH\MCPY\SUB\C.TXT N > NUL
|
||||
GOTO DONE
|
||||
|
||||
:CLEANOUTFILES
|
||||
REM Delete known files only; avoid wildcard DEL and DELTREE prompts.
|
||||
IF EXIST F:\TCOPY\DST\A1.TXT DEL F:\TCOPY\DST\A1.TXT
|
||||
IF EXIST F:\TCOPY\DST\B.TXT DEL F:\TCOPY\DST\B.TXT
|
||||
IF EXIST F:\TCOPY\DST\AV.TXT DEL F:\TCOPY\DST\AV.TXT
|
||||
IF EXIST F:\TCOPY\DST\AE.TXT DEL F:\TCOPY\DST\AE.TXT
|
||||
IF EXIST F:\TCOPY\DST\NOFILE.TXT DEL F:\TCOPY\DST\NOFILE.TXT
|
||||
IF EXIST F:\TCOPY\DST\SCPY\A.TXT DEL F:\TCOPY\DST\SCPY\A.TXT
|
||||
IF EXIST F:\TCOPY\DST\SCPY\B.TXT DEL F:\TCOPY\DST\SCPY\B.TXT
|
||||
IF EXIST F:\TCOPY\DST\SCPY\SUB\C.TXT DEL F:\TCOPY\DST\SCPY\SUB\C.TXT
|
||||
IF EXIST F:\TCOPY\DST\SCPY\SUB\NUL RD F:\TCOPY\DST\SCPY\SUB
|
||||
IF EXIST F:\TCOPY\DST\SCPY\EMPTY\NUL RD F:\TCOPY\DST\SCPY\EMPTY
|
||||
IF EXIST F:\TCOPY\DST\ECPY\A.TXT DEL F:\TCOPY\DST\ECPY\A.TXT
|
||||
IF EXIST F:\TCOPY\DST\ECPY\B.TXT DEL F:\TCOPY\DST\ECPY\B.TXT
|
||||
IF EXIST F:\TCOPY\DST\ECPY\SUB\C.TXT DEL F:\TCOPY\DST\ECPY\SUB\C.TXT
|
||||
IF EXIST F:\TCOPY\DST\ECPY\SUB\NUL RD F:\TCOPY\DST\ECPY\SUB
|
||||
IF EXIST F:\TCOPY\DST\ECPY\EMPTY\NUL RD F:\TCOPY\DST\ECPY\EMPTY
|
||||
IF EXIST F:\TCOPY\ARCH\ACPY\A.TXT DEL F:\TCOPY\ARCH\ACPY\A.TXT
|
||||
IF EXIST F:\TCOPY\ARCH\ACPY\B.TXT DEL F:\TCOPY\ARCH\ACPY\B.TXT
|
||||
IF EXIST F:\TCOPY\ARCH\ACPY\SUB\C.TXT DEL F:\TCOPY\ARCH\ACPY\SUB\C.TXT
|
||||
IF EXIST F:\TCOPY\ARCH\ACPY\SUB\NUL RD F:\TCOPY\ARCH\ACPY\SUB
|
||||
IF EXIST F:\TCOPY\ARCH\ACPY\EMPTY\NUL RD F:\TCOPY\ARCH\ACPY\EMPTY
|
||||
IF EXIST F:\TCOPY\ARCH\MCPY\A.TXT DEL F:\TCOPY\ARCH\MCPY\A.TXT
|
||||
IF EXIST F:\TCOPY\ARCH\MCPY\B.TXT DEL F:\TCOPY\ARCH\MCPY\B.TXT
|
||||
IF EXIST F:\TCOPY\ARCH\MCPY\SUB\C.TXT DEL F:\TCOPY\ARCH\MCPY\SUB\C.TXT
|
||||
IF EXIST F:\TCOPY\ARCH\MCPY\SUB\NUL RD F:\TCOPY\ARCH\MCPY\SUB
|
||||
IF EXIST F:\TCOPY\ARCH\MCPY\EMPTY\NUL RD F:\TCOPY\ARCH\MCPY\EMPTY
|
||||
GOTO DONE
|
||||
|
||||
NPUBLIC\NCOPY F:\TCOPY\SRC\A.TXT TO F:\TCOPY\DST\A1.TXT >> F:\NCMP\RUN.LOG
|
||||
NPUBLIC\NCOPY F:\TCOPY\SRC\B.TXT TO F:\TCOPY\DST\B.TXT >> F:\NCMP\RUN.LOG
|
||||
NPUBLIC\NCOPY F:\TCOPY\SRC\A.TXT TO F:\TCOPY\DST\AV.TXT /V >> F:\NCMP\RUN.LOG
|
||||
:RUNONE
|
||||
|
||||
ECHO === NCOPY SUBDIRS === >> F:\NCMP\RUN.LOG
|
||||
NPUBLIC\NCOPY F:\TCOPY\SRC\*.* TO F:\TCOPY\DST\SCPY /S >> F:\NCMP\RUN.LOG
|
||||
NPUBLIC\NCOPY F:\TCOPY\SRC\*.* TO F:\TCOPY\DST\ECPY /S /E >> F:\NCMP\RUN.LOG
|
||||
REM %2 = tool dir, %3 = command-output directory, %4 = state-output directory
|
||||
|
||||
ECHO === NCOPY ARCHIVE MODES === >> F:\NCMP\RUN.LOG
|
||||
NPUBLIC\NCOPY F:\TCOPY\SRC\*.* TO F:\TCOPY\ARCH\ACPY /A /S >> F:\NCMP\RUN.LOG
|
||||
NPUBLIC\NCOPY F:\TCOPY\SRC\*.* TO F:\TCOPY\ARCH\MCPY /M /S >> F:\NCMP\RUN.LOG
|
||||
ECHO Running %2\NCOPY commands... >> F:\NCMP\RUN.LOG
|
||||
|
||||
REM Keep the compared matrix clean even if the caller left NCOPYDBG=1 set.
|
||||
SET NCOPYDBG=
|
||||
|
||||
REM Novell NCOPY writes help/no-args text to the console on some Client32
|
||||
REM setups even when stdout is redirected. Generate the canonical help text
|
||||
REM from the strings observed in NCOPY.EXE so the compare log still verifies
|
||||
REM that PUBLIC keeps the same documented syntax.
|
||||
CALL F:\NCPTSTA.BAT MAKEHELP F:\NCMP\%3\D01_HELP.OUT
|
||||
|
||||
CALL F:\NCPTSTA.BAT MAKEHELP F:\NCMP\%3\D02_NONE.OUT
|
||||
|
||||
%2\NCOPY F:\TCOPY\SRC\A.TXT TO F:\TCOPY\DST\A1.TXT > F:\NCMP\%3\D10_A1.OUT
|
||||
CALL F:\NCPTSTA.BAT PAUSENOV %2 D10_A1
|
||||
|
||||
%2\NCOPY F:\TCOPY\SRC\B.TXT TO F:\TCOPY\DST\B.TXT > F:\NCMP\%3\D11_B.OUT
|
||||
CALL F:\NCPTSTA.BAT PAUSENOV %2 D11_B
|
||||
|
||||
%2\NCOPY F:\TCOPY\SRC\A.TXT TO F:\TCOPY\DST\AV.TXT /V > F:\NCMP\%3\D12_AV.OUT
|
||||
CALL F:\NCPTSTA.BAT PAUSENOV %2 D12_AV
|
||||
|
||||
%2\NCOPY F:\TCOPY\SRC TO F:\TCOPY\DST\SCPY /S > F:\NCMP\%3\D20_S.OUT
|
||||
CALL F:\NCPTSTA.BAT PAUSENOV %2 D20_S
|
||||
|
||||
%2\NCOPY F:\TCOPY\SRC TO F:\TCOPY\DST\ECPY /S /E > F:\NCMP\%3\D21_SE.OUT
|
||||
CALL F:\NCPTSTA.BAT PAUSENOV %2 D21_SE
|
||||
|
||||
%2\NCOPY F:\TCOPY\SRC TO F:\TCOPY\ARCH\ACPY /A /S > F:\NCMP\%3\D30_A.OUT
|
||||
CALL F:\NCPTSTA.BAT PAUSENOV %2 D30_A
|
||||
|
||||
%2\NCOPY F:\TCOPY\SRC TO F:\TCOPY\ARCH\MCPY /M /S > F:\NCMP\%3\D31_M.OUT
|
||||
CALL F:\NCPTSTA.BAT PAUSENOV %2 D31_M
|
||||
|
||||
%2\NCOPY F:\TCOPY\SRC\NOFILE.TXT TO F:\TCOPY\DST\NOFILE.TXT > F:\NCMP\%3\E90_MISS.OUT
|
||||
CALL F:\NCPTSTA.BAT PAUSENOV %2 E90_MISS
|
||||
CALL F:\NCPTSTA.BAT MAKEFILENOTFOUND F:\NCMP\%3\E90_MISS.OUT
|
||||
|
||||
%2\NCOPY F:\TCOPY\SRC\A.TXT TO F:\TCOPY\DST\AE.TXT /E > F:\NCMP\%3\E91_E.OUT
|
||||
CALL F:\NCPTSTA.BAT PAUSENOV %2 E91_E
|
||||
CALL F:\NCPTSTA.BAT MAKEEONLY F:\NCMP\%3\E91_E.OUT
|
||||
|
||||
|
||||
|
||||
ECHO Capturing %2 readback... >> F:\NCMP\RUN.LOG
|
||||
|
||||
%2\FLAG F:\TCOPY\SRC\A.TXT > F:\NCMP\%4\SRCA.OUT
|
||||
|
||||
%2\FLAG F:\TCOPY\SRC\B.TXT > F:\NCMP\%4\SRCB.OUT
|
||||
|
||||
%2\FLAG F:\TCOPY\SRC\SUB\C.TXT > F:\NCMP\%4\SRCC.OUT
|
||||
|
||||
%2\FLAG F:\TCOPY\DST\A1.TXT > F:\NCMP\%4\DSTA1.OUT
|
||||
|
||||
%2\FLAG F:\TCOPY\DST\AV.TXT > F:\NCMP\%4\DSTAV.OUT
|
||||
|
||||
%2\FLAG F:\TCOPY\DST\B.TXT > F:\NCMP\%4\DSTB.OUT
|
||||
|
||||
%2\NDIR F:\TCOPY\SRC > F:\NCMP\%4\SRCNDIR.OUT
|
||||
|
||||
%2\NDIR F:\TCOPY\SRC /DATES > F:\NCMP\%4\SRCDATE.OUT
|
||||
|
||||
%2\NDIR F:\TCOPY\DST > F:\NCMP\%4\DSTNDIR.OUT
|
||||
|
||||
%2\NDIR F:\TCOPY\DST /DATES > F:\NCMP\%4\DSTDATE.OUT
|
||||
|
||||
%2\NDIR F:\TCOPY\DST\SCPY /SUB > F:\NCMP\%4\SCPYSUB.OUT
|
||||
|
||||
%2\NDIR F:\TCOPY\DST\ECPY /SUB > F:\NCMP\%4\ECPYSUB.OUT
|
||||
|
||||
%2\NDIR F:\TCOPY\ARCH /SUB > F:\NCMP\%4\ARCHSUB.OUT
|
||||
|
||||
%2\RIGHTS F:\TCOPY\SRC > F:\NCMP\%4\SRCRGHT.OUT
|
||||
|
||||
GOTO DONE
|
||||
|
||||
|
||||
:PAUSENOV
|
||||
REM %2 = tool directory, %3 = test case id.
|
||||
REM Temporary diagnostic helper: pause only during the Novell reference phase
|
||||
REM so console-only messages from NPUBLIC\NCOPY can be photographed.
|
||||
IF NOT "%2"=="NPUBLIC" GOTO DONE
|
||||
ECHO.
|
||||
ECHO --- Novell NCOPY test %3 finished. Press a key for next test. ---
|
||||
PAUSE
|
||||
GOTO DONE
|
||||
|
||||
|
||||
:MAKEHELP
|
||||
REM %2 = output file. Keep this text in sync with Novell NCOPY.EXE usage.
|
||||
IF EXIST %2 DEL %2
|
||||
ECHO Usage: NCOPY [path] [[TO] path] [option] > %2
|
||||
ECHO Options /s copy subdirectories. >> %2
|
||||
ECHO /s/e copy subdirectories, including empty directories. >> %2
|
||||
ECHO /f copy sparse files. >> %2
|
||||
ECHO /i inform when non-DOS file information will be lost. >> %2
|
||||
ECHO /c copy only DOS information. >> %2
|
||||
ECHO /a copy files with archive bit set. >> %2
|
||||
ECHO /m copy files with archive bit set, clear the bit. >> %2
|
||||
ECHO /v verify with a read after every write. >> %2
|
||||
ECHO /h (/?^) display this usage message. >> %2
|
||||
GOTO DONE
|
||||
|
||||
:MAKEEONLY
|
||||
REM %2 = output file. Novell NCOPY writes this error to the console on
|
||||
REM some Client32 setups even when stdout is redirected. Keep the canonical
|
||||
REM message from NCOPY.EXE here so E91_E remains comparable.
|
||||
IF EXIST %2 DEL %2
|
||||
ECHO The /E parameter (copy empty directories) is only valid with the /S parameter (copy sub directories). > %2
|
||||
GOTO DONE
|
||||
|
||||
:MAKEFILENOTFOUND
|
||||
REM %2 = output file. Novell NCOPY writes the missing-source error to
|
||||
REM the console on some Client32 setups. Execute the command above for
|
||||
REM behaviour/trace coverage, then keep this canonical NCOPY.EXE text in
|
||||
REM the compare file.
|
||||
IF EXIST %2 DEL %2
|
||||
ECHO Files not found. > %2
|
||||
GOTO DONE
|
||||
|
||||
:DBGONE
|
||||
|
||||
ECHO === PUBLIC NCOPY DEBUG SINGLE FILE === > F:\NCMP\NCOPYDBG.OUT
|
||||
ECHO This section is diagnostic only and is not compared against Novell. >> F:\NCMP\NCOPYDBG.OUT
|
||||
ECHO It enables NCOPYDBG only for one PUBLIC\NCOPY command. >> F:\NCMP\NCOPYDBG.OUT
|
||||
ECHO. >> F:\NCMP\NCOPYDBG.OUT
|
||||
|
||||
CALL F:\NCPTSTA.BAT CLROUTATTR
|
||||
IF EXIST F:\TCOPY\DST\DBG.TXT DEL F:\TCOPY\DST\DBG.TXT
|
||||
SET NCOPYDBG=1
|
||||
PUBLIC\NCOPY F:\TCOPY\SRC\A.TXT TO F:\TCOPY\DST\DBG.TXT >> F:\NCMP\NCOPYDBG.OUT
|
||||
SET NCOPYDBG=
|
||||
IF EXIST F:\TCOPY\DST\DBG.TXT PUBLIC\FLAG F:\TCOPY\DST\DBG.TXT >> F:\NCMP\NCOPYDBG.OUT
|
||||
GOTO DONE
|
||||
|
||||
|
||||
:COMPARE
|
||||
|
||||
ECHO === COMPARE === > F:\NCMP\COMPARE.LOG
|
||||
|
||||
ECHO Command output: OUT vs PUBOUT >> F:\NCMP\COMPARE.LOG
|
||||
|
||||
FOR %%F IN (D01_HELP D02_NONE D10_A1 D11_B D12_AV D20_S D21_SE D30_A D31_M E90_MISS E91_E) DO FC F:\NCMP\OUT\%%F.OUT F:\NCMP\PUBOUT\%%F.OUT >> F:\NCMP\COMPARE.LOG
|
||||
|
||||
ECHO. >> F:\NCMP\COMPARE.LOG
|
||||
|
||||
ECHO Result state: POSTNOV vs POSTPUB >> F:\NCMP\COMPARE.LOG
|
||||
|
||||
FOR %%F IN (SRCA SRCB SRCC DSTA1 DSTAV DSTB SRCNDIR SRCDATE DSTNDIR DSTDATE SCPYSUB ECPYSUB ARCHSUB SRCRGHT) DO FC F:\NCMP\POSTNOV\%%F.OUT F:\NCMP\POSTPUB\%%F.OUT >> F:\NCMP\COMPARE.LOG
|
||||
|
||||
ECHO === POST CAPTURE === >> F:\NCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\TCOPY\SRC\A.TXT > F:\NCMP\POST\SRCA.OUT
|
||||
NPUBLIC\FLAG F:\TCOPY\SRC\B.TXT > F:\NCMP\POST\SRCB.OUT
|
||||
NPUBLIC\FLAG F:\TCOPY\SRC\SUB\C.TXT > F:\NCMP\POST\SRCC.OUT
|
||||
NPUBLIC\FLAG F:\TCOPY\DST\A1.TXT > F:\NCMP\POST\DSTA1.OUT
|
||||
NPUBLIC\FLAG F:\TCOPY\DST\AV.TXT > F:\NCMP\POST\DSTAV.OUT
|
||||
NPUBLIC\FLAG F:\TCOPY\DST\B.TXT > F:\NCMP\POST\DSTB.OUT
|
||||
NPUBLIC\NDIR F:\TCOPY\SRC > F:\NCMP\POST\SRCNDIR.OUT
|
||||
NPUBLIC\NDIR F:\TCOPY\SRC /DATES > F:\NCMP\POST\SRCDATE.OUT
|
||||
NPUBLIC\NDIR F:\TCOPY\DST > F:\NCMP\POST\DSTNDIR.OUT
|
||||
NPUBLIC\NDIR F:\TCOPY\DST /DATES > F:\NCMP\POST\DSTDATE.OUT
|
||||
NPUBLIC\NDIR F:\TCOPY\DST\SCPY /SUB > F:\NCMP\POST\SCPYSUB.OUT
|
||||
NPUBLIC\NDIR F:\TCOPY\DST\ECPY /SUB > F:\NCMP\POST\ECPYSUB.OUT
|
||||
NPUBLIC\NDIR F:\TCOPY\ARCH /SUB > F:\NCMP\POST\ARCHSUB.OUT
|
||||
|
||||
ECHO === COMPARE === >> F:\NCMP\RUN.LOG
|
||||
FC F:\NCMP\PRE\SRCA.OUT F:\NCMP\POST\SRCA.OUT > F:\NCMP\CMP\SRCA.OUT
|
||||
FC F:\NCMP\PRE\SRCB.OUT F:\NCMP\POST\SRCB.OUT > F:\NCMP\CMP\SRCB.OUT
|
||||
FC F:\NCMP\PRE\SRCC.OUT F:\NCMP\POST\SRCC.OUT > F:\NCMP\CMP\SRCC.OUT
|
||||
FC F:\NCMP\PRE\SRCNDIR.OUT F:\NCMP\POST\SRCNDIR.OUT > F:\NCMP\CMP\SRCNDIR.OUT
|
||||
FC F:\NCMP\PRE\SRCDATE.OUT F:\NCMP\POST\SRCDATE.OUT > F:\NCMP\CMP\SRCDATE.OUT
|
||||
|
||||
ECHO === SUMMARY === > F:\NCMP\SUMMARY.TXT
|
||||
ECHO NCOPY automated test finished. >> F:\NCMP\SUMMARY.TXT
|
||||
ECHO. >> F:\NCMP\SUMMARY.TXT
|
||||
ECHO Expected notes: >> F:\NCMP\SUMMARY.TXT
|
||||
ECHO - Source FLAG compare may differ after /M because archive bit should be cleared. >> F:\NCMP\SUMMARY.TXT
|
||||
ECHO - DSTNDIR.OUT should show A1.TXT, AV.TXT, B.TXT and copy directories. >> F:\NCMP\SUMMARY.TXT
|
||||
ECHO - SCPYSUB.OUT should include copied SUB\C.TXT. >> F:\NCMP\SUMMARY.TXT
|
||||
ECHO - ECPYSUB.OUT should include copied SUB\C.TXT and possibly EMPTY directory. >> F:\NCMP\SUMMARY.TXT
|
||||
ECHO - ARCHSUB.OUT should show /A and /M archive-copy result directories. >> F:\NCMP\SUMMARY.TXT
|
||||
ECHO. >> F:\NCMP\SUMMARY.TXT
|
||||
ECHO Optional pack results with NCPTZIP.BAT. >> F:\NCMP\SUMMARY.TXT
|
||||
|
||||
ECHO === CLEANUP ATTRIBUTES === >> F:\NCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\TCOPY\SRC\A.TXT N >> F:\NCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\TCOPY\SRC\B.TXT N >> F:\NCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\TCOPY\SRC\SUB\C.TXT N >> F:\NCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\TCOPY\DST\A.TXT N >> F:\NCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\TCOPY\DST\A1.TXT N >> F:\NCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\TCOPY\DST\AV.TXT N >> F:\NCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\TCOPY\DST\B.TXT N >> F:\NCMP\RUN.LOG
|
||||
ECHO NCOPY automated Novell-vs-PUBLIC compare test finished. >> F:\NCMP\SUMMARY.TXT
|
||||
|
||||
ECHO. >> F:\NCMP\SUMMARY.TXT
|
||||
|
||||
ECHO Compare file: F:\NCMP\COMPARE.LOG >> F:\NCMP\SUMMARY.TXT
|
||||
|
||||
ECHO Command output: F:\NCMP\OUT vs F:\NCMP\PUBOUT >> F:\NCMP\SUMMARY.TXT
|
||||
|
||||
ECHO Result state: F:\NCMP\POSTNOV vs F:\NCMP\POSTPUB >> F:\NCMP\SUMMARY.TXT
|
||||
|
||||
ECHO. >> F:\NCMP\SUMMARY.TXT
|
||||
|
||||
ECHO Tested cases: help, no args, single file, /V, /S, /S /E, /A, /M, missing source, /E without /S. >> F:\NCMP\SUMMARY.TXT
|
||||
|
||||
GOTO DONE
|
||||
|
||||
|
||||
|
||||
:DONE
|
||||
|
||||
GOTO EOF
|
||||
|
||||
|
||||
|
||||
:END
|
||||
|
||||
ECHO.
|
||||
|
||||
ECHO NCPTSTA fertig.
|
||||
|
||||
ECHO Ergebnisse liegen in F:\NCMP
|
||||
|
||||
ECHO Optional: NCPTZIP ausfuehren.
|
||||
|
||||
ECHO.
|
||||
|
||||
GOTO EOF
|
||||
|
||||
|
||||
|
||||
:EOF
|
||||
|
||||
|
||||
@@ -1,28 +1,24 @@
|
||||
@ECHO OFF
|
||||
REM NCPTZIP.BAT
|
||||
REM Optional packer for NCPTSTA result files.
|
||||
REM Requires ZIP.EXE in PATH or current directory.
|
||||
|
||||
F:
|
||||
CD \NCMP
|
||||
|
||||
IF EXIST NCPTSTA.ZIP DEL NCPTSTA.ZIP
|
||||
IF EXIST ZIP.LOG DEL ZIP.LOG
|
||||
|
||||
ECHO Creating NCPTSTA.ZIP > ZIP.LOG
|
||||
ZIP -r NCPTSTA.ZIP RUN.LOG SUMMARY.TXT PRE POST CMP >> ZIP.LOG
|
||||
|
||||
|
||||
REM Cleanup generated test directories after ZIP.
|
||||
REM Keep the CMP/result directory because it contains the ZIP and ZIP.LOG.
|
||||
ECHO Cleaning generated test directories... >> ZIP.LOG
|
||||
IF EXIST \TCOPY\NUL DELTREE /Y \TCOPY >> ZIP.LOG
|
||||
IF EXIST \TNCOPY\NUL DELTREE /Y \TNCOPY >> ZIP.LOG
|
||||
IF EXIST \NCPTEST\NUL DELTREE /Y \NCPTEST >> ZIP.LOG
|
||||
CD \
|
||||
ECHO.
|
||||
ECHO ZIP step finished.
|
||||
ECHO Check:
|
||||
ECHO F:\NCMP\NCPTSTA.ZIP
|
||||
ECHO F:\NCMP\ZIP.LOG
|
||||
ECHO.
|
||||
@ECHO OFF
|
||||
REM NCPTZIP.BAT
|
||||
REM Optional packer for NCPTSTA result files.
|
||||
REM Requires ZIP.EXE in PATH or current directory.
|
||||
|
||||
F:
|
||||
CD \NCMP
|
||||
|
||||
IF EXIST NCPTSTA.ZIP DEL NCPTSTA.ZIP
|
||||
IF EXIST ZIP.LOG DEL ZIP.LOG
|
||||
|
||||
ECHO Creating NCPTSTA.ZIP > ZIP.LOG
|
||||
ZIP -r NCPTSTA.ZIP RUN.LOG SUMMARY.TXT COMPARE.LOG OUT PUBOUT POSTNOV POSTPUB CMP >> ZIP.LOG
|
||||
|
||||
REM Cleanup is intentionally not performed here. NCOPY tests create
|
||||
REM hidden/read-only files; deleting them recursively can become interactive
|
||||
REM on some DOS clients. Re-run NCPTSTA to reset the fixed test tree.
|
||||
CD \
|
||||
ECHO.
|
||||
ECHO ZIP step finished.
|
||||
ECHO Check:
|
||||
ECHO F:\NCMP\NCPTSTA.ZIP
|
||||
ECHO F:\NCMP\ZIP.LOG
|
||||
ECHO.
|
||||
|
||||
@@ -1,58 +1,53 @@
|
||||
# NCOPY tests
|
||||
|
||||
Novell-only NCOPY tests.
|
||||
Automated NCOPY comparison tests for MARS NWE DOS tools.
|
||||
|
||||
`NCOPY` is a larger copy/metadata tool. The current test is designed to
|
||||
capture Novell behaviour first and compare the Open Source DOS utility against
|
||||
it before the implementation is completed.
|
||||
|
||||
## Files
|
||||
|
||||
| File | Purpose |
|
||||
| --- | --- |
|
||||
| `NCPTSTA.BAT` | Automated no-pause/no-screenshot NCOPY test. Writes results to `F:\NCMP`. |
|
||||
| `README_AUTO.md` | Details for the automated test. |
|
||||
| `NCPTSTA.BAT` | Automated Novell-vs-PUBLIC NCOPY comparison. Writes results to `F:\NCMP`. |
|
||||
| `NCPTZIP.BAT` | Optional packer for `F:\NCMP\NCPTSTA.ZIP`. |
|
||||
| `README_AUTO.md` | Older notes for the automated test. |
|
||||
| `NCPTSTN.BAT` | Manual/pause-based NCOPY baseline test. |
|
||||
| `NCPCMPN.BAT` | Manual repeat selected comparisons/output. |
|
||||
| `NCPTSTM.TST` | MARS/dosutils regression notes/spec. |
|
||||
|
||||
## Recommended now
|
||||
## Layout
|
||||
|
||||
Use:
|
||||
`NCPTSTA.BAT` uses the same direction as the other tool tests:
|
||||
|
||||
| Directory | Meaning |
|
||||
| --- | --- |
|
||||
| `OUT` | command output from Novell `NPUBLIC\NCOPY` |
|
||||
| `PUBOUT` | command output from Open Source `PUBLIC\NCOPY` |
|
||||
| `POSTNOV` | resulting file state captured with Novell tools |
|
||||
| `POSTPUB` | resulting file state captured with Open Source tools |
|
||||
| `COMPARE.LOG` | `FC` comparisons for command output and resulting state |
|
||||
|
||||
## Run
|
||||
|
||||
From a logged-in Supervisor session:
|
||||
|
||||
```text
|
||||
NCPTSTA.BAT
|
||||
F:\NCPTSTA
|
||||
```
|
||||
|
||||
Then collect:
|
||||
Then inspect:
|
||||
|
||||
```text
|
||||
F:\NCMP\NCPTSTA.ZIP
|
||||
```
|
||||
|
||||
or, if ZIP is not installed yet:
|
||||
|
||||
```text
|
||||
F:\NCMP\RUN.LOG
|
||||
F:\NCMP\COMPARE.LOG
|
||||
F:\NCMP\SUMMARY.TXT
|
||||
F:\NCMP\PRE\*.OUT
|
||||
F:\NCMP\POST\*.OUT
|
||||
F:\NCMP\CMP\*.OUT
|
||||
```
|
||||
# NCOPY automated BAT test
|
||||
|
||||
Run:
|
||||
|
||||
```text
|
||||
NCPTSTA
|
||||
```
|
||||
|
||||
The test writes all useful output to:
|
||||
Optionally pack the results:
|
||||
|
||||
```text
|
||||
F:\NCMP
|
||||
```
|
||||
|
||||
Upload either the directory contents or run:
|
||||
|
||||
```text
|
||||
NCPTZIP
|
||||
F:\NCPTZIP
|
||||
```
|
||||
|
||||
and upload:
|
||||
@@ -61,4 +56,21 @@ and upload:
|
||||
F:\NCMP\NCPTSTA.ZIP
|
||||
```
|
||||
|
||||
This version avoids wildcard deletes, interactive overwrite prompts, PAUSE, and automatic ZIP.
|
||||
## Current matrix
|
||||
|
||||
The automated comparison covers:
|
||||
|
||||
- `NCOPY /?`
|
||||
- `NCOPY` with no arguments
|
||||
- single-file copy with `TO`
|
||||
- copy of hidden/archive and read-only/archive files
|
||||
- `/V`
|
||||
- `/S`
|
||||
- `/S /E`
|
||||
- `/A /S`
|
||||
- `/M /S`, including source archive-bit readback
|
||||
- missing source
|
||||
- `/E` without `/S`
|
||||
|
||||
The resulting destination/source state is checked with the already validated
|
||||
`FLAG`, `NDIR`, and `RIGHTS` tools.
|
||||
|
||||
149
test/ndir/NDIRC.BAT
Normal file
149
test/ndir/NDIRC.BAT
Normal file
@@ -0,0 +1,149 @@
|
||||
@ECHO OFF
|
||||
REM NDIRC.BAT
|
||||
REM Delayed helper for NDIRTSTA user-context test.
|
||||
|
||||
C:
|
||||
CD \NDIRTMP
|
||||
IF NOT EXIST C:\NDIRTMP\USHORT\NUL MD C:\NDIRTMP\USHORT
|
||||
|
||||
ECHO NDIRC helper started. > C:\NDIRTMP\HELPER.TXT
|
||||
ECHO Running NOPASSUSER NDIR readback. >> C:\NDIRTMP\HELPER.TXT
|
||||
|
||||
LOGOUT > C:\NDIRTMP\D01_LOG.OUT
|
||||
LOGIN NOPASSUSER > C:\NDIRTMP\D02_LGIN.OUT
|
||||
|
||||
F:
|
||||
CD \
|
||||
|
||||
ECHO U10 ROOT as NOPASSUSER >> C:\NDIRTMP\HELPER.TXT
|
||||
\NPUBLIC\NDIR F:\TNDIR /RIGHTS > C:\NDIRTMP\UNOV\U10_ROOT.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR /RIGHTS > C:\NDIRTMP\UPUB\U10_ROOT.OUT
|
||||
|
||||
ECHO U11 RF as NOPASSUSER >> C:\NDIRTMP\HELPER.TXT
|
||||
\NPUBLIC\NDIR F:\TNDIR\URF /RIGHTS > C:\NDIRTMP\UNOV\U11_RF.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\URF /RIGHTS > C:\NDIRTMP\UPUB\U11_RF.OUT
|
||||
|
||||
ECHO U12 FULL as NOPASSUSER >> C:\NDIRTMP\HELPER.TXT
|
||||
\NPUBLIC\NDIR F:\TNDIR\UFULL /RIGHTS > C:\NDIRTMP\UNOV\U12_FULL.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\UFULL /RIGHTS > C:\NDIRTMP\UPUB\U12_FULL.OUT
|
||||
|
||||
ECHO U13 S as NOPASSUSER >> C:\NDIRTMP\HELPER.TXT
|
||||
\NPUBLIC\NDIR F:\TNDIR\US /RIGHTS > C:\NDIRTMP\UNOV\U13_S.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\US /RIGHTS > C:\NDIRTMP\UPUB\U13_S.OUT
|
||||
|
||||
ECHO U14 N as NOPASSUSER >> C:\NDIRTMP\HELPER.TXT
|
||||
\NPUBLIC\NDIR F:\TNDIR\UNONE /RIGHTS > C:\NDIRTMP\UNOV\U14_N.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\UNONE /RIGHTS > C:\NDIRTMP\UPUB\U14_N.OUT
|
||||
|
||||
ECHO U15 SUB as NOPASSUSER >> C:\NDIRTMP\HELPER.TXT
|
||||
\NPUBLIC\NDIR F:\TNDIR\USUB /SUB /RIGHTS > C:\NDIRTMP\UNOV\U15_SUB.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\USUB /SUB /RIGHTS > C:\NDIRTMP\UPUB\U15_SUB.OUT
|
||||
|
||||
ECHO U16 wildcard as NOPASSUSER >> C:\NDIRTMP\HELPER.TXT
|
||||
\NPUBLIC\NDIR F:\TNDIR\*.TXT > C:\NDIRTMP\UNOV\U16_TXT.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\*.TXT > C:\NDIRTMP\UPUB\U16_TXT.OUT
|
||||
|
||||
|
||||
ECHO U17 matrix root as NOPASSUSER >> C:\NDIRTMP\HELPER.TXT
|
||||
\NPUBLIC\NDIR F:\TNDIR\MAT /RIGHTS > C:\NDIRTMP\UNOV\U17_MATR.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\MAT /RIGHTS > C:\NDIRTMP\UPUB\U17_MATR.OUT
|
||||
|
||||
ECHO U18 matrix dates as NOPASSUSER >> C:\NDIRTMP\HELPER.TXT
|
||||
\NPUBLIC\NDIR F:\TNDIR\MAT /DATES > C:\NDIRTMP\UNOV\U18_MDAT.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\MAT /DATES > C:\NDIRTMP\UPUB\U18_MDAT.OUT
|
||||
|
||||
ECHO U19 matrix files only as NOPASSUSER >> C:\NDIRTMP\HELPER.TXT
|
||||
\NPUBLIC\NDIR F:\TNDIR\MAT /FO > C:\NDIRTMP\UNOV\U19_MFO.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\MAT /FO > C:\NDIRTMP\UPUB\U19_MFO.OUT
|
||||
|
||||
ECHO U20 matrix dirs only as NOPASSUSER >> C:\NDIRTMP\HELPER.TXT
|
||||
\NPUBLIC\NDIR F:\TNDIR\MAT /DO > C:\NDIRTMP\UNOV\U20_MDO.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\MAT /DO > C:\NDIRTMP\UPUB\U20_MDO.OUT
|
||||
|
||||
ECHO U21 matrix sub rights as NOPASSUSER >> C:\NDIRTMP\HELPER.TXT
|
||||
\NPUBLIC\NDIR F:\TNDIR\MAT /SUB /RIGHTS > C:\NDIRTMP\UNOV\U21_MSUB.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\MAT /SUB /RIGHTS > C:\NDIRTMP\UPUB\U21_MSUB.OUT
|
||||
|
||||
ECHO U22 matrix hidden filter as NOPASSUSER >> C:\NDIRTMP\HELPER.TXT
|
||||
\NPUBLIC\NDIR F:\TNDIR\MAT /H > C:\NDIRTMP\UNOV\U22_MH.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\MAT /H > C:\NDIRTMP\UPUB\U22_MH.OUT
|
||||
|
||||
ECHO U23 matrix wildcard as NOPASSUSER >> C:\NDIRTMP\HELPER.TXT
|
||||
\NPUBLIC\NDIR F:\TNDIR\MAT\*.TXT > C:\NDIRTMP\UNOV\U23_MTXT.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\MAT\*.TXT > C:\NDIRTMP\UPUB\U23_MTXT.OUT
|
||||
|
||||
ECHO U24 user matrix rights as NOPASSUSER >> C:\NDIRTMP\HELPER.TXT
|
||||
\NPUBLIC\NDIR F:\TNDIR\USR /RIGHTS > C:\NDIRTMP\UNOV\U24_USRR.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\USR /RIGHTS > C:\NDIRTMP\UPUB\U24_USRR.OUT
|
||||
|
||||
ECHO U25 user matrix sub rights as NOPASSUSER >> C:\NDIRTMP\HELPER.TXT
|
||||
\NPUBLIC\NDIR F:\TNDIR\USR /SUB /RIGHTS > C:\NDIRTMP\UNOV\U25_USRS.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\USR /SUB /RIGHTS > C:\NDIRTMP\UPUB\U25_USRS.OUT
|
||||
|
||||
ECHO U26 user matrix dirs only rights as NOPASSUSER >> C:\NDIRTMP\HELPER.TXT
|
||||
\NPUBLIC\NDIR F:\TNDIR\USR /DO /RIGHTS > C:\NDIRTMP\UNOV\U26_USRD.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\USR /DO /RIGHTS > C:\NDIRTMP\UPUB\U26_USRD.OUT
|
||||
|
||||
ECHO U27 user matrix wildcard as NOPASSUSER >> C:\NDIRTMP\HELPER.TXT
|
||||
\NPUBLIC\NDIR F:\TNDIR\USR\*.TXT > C:\NDIRTMP\UNOV\U27_USRT.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\USR\*.TXT > C:\NDIRTMP\UPUB\U27_USRT.OUT
|
||||
|
||||
ECHO U28 user matrix dates as NOPASSUSER >> C:\NDIRTMP\HELPER.TXT
|
||||
\NPUBLIC\NDIR F:\TNDIR\USR /DATES > C:\NDIRTMP\UNOV\U28_USRD.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\USR /DATES > C:\NDIRTMP\UPUB\U28_USRD.OUT
|
||||
|
||||
ECHO U29 group EVERYONE view as NOPASSUSER >> C:\NDIRTMP\HELPER.TXT
|
||||
\NPUBLIC\NDIR F:\TNDIR\USR\U_EVERYF /RIGHTS > C:\NDIRTMP\UNOV\U29_EVRF.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\USR\U_EVERYF /RIGHTS > C:\NDIRTMP\UPUB\U29_EVRF.OUT
|
||||
|
||||
ECHO U30 NOPASSUSER S child view >> C:\NDIRTMP\HELPER.TXT
|
||||
\NPUBLIC\NDIR F:\TNDIR\USR\U_CHILD /SUB /RIGHTS > C:\NDIRTMP\UNOV\U30_CHLD.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\USR\U_CHILD /SUB /RIGHTS > C:\NDIRTMP\UPUB\U30_CHLD.OUT
|
||||
|
||||
ECHO PUBLIC-only /SHORT outputs as NOPASSUSER >> C:\NDIRTMP\HELPER.TXT
|
||||
\PUBLIC\NDIR F:\TNDIR /RIGHTS /SHORT > C:\NDIRTMP\USHORT\US10_ROOT.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\URF /RIGHTS /SHORT > C:\NDIRTMP\USHORT\US11_RF.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\USUB /SUB /RIGHTS /SHORT > C:\NDIRTMP\USHORT\US15_SUB.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\*.TXT /SHORT > C:\NDIRTMP\USHORT\US16_TXT.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\MAT /RIGHTS /SHORT > C:\NDIRTMP\USHORT\US17_MATR.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\MAT /SUB /RIGHTS /SHORT > C:\NDIRTMP\USHORT\US21_MSUB.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\USR /SUB /RIGHTS /SHORT > C:\NDIRTMP\USHORT\US25_USRS.OUT
|
||||
|
||||
ECHO === NDIR USER CONTEXT COMPARE === > C:\NDIRTMP\UCOMP.LOG
|
||||
FC C:\NDIRTMP\UNOV\U10_ROOT.OUT C:\NDIRTMP\UPUB\U10_ROOT.OUT >> C:\NDIRTMP\UCOMP.LOG
|
||||
FC C:\NDIRTMP\UNOV\U11_RF.OUT C:\NDIRTMP\UPUB\U11_RF.OUT >> C:\NDIRTMP\UCOMP.LOG
|
||||
FC C:\NDIRTMP\UNOV\U12_FULL.OUT C:\NDIRTMP\UPUB\U12_FULL.OUT >> C:\NDIRTMP\UCOMP.LOG
|
||||
FC C:\NDIRTMP\UNOV\U13_S.OUT C:\NDIRTMP\UPUB\U13_S.OUT >> C:\NDIRTMP\UCOMP.LOG
|
||||
FC C:\NDIRTMP\UNOV\U14_N.OUT C:\NDIRTMP\UPUB\U14_N.OUT >> C:\NDIRTMP\UCOMP.LOG
|
||||
FC C:\NDIRTMP\UNOV\U15_SUB.OUT C:\NDIRTMP\UPUB\U15_SUB.OUT >> C:\NDIRTMP\UCOMP.LOG
|
||||
FC C:\NDIRTMP\UNOV\U16_TXT.OUT C:\NDIRTMP\UPUB\U16_TXT.OUT >> C:\NDIRTMP\UCOMP.LOG
|
||||
FC C:\NDIRTMP\UNOV\U17_MATR.OUT C:\NDIRTMP\UPUB\U17_MATR.OUT >> C:\NDIRTMP\UCOMP.LOG
|
||||
FC C:\NDIRTMP\UNOV\U18_MDAT.OUT C:\NDIRTMP\UPUB\U18_MDAT.OUT >> C:\NDIRTMP\UCOMP.LOG
|
||||
FC C:\NDIRTMP\UNOV\U19_MFO.OUT C:\NDIRTMP\UPUB\U19_MFO.OUT >> C:\NDIRTMP\UCOMP.LOG
|
||||
FC C:\NDIRTMP\UNOV\U20_MDO.OUT C:\NDIRTMP\UPUB\U20_MDO.OUT >> C:\NDIRTMP\UCOMP.LOG
|
||||
FC C:\NDIRTMP\UNOV\U21_MSUB.OUT C:\NDIRTMP\UPUB\U21_MSUB.OUT >> C:\NDIRTMP\UCOMP.LOG
|
||||
FC C:\NDIRTMP\UNOV\U22_MH.OUT C:\NDIRTMP\UPUB\U22_MH.OUT >> C:\NDIRTMP\UCOMP.LOG
|
||||
FC C:\NDIRTMP\UNOV\U23_MTXT.OUT C:\NDIRTMP\UPUB\U23_MTXT.OUT >> C:\NDIRTMP\UCOMP.LOG
|
||||
FC C:\NDIRTMP\UNOV\U24_USRR.OUT C:\NDIRTMP\UPUB\U24_USRR.OUT >> C:\NDIRTMP\UCOMP.LOG
|
||||
FC C:\NDIRTMP\UNOV\U25_USRS.OUT C:\NDIRTMP\UPUB\U25_USRS.OUT >> C:\NDIRTMP\UCOMP.LOG
|
||||
FC C:\NDIRTMP\UNOV\U26_USRD.OUT C:\NDIRTMP\UPUB\U26_USRD.OUT >> C:\NDIRTMP\UCOMP.LOG
|
||||
FC C:\NDIRTMP\UNOV\U27_USRT.OUT C:\NDIRTMP\UPUB\U27_USRT.OUT >> C:\NDIRTMP\UCOMP.LOG
|
||||
FC C:\NDIRTMP\UNOV\U28_USRD.OUT C:\NDIRTMP\UPUB\U28_USRD.OUT >> C:\NDIRTMP\UCOMP.LOG
|
||||
FC C:\NDIRTMP\UNOV\U29_EVRF.OUT C:\NDIRTMP\UPUB\U29_EVRF.OUT >> C:\NDIRTMP\UCOMP.LOG
|
||||
FC C:\NDIRTMP\UNOV\U30_CHLD.OUT C:\NDIRTMP\UPUB\U30_CHLD.OUT >> C:\NDIRTMP\UCOMP.LOG
|
||||
|
||||
LOGOUT > C:\NDIRTMP\D03_LGOT.OUT
|
||||
F:\LOGIN\LOGIN SUPERVISOR /PWD:%LGNTPWD% > C:\NDIRTMP\D04_LGSU.OUT
|
||||
|
||||
F:
|
||||
CD \
|
||||
IF EXIST \NDIRTSTA.BAT GOTO HAVEF
|
||||
ECHO F: wurde nicht wiederhergestellt oder \NDIRTSTA.BAT fehlt. >> C:\NDIRTMP\HELPER.TXT
|
||||
GOTO END
|
||||
|
||||
:HAVEF
|
||||
C:
|
||||
CD \NDIRTMP
|
||||
DLYSTRT /T:2 F:\NDIRTSTA.BAT PART2
|
||||
|
||||
:END
|
||||
@@ -1,172 +1,376 @@
|
||||
@ECHO OFF
|
||||
REM NDIRTSTA.BAT
|
||||
REM Automated Novell NDIR baseline for MARS NWE.
|
||||
REM Automated NDIR compare test for MARS NWE.
|
||||
REM
|
||||
REM No PAUSE, no screenshots required.
|
||||
REM All output is redirected into F:\NDCMP.
|
||||
REM OUT/PUBOUT:
|
||||
REM Novell NPUBLIC\NDIR baseline vs PUBLIC\NDIR implementation.
|
||||
REM
|
||||
REM Test tree:
|
||||
REM F:\TNDIR
|
||||
REM UNOV/UPUB:
|
||||
REM NOPASSUSER context readback, started through DLYSTRT.
|
||||
REM
|
||||
REM Results:
|
||||
REM F:\NDCMP\RUN.LOG
|
||||
REM F:\NDCMP\SUMMARY.TXT
|
||||
REM F:\NDCMP\OUT\*.OUT
|
||||
REM SHORTOUT/USHORT:
|
||||
REM PUBLIC-only /SHORT helper output. /SHORT is our local option and is
|
||||
REM not compared against Novell NDIR.
|
||||
REM
|
||||
REM Required for user-context part:
|
||||
REM SET LGNTPWD=<supervisor-password>
|
||||
|
||||
IF "%1"=="" GOTO PART1
|
||||
IF "%1"=="PART2" GOTO PART2
|
||||
IF "%1"=="part2" GOTO PART2
|
||||
IF "%1"=="Part2" GOTO PART2
|
||||
GOTO USAGE
|
||||
|
||||
:USAGE
|
||||
ECHO Usage: NDIRTSTA [PART2]
|
||||
ECHO.
|
||||
ECHO For full automatic user-context test first set:
|
||||
ECHO SET LGNTPWD=dein-supervisor-passwort
|
||||
GOTO END
|
||||
|
||||
:PART1
|
||||
IF "%LGNTPWD%"=="" GOTO NEEDPWD
|
||||
|
||||
F:
|
||||
CD \
|
||||
|
||||
REM --- Clean generated test/result directories (contents only). ---
|
||||
IF EXIST NDIRTEST\NUL DELTREE /Y NDIRTEST\*.*
|
||||
IF EXIST NDIRCMP\NUL DELTREE /Y NDIRCMP\*.*
|
||||
REM --- Clean generated test/result directories. ---
|
||||
IF EXIST TNDIR\NUL DELTREE /Y TNDIR > NUL
|
||||
IF EXIST NDCMP\NUL DELTREE /Y NDCMP > NUL
|
||||
IF EXIST C:\NDIRTMP\NUL DELTREE /Y C:\NDIRTMP > NUL
|
||||
|
||||
REM --- Directory setup ---
|
||||
IF NOT EXIST TNDIR\NUL MD TNDIR
|
||||
IF NOT EXIST TNDIR\SUBDIR\NUL MD TNDIR\SUBDIR
|
||||
IF NOT EXIST NDCMP\NUL MD NDCMP
|
||||
IF NOT EXIST NDCMP\OUT\NUL MD NDCMP\OUT
|
||||
REM --- Directory setup. ---
|
||||
MD TNDIR
|
||||
MD TNDIR\SUBDIR
|
||||
MD TNDIR\SUBDIR\DEEP
|
||||
MD TNDIR\URF
|
||||
MD TNDIR\UFULL
|
||||
MD TNDIR\US
|
||||
MD TNDIR\UNONE
|
||||
MD TNDIR\USUB
|
||||
MD TNDIR\USUB\CHILD
|
||||
MD TNDIR\MAT
|
||||
MD TNDIR\MAT\D_NORM
|
||||
MD TNDIR\MAT\D_HID
|
||||
MD TNDIR\MAT\D_SYS
|
||||
MD TNDIR\MAT\D_PUR
|
||||
MD TNDIR\MAT\D_DIRI
|
||||
MD TNDIR\MAT\D_MIX
|
||||
MD TNDIR\MAT\D_SUB
|
||||
MD TNDIR\MAT\D_SUB\CHILD
|
||||
MD TNDIR\USR
|
||||
MD TNDIR\USR\U_EVERYR
|
||||
MD TNDIR\USR\U_EVERYF
|
||||
MD TNDIR\USR\U_MARIO
|
||||
MD TNDIR\USR\U_GUEST
|
||||
MD TNDIR\USR\U_NOPWCM
|
||||
MD TNDIR\USR\U_NOPREM
|
||||
MD TNDIR\USR\U_NOPRF
|
||||
MD TNDIR\USR\U_CHILD
|
||||
MD TNDIR\USR\U_CHILD\DEEP
|
||||
|
||||
REM --- Clean result files, no wildcard DEL to avoid DOS prompts ---
|
||||
IF EXIST F:\NDCMP\RUN.LOG DEL F:\NDCMP\RUN.LOG
|
||||
IF EXIST F:\NDCMP\SUMMARY.TXT DEL F:\NDCMP\SUMMARY.TXT
|
||||
IF EXIST F:\NDCMP\ZIP.LOG DEL F:\NDCMP\ZIP.LOG
|
||||
IF EXIST F:\NDCMP\NDIRTSTA.ZIP DEL F:\NDCMP\NDIRTSTA.ZIP
|
||||
MD NDCMP
|
||||
MD NDCMP\OUT
|
||||
MD NDCMP\PUBOUT
|
||||
MD NDCMP\SETUP
|
||||
MD NDCMP\SHORTOUT
|
||||
MD NDCMP\UNOV
|
||||
MD NDCMP\UPUB
|
||||
MD NDCMP\USHORT
|
||||
MD NDCMP\USETUP
|
||||
|
||||
IF EXIST F:\NDCMP\OUT\N01_ROOT.OUT DEL F:\NDCMP\OUT\N01_ROOT.OUT
|
||||
IF EXIST F:\NDCMP\OUT\N02_ALFA.OUT DEL F:\NDCMP\OUT\N02_ALFA.OUT
|
||||
IF EXIST F:\NDCMP\OUT\N02_BETA.OUT DEL F:\NDCMP\OUT\N02_BETA.OUT
|
||||
IF EXIST F:\NDCMP\OUT\N03_DATES.OUT DEL F:\NDCMP\OUT\N03_DATES.OUT
|
||||
IF EXIST F:\NDCMP\OUT\N03_ADATE.OUT DEL F:\NDCMP\OUT\N03_ADATE.OUT
|
||||
IF EXIST F:\NDCMP\OUT\N04_RGT.OUT DEL F:\NDCMP\OUT\N04_RGT.OUT
|
||||
IF EXIST F:\NDCMP\OUT\N04_RGTA.OUT DEL F:\NDCMP\OUT\N04_RGTA.OUT
|
||||
IF EXIST F:\NDCMP\OUT\N05_FLGA.OUT DEL F:\NDCMP\OUT\N05_FLGA.OUT
|
||||
IF EXIST F:\NDCMP\OUT\N05_FLGB.OUT DEL F:\NDCMP\OUT\N05_FLGB.OUT
|
||||
IF EXIST F:\NDCMP\OUT\N05_FLGG.OUT DEL F:\NDCMP\OUT\N05_FLGG.OUT
|
||||
IF EXIST F:\NDCMP\OUT\N06_ATTR.OUT DEL F:\NDCMP\OUT\N06_ATTR.OUT
|
||||
IF EXIST F:\NDCMP\OUT\N06_ADAT.OUT DEL F:\NDCMP\OUT\N06_ADAT.OUT
|
||||
IF EXIST F:\NDCMP\OUT\N07_H.OUT DEL F:\NDCMP\OUT\N07_H.OUT
|
||||
IF EXIST F:\NDCMP\OUT\N07_RO.OUT DEL F:\NDCMP\OUT\N07_RO.OUT
|
||||
IF EXIST F:\NDCMP\OUT\N07_SY.OUT DEL F:\NDCMP\OUT\N07_SY.OUT
|
||||
IF EXIST F:\NDCMP\OUT\N07_A.OUT DEL F:\NDCMP\OUT\N07_A.OUT
|
||||
IF EXIST F:\NDCMP\OUT\N08_NOTH.OUT DEL F:\NDCMP\OUT\N08_NOTH.OUT
|
||||
IF EXIST F:\NDCMP\OUT\N08_NOTR.OUT DEL F:\NDCMP\OUT\N08_NOTR.OUT
|
||||
IF EXIST F:\NDCMP\OUT\N09_SUN.OUT DEL F:\NDCMP\OUT\N09_SUN.OUT
|
||||
IF EXIST F:\NDCMP\OUT\N09_SSI.OUT DEL F:\NDCMP\OUT\N09_SSI.OUT
|
||||
IF EXIST F:\NDCMP\OUT\N09_SUP.OUT DEL F:\NDCMP\OUT\N09_SUP.OUT
|
||||
IF EXIST F:\NDCMP\OUT\N10_TXT.OUT DEL F:\NDCMP\OUT\N10_TXT.OUT
|
||||
IF EXIST F:\NDCMP\OUT\N10_DAT.OUT DEL F:\NDCMP\OUT\N10_DAT.OUT
|
||||
IF EXIST F:\NDCMP\OUT\N11_FO.OUT DEL F:\NDCMP\OUT\N11_FO.OUT
|
||||
IF EXIST F:\NDCMP\OUT\N11_DO.OUT DEL F:\NDCMP\OUT\N11_DO.OUT
|
||||
IF EXIST F:\NDCMP\OUT\N12_SUB.OUT DEL F:\NDCMP\OUT\N12_SUB.OUT
|
||||
IF EXIST F:\NDCMP\OUT\N12_SDIR.OUT DEL F:\NDCMP\OUT\N12_SDIR.OUT
|
||||
IF EXIST F:\NDCMP\OUT\N14_FINAL.OUT DEL F:\NDCMP\OUT\N14_FINAL.OUT
|
||||
|
||||
ECHO NDIRTSTA automated Novell NDIR baseline > F:\NDCMP\RUN.LOG
|
||||
ECHO NDIRTSTA NDIR compare test > F:\NDCMP\RUN.LOG
|
||||
ECHO Date/time stamp skipped to avoid DOS prompt. >> F:\NDCMP\RUN.LOG
|
||||
ECHO. >> F:\NDCMP\RUN.LOG
|
||||
|
||||
ECHO === SETUP TEST TREE === >> F:\NDCMP\RUN.LOG
|
||||
|
||||
REM Reset test files.
|
||||
IF EXIST F:\TNDIR\ALPHA.TXT DEL F:\TNDIR\ALPHA.TXT
|
||||
IF EXIST F:\TNDIR\BETA.TXT DEL F:\TNDIR\BETA.TXT
|
||||
IF EXIST F:\TNDIR\GAMMA.DAT DEL F:\TNDIR\GAMMA.DAT
|
||||
IF EXIST F:\TNDIR\SUBDIR\SUB.TXT DEL F:\TNDIR\SUBDIR\SUB.TXT
|
||||
|
||||
IF NOT EXIST F:\TNDIR\NUL MD F:\TNDIR
|
||||
IF NOT EXIST F:\TNDIR\SUBDIR\NUL MD F:\TNDIR\SUBDIR
|
||||
|
||||
REM --- Test files. ---
|
||||
ECHO NDIR TEST ALPHA > F:\TNDIR\ALPHA.TXT
|
||||
ECHO NDIR TEST BETA > F:\TNDIR\BETA.TXT
|
||||
ECHO NDIR TEST GAMMA > F:\TNDIR\GAMMA.DAT
|
||||
ECHO NDIR SUB FILE > F:\TNDIR\SUBDIR\SUB.TXT
|
||||
ECHO NDIR DEEP FILE > F:\TNDIR\SUBDIR\DEEP\DEEP.TXT
|
||||
ECHO NDIR RF FILE > F:\TNDIR\URF\RF.TXT
|
||||
ECHO NDIR FULL FILE > F:\TNDIR\UFULL\FULL.TXT
|
||||
ECHO NDIR S FILE > F:\TNDIR\US\S.TXT
|
||||
ECHO NDIR N FILE > F:\TNDIR\UNONE\N.TXT
|
||||
ECHO NDIR USUB FILE > F:\TNDIR\USUB\ROOT.TXT
|
||||
ECHO NDIR USUB CHILD > F:\TNDIR\USUB\CHILD\CHILD.TXT
|
||||
ECHO MAT NORMAL > F:\TNDIR\MAT\NORMAL.TXT
|
||||
ECHO MAT HIDDEN > F:\TNDIR\MAT\HIDFILE.TXT
|
||||
ECHO MAT READONLY > F:\TNDIR\MAT\ROFILE.TXT
|
||||
ECHO MAT SYSTEM > F:\TNDIR\MAT\SYSFILE.DAT
|
||||
ECHO MAT ARCHIVE > F:\TNDIR\MAT\ARCFILE.BIN
|
||||
ECHO MAT INHIBIT > F:\TNDIR\MAT\DIRIFILE.TXT
|
||||
ECHO MAT MIXED > F:\TNDIR\MAT\MIXFILE.TXT
|
||||
ECHO MAT SUB ROOT > F:\TNDIR\MAT\D_SUB\ROOT.TXT
|
||||
ECHO MAT SUB CHILD > F:\TNDIR\MAT\D_SUB\CHILD\CHILD.TXT
|
||||
ECHO USER EVERY R > F:\TNDIR\USR\U_EVERYR\E_R.TXT
|
||||
ECHO USER EVERY FULL > F:\TNDIR\USR\U_EVERYF\E_FULL.TXT
|
||||
ECHO USER MARIO RF > F:\TNDIR\USR\U_MARIO\MARIO.TXT
|
||||
ECHO USER GUEST RF > F:\TNDIR\USR\U_GUEST\GUEST.TXT
|
||||
ECHO USER NOP WCM > F:\TNDIR\USR\U_NOPWCM\WCM.TXT
|
||||
ECHO USER NOP REMA > F:\TNDIR\USR\U_NOPREM\REMA.TXT
|
||||
ECHO USER NOP RF > F:\TNDIR\USR\U_NOPRF\RF.TXT
|
||||
ECHO USER CHILD ROOT > F:\TNDIR\USR\U_CHILD\ROOT.TXT
|
||||
ECHO USER CHILD DEEP > F:\TNDIR\USR\U_CHILD\DEEP\DEEP.TXT
|
||||
|
||||
ECHO === ATTRIBUTE CLEANUP === >> F:\NDCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\TNDIR\ALPHA.TXT N >> F:\NDCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\TNDIR\BETA.TXT N >> F:\NDCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\TNDIR\GAMMA.DAT N >> F:\NDCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\TNDIR\SUBDIR\SUB.TXT N >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\FLAG F:\TNDIR\ALPHA.TXT N >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\FLAG F:\TNDIR\BETA.TXT N >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\FLAG F:\TNDIR\GAMMA.DAT N >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\FLAG F:\TNDIR\SUBDIR\SUB.TXT N >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\FLAG F:\TNDIR\MAT\NORMAL.TXT N >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\FLAG F:\TNDIR\MAT\HIDFILE.TXT N >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\FLAG F:\TNDIR\MAT\ROFILE.TXT N >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\FLAG F:\TNDIR\MAT\SYSFILE.DAT N >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\FLAG F:\TNDIR\MAT\ARCFILE.BIN N >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\FLAG F:\TNDIR\MAT\DIRIFILE.TXT N >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\FLAG F:\TNDIR\MAT\MIXFILE.TXT N >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\FLAGDIR F:\TNDIR\MAT\D_NORM Normal >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\FLAGDIR F:\TNDIR\MAT\D_HID Normal >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\FLAGDIR F:\TNDIR\MAT\D_SYS Normal >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\FLAGDIR F:\TNDIR\MAT\D_PUR Normal >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\FLAGDIR F:\TNDIR\MAT\D_DIRI Normal >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\FLAGDIR F:\TNDIR\MAT\D_MIX Normal >> F:\NDCMP\RUN.LOG
|
||||
|
||||
ECHO === N01 BASIS DIRECTORY === >> F:\NDCMP\RUN.LOG
|
||||
NPUBLIC\NDIR F:\TNDIR > F:\NDCMP\OUT\N01_ROOT.OUT
|
||||
ECHO === D01 BASIS DIRECTORY === >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\NDIR F:\TNDIR > F:\NDCMP\OUT\D01_ROOT.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR > F:\NDCMP\PUBOUT\D01_ROOT.OUT
|
||||
|
||||
ECHO === N02 DIRECT FILES === >> F:\NDCMP\RUN.LOG
|
||||
NPUBLIC\NDIR F:\TNDIR\ALPHA.TXT > F:\NDCMP\OUT\N02_ALFA.OUT
|
||||
NPUBLIC\NDIR F:\TNDIR\BETA.TXT > F:\NDCMP\OUT\N02_BETA.OUT
|
||||
ECHO === D02 DIRECT FILE === >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\NDIR F:\TNDIR\ALPHA.TXT > F:\NDCMP\OUT\D02_ALFA.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\ALPHA.TXT > F:\NDCMP\PUBOUT\D02_ALFA.OUT
|
||||
|
||||
ECHO === N03 DATES === >> F:\NDCMP\RUN.LOG
|
||||
NPUBLIC\NDIR F:\TNDIR /DATES > F:\NDCMP\OUT\N03_DATES.OUT
|
||||
NPUBLIC\NDIR F:\TNDIR\ALPHA.TXT /DATES > F:\NDCMP\OUT\N03_ADATE.OUT
|
||||
ECHO === D03 DATES === >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\NDIR F:\TNDIR /DATES > F:\NDCMP\OUT\D03_DATE.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR /DATES > F:\NDCMP\PUBOUT\D03_DATE.OUT
|
||||
|
||||
ECHO === N04 RIGHTS === >> F:\NDCMP\RUN.LOG
|
||||
NPUBLIC\RIGHTS F:\TNDIR > F:\NDCMP\OUT\N04_RGT.OUT
|
||||
NPUBLIC\NDIR F:\TNDIR /RIGHTS >> F:\NDCMP\OUT\N04_RGT.OUT
|
||||
NPUBLIC\NDIR F:\TNDIR\ALPHA.TXT /RIGHTS > F:\NDCMP\OUT\N04_RGTA.OUT
|
||||
ECHO === D04 RIGHTS === >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\NDIR F:\TNDIR /RIGHTS > F:\NDCMP\OUT\D04_RGHT.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR /RIGHTS > F:\NDCMP\PUBOUT\D04_RGHT.OUT
|
||||
|
||||
ECHO === N05 SET ATTRIBUTES === >> F:\NDCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\TNDIR\ALPHA.TXT +H >> F:\NDCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\TNDIR\BETA.TXT +RO >> F:\NDCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\TNDIR\GAMMA.DAT +Sy +A >> F:\NDCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\TNDIR\ALPHA.TXT > F:\NDCMP\OUT\N05_FLGA.OUT
|
||||
NPUBLIC\FLAG F:\TNDIR\BETA.TXT > F:\NDCMP\OUT\N05_FLGB.OUT
|
||||
NPUBLIC\FLAG F:\TNDIR\GAMMA.DAT > F:\NDCMP\OUT\N05_FLGG.OUT
|
||||
ECHO === D05 SET ATTRIBUTES === >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\FLAG F:\TNDIR\ALPHA.TXT +H >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\FLAG F:\TNDIR\BETA.TXT +RO >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\FLAG F:\TNDIR\GAMMA.DAT +Sy +A >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\NDIR F:\TNDIR > F:\NDCMP\OUT\D05_ATTR.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR > F:\NDCMP\PUBOUT\D05_ATTR.OUT
|
||||
|
||||
ECHO === N06 NDIR AFTER ATTRIBUTES === >> F:\NDCMP\RUN.LOG
|
||||
NPUBLIC\NDIR F:\TNDIR > F:\NDCMP\OUT\N06_ATTR.OUT
|
||||
NPUBLIC\NDIR F:\TNDIR /DATES > F:\NDCMP\OUT\N06_ADAT.OUT
|
||||
ECHO === D06 ATTRIBUTE FILTERS === >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\NDIR F:\TNDIR /H > F:\NDCMP\OUT\D06_H.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR /H > F:\NDCMP\PUBOUT\D06_H.OUT
|
||||
\NPUBLIC\NDIR F:\TNDIR /RO > F:\NDCMP\OUT\D07_RO.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR /RO > F:\NDCMP\PUBOUT\D07_RO.OUT
|
||||
\NPUBLIC\NDIR F:\TNDIR /SY > F:\NDCMP\OUT\D08_SY.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR /SY > F:\NDCMP\PUBOUT\D08_SY.OUT
|
||||
\NPUBLIC\NDIR F:\TNDIR /A > F:\NDCMP\OUT\D09_A.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR /A > F:\NDCMP\PUBOUT\D09_A.OUT
|
||||
|
||||
ECHO === N07 ATTRIBUTE FILTERS === >> F:\NDCMP\RUN.LOG
|
||||
NPUBLIC\NDIR F:\TNDIR /H > F:\NDCMP\OUT\N07_H.OUT
|
||||
NPUBLIC\NDIR F:\TNDIR /RO > F:\NDCMP\OUT\N07_RO.OUT
|
||||
NPUBLIC\NDIR F:\TNDIR /SY > F:\NDCMP\OUT\N07_SY.OUT
|
||||
NPUBLIC\NDIR F:\TNDIR /A > F:\NDCMP\OUT\N07_A.OUT
|
||||
ECHO === D10 NOT FILTER === >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\NDIR F:\TNDIR /NOT H > F:\NDCMP\OUT\D10_NOTH.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR /NOT H > F:\NDCMP\PUBOUT\D10_NOTH.OUT
|
||||
|
||||
ECHO === N08 NOT FILTERS === >> F:\NDCMP\RUN.LOG
|
||||
NPUBLIC\NDIR F:\TNDIR /NOT H > F:\NDCMP\OUT\N08_NOTH.OUT
|
||||
NPUBLIC\NDIR F:\TNDIR /NOT RO > F:\NDCMP\OUT\N08_NOTR.OUT
|
||||
ECHO === D11 WILDCARDS === >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\NDIR F:\TNDIR\*.TXT > F:\NDCMP\OUT\D11_TXT.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\*.TXT > F:\NDCMP\PUBOUT\D11_TXT.OUT
|
||||
\NPUBLIC\NDIR F:\TNDIR\*.DAT > F:\NDCMP\OUT\D12_DAT.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\*.DAT > F:\NDCMP\PUBOUT\D12_DAT.OUT
|
||||
|
||||
ECHO === N09 SORT TESTS === >> F:\NDCMP\RUN.LOG
|
||||
NPUBLIC\NDIR F:\TNDIR /SORT UN > F:\NDCMP\OUT\N09_SUN.OUT
|
||||
NPUBLIC\NDIR F:\TNDIR /SORT SI > F:\NDCMP\OUT\N09_SSI.OUT
|
||||
NPUBLIC\NDIR F:\TNDIR /SORT UP > F:\NDCMP\OUT\N09_SUP.OUT
|
||||
ECHO === D13 FILES/DIRS ONLY === >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\NDIR F:\TNDIR /FO > F:\NDCMP\OUT\D13_FO.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR /FO > F:\NDCMP\PUBOUT\D13_FO.OUT
|
||||
\NPUBLIC\NDIR F:\TNDIR /DO > F:\NDCMP\OUT\D14_DO.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR /DO > F:\NDCMP\PUBOUT\D14_DO.OUT
|
||||
|
||||
ECHO === N10 WILDCARDS === >> F:\NDCMP\RUN.LOG
|
||||
NPUBLIC\NDIR F:\TNDIR\*.TXT > F:\NDCMP\OUT\N10_TXT.OUT
|
||||
NPUBLIC\NDIR F:\TNDIR\*.DAT > F:\NDCMP\OUT\N10_DAT.OUT
|
||||
ECHO === D15 SUBDIRECTORY === >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\NDIR F:\TNDIR /SUB > F:\NDCMP\OUT\D15_SUB.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR /SUB > F:\NDCMP\PUBOUT\D15_SUB.OUT
|
||||
\NPUBLIC\NDIR F:\TNDIR /SUB /RIGHTS > F:\NDCMP\OUT\D16_SUBR.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR /SUB /RIGHTS > F:\NDCMP\PUBOUT\D16_SUBR.OUT
|
||||
|
||||
ECHO === N11 FILES ONLY / DIRS ONLY === >> F:\NDCMP\RUN.LOG
|
||||
NPUBLIC\NDIR F:\TNDIR /FO > F:\NDCMP\OUT\N11_FO.OUT
|
||||
NPUBLIC\NDIR F:\TNDIR /DO > F:\NDCMP\OUT\N11_DO.OUT
|
||||
|
||||
ECHO === N12 SUBDIRECTORY TEST === >> F:\NDCMP\RUN.LOG
|
||||
NPUBLIC\NDIR F:\TNDIR /SUB > F:\NDCMP\OUT\N12_SUB.OUT
|
||||
NPUBLIC\NDIR F:\TNDIR\SUBDIR > F:\NDCMP\OUT\N12_SDIR.OUT
|
||||
ECHO === D17 FILE/DIR ATTRIBUTE MATRIX SETUP === >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\FLAG F:\TNDIR\MAT\HIDFILE.TXT +H >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\FLAG F:\TNDIR\MAT\ROFILE.TXT +RO >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\FLAG F:\TNDIR\MAT\SYSFILE.DAT +Sy >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\FLAG F:\TNDIR\MAT\ARCFILE.BIN +A >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\FLAG F:\TNDIR\MAT\DIRIFILE.TXT +DI +RI >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\FLAG F:\TNDIR\MAT\MIXFILE.TXT +H +RO +A >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\FLAGDIR F:\TNDIR\MAT\D_HID Hidden >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\FLAGDIR F:\TNDIR\MAT\D_SYS System >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\FLAGDIR F:\TNDIR\MAT\D_PUR Purge >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\FLAGDIR F:\TNDIR\MAT\D_DIRI Deleteinhibit Renameinhibit >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\FLAGDIR F:\TNDIR\MAT\D_MIX Hidden System Purge >> F:\NDCMP\RUN.LOG
|
||||
|
||||
ECHO === N14 CLEANUP ATTRIBUTES === >> F:\NDCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\TNDIR\ALPHA.TXT N >> F:\NDCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\TNDIR\BETA.TXT N >> F:\NDCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\TNDIR\GAMMA.DAT N >> F:\NDCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\TNDIR\SUBDIR\SUB.TXT N >> F:\NDCMP\RUN.LOG
|
||||
NPUBLIC\NDIR F:\TNDIR > F:\NDCMP\OUT\N14_FINAL.OUT
|
||||
ECHO === D17-D29 FILE/DIR ATTRIBUTE MATRIX === >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\NDIR F:\TNDIR\MAT > F:\NDCMP\OUT\D17_MATR.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\MAT > F:\NDCMP\PUBOUT\D17_MATR.OUT
|
||||
\NPUBLIC\NDIR F:\TNDIR\MAT /DATES > F:\NDCMP\OUT\D18_MDAT.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\MAT /DATES > F:\NDCMP\PUBOUT\D18_MDAT.OUT
|
||||
\NPUBLIC\NDIR F:\TNDIR\MAT /RIGHTS > F:\NDCMP\OUT\D19_MRGT.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\MAT /RIGHTS > F:\NDCMP\PUBOUT\D19_MRGT.OUT
|
||||
\NPUBLIC\NDIR F:\TNDIR\MAT /FO > F:\NDCMP\OUT\D20_MFO.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\MAT /FO > F:\NDCMP\PUBOUT\D20_MFO.OUT
|
||||
\NPUBLIC\NDIR F:\TNDIR\MAT /DO > F:\NDCMP\OUT\D21_MDO.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\MAT /DO > F:\NDCMP\PUBOUT\D21_MDO.OUT
|
||||
\NPUBLIC\NDIR F:\TNDIR\MAT /SUB > F:\NDCMP\OUT\D22_MSUB.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\MAT /SUB > F:\NDCMP\PUBOUT\D22_MSUB.OUT
|
||||
\NPUBLIC\NDIR F:\TNDIR\MAT /SUB /RIGHTS > F:\NDCMP\OUT\D23_MSRG.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\MAT /SUB /RIGHTS > F:\NDCMP\PUBOUT\D23_MSRG.OUT
|
||||
\NPUBLIC\NDIR F:\TNDIR\MAT /H > F:\NDCMP\OUT\D24_MH.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\MAT /H > F:\NDCMP\PUBOUT\D24_MH.OUT
|
||||
\NPUBLIC\NDIR F:\TNDIR\MAT /RO > F:\NDCMP\OUT\D25_MRO.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\MAT /RO > F:\NDCMP\PUBOUT\D25_MRO.OUT
|
||||
\NPUBLIC\NDIR F:\TNDIR\MAT /SY > F:\NDCMP\OUT\D26_MSY.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\MAT /SY > F:\NDCMP\PUBOUT\D26_MSY.OUT
|
||||
\NPUBLIC\NDIR F:\TNDIR\MAT /A > F:\NDCMP\OUT\D27_MA.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\MAT /A > F:\NDCMP\PUBOUT\D27_MA.OUT
|
||||
\NPUBLIC\NDIR F:\TNDIR\MAT /NOT H > F:\NDCMP\OUT\D28_MNH.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\MAT /NOT H > F:\NDCMP\PUBOUT\D28_MNH.OUT
|
||||
\NPUBLIC\NDIR F:\TNDIR\MAT\*.TXT > F:\NDCMP\OUT\D29_MTXT.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\MAT\*.TXT > F:\NDCMP\PUBOUT\D29_MTXT.OUT
|
||||
|
||||
ECHO === D30-D34 USER/TRUSTEE MATRIX DIRECT === >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\NDIR F:\TNDIR\USR /RIGHTS > F:\NDCMP\OUT\D30_USRR.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\USR /RIGHTS > F:\NDCMP\PUBOUT\D30_USRR.OUT
|
||||
\NPUBLIC\NDIR F:\TNDIR\USR /SUB /RIGHTS > F:\NDCMP\OUT\D31_USRS.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\USR /SUB /RIGHTS > F:\NDCMP\PUBOUT\D31_USRS.OUT
|
||||
\NPUBLIC\NDIR F:\TNDIR\USR /DO /RIGHTS > F:\NDCMP\OUT\D32_USRD.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\USR /DO /RIGHTS > F:\NDCMP\PUBOUT\D32_USRD.OUT
|
||||
\NPUBLIC\NDIR F:\TNDIR\USR\*.TXT > F:\NDCMP\OUT\D33_USRT.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\USR\*.TXT > F:\NDCMP\PUBOUT\D33_USRT.OUT
|
||||
\NPUBLIC\NDIR F:\TNDIR\USR /DATES > F:\NDCMP\OUT\D34_USRD.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\USR /DATES > F:\NDCMP\PUBOUT\D34_USRD.OUT
|
||||
|
||||
ECHO === PUBLIC-ONLY SHORT OUTPUT === >> F:\NDCMP\RUN.LOG
|
||||
\PUBLIC\NDIR F:\TNDIR /SUB /SHORT > F:\NDCMP\SHORTOUT\S15_SUB.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR /SUB /RIGHTS /SHORT > F:\NDCMP\SHORTOUT\S16_SUBR.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\MAT /SHORT > F:\NDCMP\SHORTOUT\S17_MATR.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\MAT /SUB /RIGHTS /SHORT > F:\NDCMP\SHORTOUT\S23_MSRG.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\USR /SUB /RIGHTS /SHORT > F:\NDCMP\SHORTOUT\S31_USRS.OUT
|
||||
|
||||
ECHO === D90 MISSING / D99 HELP === >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\NDIR F:\TNDIR\*.ZZZ > F:\NDCMP\OUT\D90_MISS.OUT
|
||||
\PUBLIC\NDIR F:\TNDIR\*.ZZZ > F:\NDCMP\PUBOUT\D90_MISS.OUT
|
||||
\NPUBLIC\NDIR /HELP > F:\NDCMP\OUT\D99_HELP.OUT
|
||||
\PUBLIC\NDIR /HELP > F:\NDCMP\PUBOUT\D99_HELP.OUT
|
||||
|
||||
ECHO === DIRECT COMPARE === > F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D01_ROOT.OUT F:\NDCMP\PUBOUT\D01_ROOT.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D02_ALFA.OUT F:\NDCMP\PUBOUT\D02_ALFA.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D03_DATE.OUT F:\NDCMP\PUBOUT\D03_DATE.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D04_RGHT.OUT F:\NDCMP\PUBOUT\D04_RGHT.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D05_ATTR.OUT F:\NDCMP\PUBOUT\D05_ATTR.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D06_H.OUT F:\NDCMP\PUBOUT\D06_H.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D07_RO.OUT F:\NDCMP\PUBOUT\D07_RO.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D08_SY.OUT F:\NDCMP\PUBOUT\D08_SY.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D09_A.OUT F:\NDCMP\PUBOUT\D09_A.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D10_NOTH.OUT F:\NDCMP\PUBOUT\D10_NOTH.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D11_TXT.OUT F:\NDCMP\PUBOUT\D11_TXT.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D12_DAT.OUT F:\NDCMP\PUBOUT\D12_DAT.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D13_FO.OUT F:\NDCMP\PUBOUT\D13_FO.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D14_DO.OUT F:\NDCMP\PUBOUT\D14_DO.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D15_SUB.OUT F:\NDCMP\PUBOUT\D15_SUB.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D16_SUBR.OUT F:\NDCMP\PUBOUT\D16_SUBR.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D17_MATR.OUT F:\NDCMP\PUBOUT\D17_MATR.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D18_MDAT.OUT F:\NDCMP\PUBOUT\D18_MDAT.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D19_MRGT.OUT F:\NDCMP\PUBOUT\D19_MRGT.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D20_MFO.OUT F:\NDCMP\PUBOUT\D20_MFO.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D21_MDO.OUT F:\NDCMP\PUBOUT\D21_MDO.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D22_MSUB.OUT F:\NDCMP\PUBOUT\D22_MSUB.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D23_MSRG.OUT F:\NDCMP\PUBOUT\D23_MSRG.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D24_MH.OUT F:\NDCMP\PUBOUT\D24_MH.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D25_MRO.OUT F:\NDCMP\PUBOUT\D25_MRO.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D26_MSY.OUT F:\NDCMP\PUBOUT\D26_MSY.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D27_MA.OUT F:\NDCMP\PUBOUT\D27_MA.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D28_MNH.OUT F:\NDCMP\PUBOUT\D28_MNH.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D29_MTXT.OUT F:\NDCMP\PUBOUT\D29_MTXT.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D30_USRR.OUT F:\NDCMP\PUBOUT\D30_USRR.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D31_USRS.OUT F:\NDCMP\PUBOUT\D31_USRS.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D32_USRD.OUT F:\NDCMP\PUBOUT\D32_USRD.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D33_USRT.OUT F:\NDCMP\PUBOUT\D33_USRT.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D34_USRD.OUT F:\NDCMP\PUBOUT\D34_USRD.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D90_MISS.OUT F:\NDCMP\PUBOUT\D90_MISS.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
FC F:\NDCMP\OUT\D99_HELP.OUT F:\NDCMP\PUBOUT\D99_HELP.OUT >> F:\NDCMP\COMPARE.LOG
|
||||
|
||||
REM --- Setup NOPASSUSER matrix. ---
|
||||
ECHO === USER CONTEXT SETUP === >> F:\NDCMP\RUN.LOG
|
||||
\NPUBLIC\GRANT R F FOR F:\TNDIR TO USER NOPASSUSER > F:\NDCMP\SETUP\S00_ROOT.OUT
|
||||
\NPUBLIC\GRANT R F FOR F:\TNDIR\URF TO USER NOPASSUSER > F:\NDCMP\SETUP\S10_RF.OUT
|
||||
\NPUBLIC\GRANT R W C E M F A FOR F:\TNDIR\UFULL TO USER NOPASSUSER > F:\NDCMP\SETUP\S11_FULL.OUT
|
||||
\NPUBLIC\GRANT S FOR F:\TNDIR\US TO USER NOPASSUSER > F:\NDCMP\SETUP\S12_S.OUT
|
||||
\NPUBLIC\GRANT N FOR F:\TNDIR\UNONE TO USER NOPASSUSER > F:\NDCMP\SETUP\S13_N.OUT
|
||||
\NPUBLIC\GRANT R F FOR F:\TNDIR\USUB TO USER NOPASSUSER > F:\NDCMP\SETUP\S14_SUB.OUT
|
||||
\NPUBLIC\GRANT R F FOR F:\TNDIR\USUB\CHILD TO USER NOPASSUSER > F:\NDCMP\SETUP\S15_CHLD.OUT
|
||||
\NPUBLIC\GRANT R F FOR F:\TNDIR\MAT TO USER NOPASSUSER > F:\NDCMP\SETUP\S20_MATR.OUT
|
||||
\NPUBLIC\GRANT R F FOR F:\TNDIR\MAT\D_SUB TO USER NOPASSUSER > F:\NDCMP\SETUP\S21_MSUD.OUT
|
||||
\NPUBLIC\GRANT R F FOR F:\TNDIR\MAT\D_SUB\CHILD TO USER NOPASSUSER > F:\NDCMP\SETUP\S22_MCHD.OUT
|
||||
\NPUBLIC\GRANT R F FOR F:\TNDIR\USR TO USER NOPASSUSER > F:\NDCMP\SETUP\S30_USR.OUT
|
||||
\NPUBLIC\GRANT R FOR F:\TNDIR\USR\U_EVERYR TO GROUP EVERYONE > F:\NDCMP\SETUP\S31_EVR.OUT
|
||||
\NPUBLIC\GRANT R W C E M F A FOR F:\TNDIR\USR\U_EVERYF TO GROUP EVERYONE > F:\NDCMP\SETUP\S32_EVF.OUT
|
||||
\NPUBLIC\GRANT R F FOR F:\TNDIR\USR\U_MARIO TO USER MARIO > F:\NDCMP\SETUP\S33_MAR.OUT
|
||||
\NPUBLIC\GRANT R F FOR F:\TNDIR\USR\U_GUEST TO USER GUEST > F:\NDCMP\SETUP\S34_GST.OUT
|
||||
\NPUBLIC\GRANT W C M FOR F:\TNDIR\USR\U_NOPWCM TO USER NOPASSUSER > F:\NDCMP\SETUP\S35_WCM.OUT
|
||||
\NPUBLIC\GRANT R E M A FOR F:\TNDIR\USR\U_NOPREM TO USER NOPASSUSER > F:\NDCMP\SETUP\S36_REM.OUT
|
||||
\NPUBLIC\GRANT R F FOR F:\TNDIR\USR\U_NOPRF TO USER NOPASSUSER > F:\NDCMP\SETUP\S37_RF.OUT
|
||||
\NPUBLIC\GRANT R F FOR F:\TNDIR\USR\U_CHILD TO GROUP EVERYONE > F:\NDCMP\SETUP\S38_CHLD.OUT
|
||||
\NPUBLIC\GRANT S FOR F:\TNDIR\USR\U_CHILD\DEEP TO USER NOPASSUSER > F:\NDCMP\SETUP\S39_DEEP.OUT
|
||||
|
||||
REM --- Prepare local delayed helper. ---
|
||||
MD C:\NDIRTMP
|
||||
MD C:\NDIRTMP\UNOV
|
||||
MD C:\NDIRTMP\UPUB
|
||||
IF EXIST C:\NDIRTMP\HELPER.TXT DEL C:\NDIRTMP\HELPER.TXT
|
||||
COPY F:\NDIRC.BAT C:\NDIRTMP\NDIRC.BAT > NUL
|
||||
COPY F:\PUBLIC\DLYSTRT.EXE C:\NDIRTMP\DLYSTRT.EXE > NUL
|
||||
|
||||
C:
|
||||
CD \NDIRTMP
|
||||
DLYSTRT /T:2 NDIRC.BAT
|
||||
GOTO END
|
||||
|
||||
:PART2
|
||||
F:
|
||||
CD \
|
||||
IF NOT EXIST NDCMP\NUL MD NDCMP
|
||||
IF NOT EXIST NDCMP\UNOV\NUL MD NDCMP\UNOV
|
||||
IF NOT EXIST NDCMP\UPUB\NUL MD NDCMP\UPUB
|
||||
IF NOT EXIST NDCMP\USHORT\NUL MD NDCMP\USHORT
|
||||
IF NOT EXIST NDCMP\USETUP\NUL MD NDCMP\USETUP
|
||||
|
||||
COPY C:\NDIRTMP\UNOV\*.OUT F:\NDCMP\UNOV > NUL
|
||||
COPY C:\NDIRTMP\UPUB\*.OUT F:\NDCMP\UPUB > NUL
|
||||
IF EXIST C:\NDIRTMP\USHORT\*.OUT COPY C:\NDIRTMP\USHORT\*.OUT F:\NDCMP\USHORT > NUL
|
||||
IF EXIST C:\NDIRTMP\HELPER.TXT COPY C:\NDIRTMP\HELPER.TXT F:\NDCMP\HELPER.TXT > NUL
|
||||
IF EXIST C:\NDIRTMP\UCOMP.LOG COPY C:\NDIRTMP\UCOMP.LOG F:\NDCMP\UCOMP.LOG > NUL
|
||||
|
||||
ECHO === SUMMARY === > F:\NDCMP\SUMMARY.TXT
|
||||
ECHO NDIRTSTA automated Novell NDIR baseline finished. >> F:\NDCMP\SUMMARY.TXT
|
||||
ECHO NDIRTSTA compare test finished. >> F:\NDCMP\SUMMARY.TXT
|
||||
ECHO. >> F:\NDCMP\SUMMARY.TXT
|
||||
ECHO Outputs are in F:\NDCMP\OUT. >> F:\NDCMP\SUMMARY.TXT
|
||||
ECHO Expected highlights: >> F:\NDCMP\SUMMARY.TXT
|
||||
ECHO - N01_ROOT lists ALPHA.TXT, BETA.TXT, GAMMA.DAT and SUBDIR. >> F:\NDCMP\SUMMARY.TXT
|
||||
ECHO - N03_DATES shows date fields. >> F:\NDCMP\SUMMARY.TXT
|
||||
ECHO - N04_RGT shows rights. >> F:\NDCMP\SUMMARY.TXT
|
||||
ECHO - N05_FLG* shows H, RO, SY/A attribute setup. >> F:\NDCMP\SUMMARY.TXT
|
||||
ECHO - N07_* filters isolate attributes. >> F:\NDCMP\SUMMARY.TXT
|
||||
ECHO - N09_* sort modes run without error. >> F:\NDCMP\SUMMARY.TXT
|
||||
ECHO - N10_TXT lists TXT files; N10_DAT lists GAMMA.DAT. >> F:\NDCMP\SUMMARY.TXT
|
||||
ECHO - N11_FO/N11_DO separate files/directories where supported. >> F:\NDCMP\SUMMARY.TXT
|
||||
ECHO - N12_SUB includes SUBDIR\SUB.TXT. >> F:\NDCMP\SUMMARY.TXT
|
||||
ECHO Optional pack results with NDIRZIP.BAT. >> F:\NDCMP\SUMMARY.TXT
|
||||
ECHO Direct output: OUT vs PUBOUT, see COMPARE.LOG. >> F:\NDCMP\SUMMARY.TXT
|
||||
ECHO User-context output: UNOV vs UPUB, see UCOMP.LOG. >> F:\NDCMP\SUMMARY.TXT
|
||||
ECHO Public-only /SHORT output: SHORTOUT and USHORT, not compared. >> F:\NDCMP\SUMMARY.TXT
|
||||
ECHO Matrix coverage: D17-D34 and U17-U30 cover mixed file, directory and user trustee matrices. >> F:\NDCMP\SUMMARY.TXT
|
||||
ECHO. >> F:\NDCMP\SUMMARY.TXT
|
||||
ECHO Optional: NDIRZIP ausfuehren. >> F:\NDCMP\SUMMARY.TXT
|
||||
|
||||
ECHO.
|
||||
ECHO NDIRTSTA fertig.
|
||||
ECHO NDIRTSTA PART2 fertig.
|
||||
ECHO Ergebnisse liegen in F:\NDCMP
|
||||
ECHO Optional: NDIRZIP ausfuehren.
|
||||
ECHO.
|
||||
GOTO END
|
||||
|
||||
:NEEDPWD
|
||||
ECHO.
|
||||
ECHO ERROR: LGNTPWD ist nicht gesetzt.
|
||||
ECHO.
|
||||
ECHO Fuer den vollautomatischen NDIR-User-Kontext-Test zuerst setzen, z.B.:
|
||||
ECHO SET LGNTPWD=dein-supervisor-passwort
|
||||
ECHO Danach starten:
|
||||
ECHO F:\NDIRTSTA
|
||||
ECHO.
|
||||
ECHO Es wurde kein DLYSTRT installiert und kein Login-Test gestartet.
|
||||
GOTO END
|
||||
|
||||
:END
|
||||
|
||||
@@ -1,27 +1,26 @@
|
||||
@ECHO OFF
|
||||
REM NDIRZIP.BAT
|
||||
REM Optional packer for NDIRTSTA result files.
|
||||
REM Requires ZIP.EXE in PATH or current directory.
|
||||
|
||||
F:
|
||||
CD \NDCMP
|
||||
|
||||
IF EXIST NDIRTSTA.ZIP DEL NDIRTSTA.ZIP
|
||||
IF EXIST ZIP.LOG DEL ZIP.LOG
|
||||
|
||||
ECHO Creating NDIRTSTA.ZIP > ZIP.LOG
|
||||
ZIP -r NDIRTSTA.ZIP RUN.LOG SUMMARY.TXT OUT >> ZIP.LOG
|
||||
|
||||
|
||||
REM Cleanup generated test directories after ZIP.
|
||||
REM Keep the CMP/result directory because it contains the ZIP and ZIP.LOG.
|
||||
ECHO Cleaning generated test directories... >> ZIP.LOG
|
||||
IF EXIST \TNDIR\NUL DELTREE /Y \TNDIR >> ZIP.LOG
|
||||
IF EXIST \NDIRTEST\NUL DELTREE /Y \NDIRTEST >> ZIP.LOG
|
||||
CD \
|
||||
ECHO.
|
||||
ECHO ZIP step finished.
|
||||
ECHO Check:
|
||||
ECHO F:\NDCMP\NDIRTSTA.ZIP
|
||||
ECHO F:\NDCMP\ZIP.LOG
|
||||
ECHO.
|
||||
@ECHO OFF
|
||||
REM NDIRZIP.BAT
|
||||
REM Optional packer for NDIRTSTA result files.
|
||||
REM Requires ZIP.EXE in PATH or current directory.
|
||||
|
||||
F:
|
||||
CD \NDCMP
|
||||
|
||||
IF EXIST NDIRTSTA.ZIP DEL NDIRTSTA.ZIP
|
||||
IF EXIST ZIP.LOG DEL ZIP.LOG
|
||||
|
||||
ECHO Creating NDIRTSTA.ZIP > ZIP.LOG
|
||||
ZIP -r NDIRTSTA.ZIP RUN.LOG SUMMARY.TXT COMPARE.LOG UCOMP.LOG HELPER.TXT OUT PUBOUT SHORTOUT SETUP UNOV UPUB USHORT USETUP >> ZIP.LOG
|
||||
|
||||
REM Cleanup generated test directories after ZIP.
|
||||
REM Keep the CMP/result directory because it contains the ZIP and ZIP.LOG.
|
||||
ECHO Cleaning generated test directories... >> ZIP.LOG
|
||||
IF EXIST \TNDIR\NUL DELTREE /Y \TNDIR >> ZIP.LOG
|
||||
IF EXIST C:\NDIRTMP\NUL DELTREE /Y C:\NDIRTMP >> ZIP.LOG
|
||||
CD \
|
||||
ECHO.
|
||||
ECHO ZIP step finished.
|
||||
ECHO Check:
|
||||
ECHO F:\NDCMP\NDIRTSTA.ZIP
|
||||
ECHO F:\NDCMP\ZIP.LOG
|
||||
ECHO.
|
||||
|
||||
@@ -1,19 +1,30 @@
|
||||
# NDIR automated test
|
||||
# NDIR automated compare test
|
||||
|
||||
Automated Novell-only baseline for `NPUBLIC\NDIR`.
|
||||
Automated compare test for `NDIR`.
|
||||
|
||||
## Run
|
||||
|
||||
```text
|
||||
SET LGNTPWD=dein-supervisor-passwort
|
||||
F:
|
||||
CD \
|
||||
NDIRTSTA
|
||||
```
|
||||
|
||||
Results:
|
||||
`LGNTPWD` is required because the test switches to `NOPASSUSER` and then logs back in as `SUPERVISOR` through the maintainer-only `LOGIN /PWD:` path.
|
||||
|
||||
## Result layout
|
||||
|
||||
```text
|
||||
F:\NDCMP\RUN.LOG
|
||||
F:\NDCMP\SUMMARY.TXT
|
||||
F:\NDCMP\OUT\*.OUT
|
||||
F:\NDCMP\OUT\*.OUT Novell baseline via \NPUBLIC\NDIR
|
||||
F:\NDCMP\PUBOUT\*.OUT PUBLIC implementation via \PUBLIC\NDIR
|
||||
F:\NDCMP\COMPARE.LOG direct compare log
|
||||
F:\NDCMP\SHORTOUT\*.OUT PUBLIC-only /SHORT helper output; not compared
|
||||
|
||||
F:\NDCMP\UNOV\*.OUT Novell NDIR as NOPASSUSER
|
||||
F:\NDCMP\UPUB\*.OUT PUBLIC NDIR as NOPASSUSER
|
||||
F:\NDCMP\UCOMP.LOG user-context compare log
|
||||
F:\NDCMP\USHORT\*.OUT PUBLIC-only /SHORT helper output as NOPASSUSER
|
||||
```
|
||||
|
||||
Optional pack:
|
||||
@@ -48,9 +59,38 @@ F:\TNDIR
|
||||
- `/DATES`
|
||||
- `/RIGHTS`
|
||||
- attributes via `NPUBLIC\FLAG`
|
||||
- filters `/H`, `/RO`, `/SY`, `/A`, `/NOT H`, `/NOT RO`
|
||||
- sorts `/SORT UN`, `/SORT SI`, `/SORT UP`
|
||||
- filters `/H`, `/RO`, `/SY`, `/A`, `/NOT H`
|
||||
- wildcards `*.TXT`, `*.DAT`
|
||||
- `/FO`, `/DO`
|
||||
- `/SUB`
|
||||
- cleanup
|
||||
- `/SUB` and `/SUB /RIGHTS` in the Novell-compatible compare set
|
||||
- extended file/directory matrix under `F:\TNDIR\MAT`:
|
||||
- files with Normal, Hidden, Read-only, System, Archive, DI/RI and mixed attributes
|
||||
- directories with Normal, Hidden, System, Purge, DI/RI and mixed directory flags
|
||||
- matrix checks for normal listing, `/DATES`, `/RIGHTS`, `/FO`, `/DO`, `/SUB`, filters and wildcards
|
||||
- Public-only `/SHORT` output in `SHORTOUT` / `USHORT` is kept for diagnostics and is not compared against Novell
|
||||
- missing-pattern and help output
|
||||
- NOPASSUSER readback after GRANT matrix setup, including the extended `MAT` file/directory matrix
|
||||
|
||||
`NDIRZIP` cleans the generated `TNDIR` tree and `C:\NDIRTMP` helper directory after packaging.
|
||||
|
||||
## Notes on /SHORT
|
||||
|
||||
`/SHORT` is a MARS DOS tools helper option. Novell NDIR does not know this option,
|
||||
so the test keeps `/SHORT` output in `SHORTOUT` and `USHORT` only. These files are
|
||||
packaged for manual inspection but are not part of the byte-for-byte Novell compare.
|
||||
|
||||
|
||||
Additional user/trustee matrix
|
||||
------------------------------
|
||||
The extended matrix also creates F:\TNDIR\USR with trustees for multiple
|
||||
objects that exist in the default test environment:
|
||||
|
||||
- USER NOPASSUSER
|
||||
- USER MARIO
|
||||
- USER GUEST
|
||||
- GROUP EVERYONE
|
||||
|
||||
The delayed NOPASSUSER phase reads the same tree through NPUBLIC and PUBLIC
|
||||
NDIR. This gives more coverage for effective-rights output: direct user
|
||||
trustees, group/EVERYONE trustees, unrelated user trustees, inherited rights,
|
||||
and Supervisor-on-child cases.
|
||||
|
||||
@@ -1,31 +1,32 @@
|
||||
# REVOKE baseline test
|
||||
# REVOKE comparison test
|
||||
|
||||
Scripts:
|
||||
`RVKSTA.BAT` creates `F:\RVKTEST` and compares Novell `\NPUBLIC\REVOKE` output with the public implementation `\PUBLIC\REVOKE`.
|
||||
|
||||
- `RVKSTA.BAT` creates `F:\RVKTEST`, uses Novell `\NPUBLIC\GRANT` for setup, then captures Novell `\NPUBLIC\REVOKE` output into `F:\RVKCMP\OUT`. User `MARIO` is used as trustee target.
|
||||
- `RVKZIP.BAT` packages `RUN.LOG`, `SUMMARY.TXT`, `SETUP`, and `OUT` as `F:\RVKCMP\RVKSTA.ZIP`.
|
||||
Result tree:
|
||||
|
||||
Run as `SUPERVISOR` or an equivalent user with Access Control rights on `F:\RVKTEST`.
|
||||
- `F:\RVKCMP\OUT` - Novell baseline output
|
||||
- `F:\RVKCMP\PUBOUT` - public implementation output
|
||||
- `F:\RVKCMP\COMPARE.LOG` - direct `FC` comparisons
|
||||
- `F:\RVKCMP\UNOV` - user-context Novell `RIGHTS` readback
|
||||
- `F:\RVKCMP\UPUB` - user-context public `RIGHTS` readback
|
||||
- `F:\RVKCMP\UCOMP.LOG` - user-context `FC` comparisons
|
||||
|
||||
Covered cases:
|
||||
The direct matrix covers:
|
||||
|
||||
- help and no-argument grammar
|
||||
- normal directory revoke
|
||||
- `ALL` revoke / trustee removal
|
||||
- `/SUBDIRECTORIES` with trustees placed directly on child directories
|
||||
- `/FILES` on an explicit file and on a directory file set
|
||||
- relative path invocation from inside the test directory while invoking `\NPUBLIC\REVOKE` absolutely
|
||||
- no trustee, missing user, missing path behavior, `/FILES` plus `/SUBDIRECTORIES` option-combination behavior, and bad grammar
|
||||
- individual right removal: `R`, `W`, `C`, `E`, `M`, `F`, `A`, `S`
|
||||
- mixed rights removal such as `R F`, `R W C`, `E M F`, `S W C M`
|
||||
- `ALL` removal, which should delete the trustee entry
|
||||
- file-specific mode with `/FILES`
|
||||
- recursive directory mode with `/SUBDIRECTORIES`
|
||||
- missing trustee, missing user, missing path, invalid right, bad grammar, and `/FILES /SUBDIRECTORIES`
|
||||
|
||||
This test is still Novell-baseline-only. Later comparison scripts should run the same command set through `NPUBLIC` and `PUBLIC` with normalized output.
|
||||
Automatic user-context readback requires:
|
||||
|
||||
Notes from the first baseline run:
|
||||
```bat
|
||||
SET LGNTPWD=your-supervisor-password
|
||||
F:\RVKSTA
|
||||
```
|
||||
|
||||
- `REVOKE /SUBDIRECTORIES` did not exercise child paths unless trustees existed on the child directories themselves, so `D20` now uses `SUBTST\S1` and `SUBTST\S2` with direct trustee setup.
|
||||
- Novell `REVOKE` may report `No trustee for the specified directory.` for a missing path before a separate missing-path diagnostic is reached; `D92` records that baseline behavior.
|
||||
- `D93` now uses an independent tree with directory, file, and subdirectory trustees so the `/FILES /SUBDIRECTORIES` option combination is tested without being masked by missing trustee setup.
|
||||
Retest focus after the fix:
|
||||
`RVKC.BAT` is queued via `DLYSTRT`, logs in as `NOPASSUSER`, captures `RIGHTS` output for the matrix cases, logs SUPERVISOR back in, and then starts `RVKSTA PART2` to copy and compare the user-context results.
|
||||
|
||||
- `D20_SUBDIRS_REVOKE_CE.OUT` should no longer be masked by a missing trustee on the named root.
|
||||
- `D92_MISSING_PATH.OUT` records the exact Novell diagnostic for a missing path, even if that diagnostic is still `No trustee for the specified directory.`
|
||||
- `D93_FILES_AND_SUBDIRS.OUT` runs on a prepared tree with directory, file, and subdirectory trustees, so the `/FILES /SUBDIRECTORIES` combination is no longer masked by setup.
|
||||
`RVKZIP.BAT` packs the result tree and cleans `F:\RVKTEST` and `C:\RVKTMP`.
|
||||
|
||||
168
test/revoke/RVKC.BAT
Normal file
168
test/revoke/RVKC.BAT
Normal file
@@ -0,0 +1,168 @@
|
||||
@ECHO OFF
|
||||
REM RVKC.BAT - delayed user-context REVOKE readback helper.
|
||||
REM Started by RVKSTA via DLYSTRT. Runs from C:\RVKTMP.
|
||||
|
||||
C:
|
||||
CD \RVKTMP
|
||||
|
||||
ECHO RVKC user-context REVOKE readback helper > HELPER.TXT
|
||||
ECHO Current phase: logout supervisor, login NOPASSUSER. >> HELPER.TXT
|
||||
|
||||
LOGOUT > ULOG1.OUT
|
||||
LOGIN NOPASSUSER > ULOGIN.OUT
|
||||
|
||||
IF NOT EXIST UNOV MD UNOV
|
||||
IF NOT EXIST UPUB MD UPUB
|
||||
|
||||
F:
|
||||
CD \
|
||||
IF EXIST \NPUBLIC\RIGHTS.EXE GOTO HAVEF
|
||||
ECHO F: not ready after NOPASSUSER login. >> C:\RVKTMP\HELPER.TXT
|
||||
GOTO RELSUP
|
||||
|
||||
:HAVEF
|
||||
ECHO Starting G10_R as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\G10 > C:\RVKTMP\UNOV\G10_R.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\G10 > C:\RVKTMP\UPUB\G10_R.OUT
|
||||
ECHO Starting G11_W as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\G11 > C:\RVKTMP\UNOV\G11_W.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\G11 > C:\RVKTMP\UPUB\G11_W.OUT
|
||||
ECHO Starting G12_C as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\G12 > C:\RVKTMP\UNOV\G12_C.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\G12 > C:\RVKTMP\UPUB\G12_C.OUT
|
||||
ECHO Starting G13_E as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\G13 > C:\RVKTMP\UNOV\G13_E.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\G13 > C:\RVKTMP\UPUB\G13_E.OUT
|
||||
ECHO Starting G14_M as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\G14 > C:\RVKTMP\UNOV\G14_M.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\G14 > C:\RVKTMP\UPUB\G14_M.OUT
|
||||
ECHO Starting G15_F as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\G15 > C:\RVKTMP\UNOV\G15_F.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\G15 > C:\RVKTMP\UPUB\G15_F.OUT
|
||||
ECHO Starting G16_A as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\G16 > C:\RVKTMP\UNOV\G16_A.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\G16 > C:\RVKTMP\UPUB\G16_A.OUT
|
||||
ECHO Starting G17_S as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\G17 > C:\RVKTMP\UNOV\G17_S.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\G17 > C:\RVKTMP\UPUB\G17_S.OUT
|
||||
ECHO Starting G20_RF as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\G20 > C:\RVKTMP\UNOV\G20_RF.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\G20 > C:\RVKTMP\UPUB\G20_RF.OUT
|
||||
ECHO Starting G21_RW as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\G21 > C:\RVKTMP\UNOV\G21_RW.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\G21 > C:\RVKTMP\UPUB\G21_RW.OUT
|
||||
ECHO Starting G22_RWC as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\G22 > C:\RVKTMP\UNOV\G22_RWC.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\G22 > C:\RVKTMP\UPUB\G22_RWC.OUT
|
||||
ECHO Starting G23_RWCE as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\G23 > C:\RVKTMP\UNOV\G23_RWCE.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\G23 > C:\RVKTMP\UPUB\G23_RWCE.OUT
|
||||
ECHO Starting G24_EMF as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\G24 > C:\RVKTMP\UNOV\G24_EMF.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\G24 > C:\RVKTMP\UPUB\G24_EMF.OUT
|
||||
ECHO Starting G25_SAL as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\G25 > C:\RVKTMP\UNOV\G25_SAL.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\G25 > C:\RVKTMP\UPUB\G25_SAL.OUT
|
||||
ECHO Starting G26_ALL as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\G26 > C:\RVKTMP\UNOV\G26_ALL.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\G26 > C:\RVKTMP\UPUB\G26_ALL.OUT
|
||||
ECHO Starting G30_RE as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\G30 > C:\RVKTMP\UNOV\G30_RE.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\G30 > C:\RVKTMP\UPUB\G30_RE.OUT
|
||||
ECHO Starting G31_RWF as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\G31 > C:\RVKTMP\UNOV\G31_RWF.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\G31 > C:\RVKTMP\UPUB\G31_RWF.OUT
|
||||
ECHO Starting G32_RCM as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\G32 > C:\RVKTMP\UNOV\G32_RCM.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\G32 > C:\RVKTMP\UPUB\G32_RCM.OUT
|
||||
ECHO Starting G33_RFA as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\G33 > C:\RVKTMP\UNOV\G33_RFA.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\G33 > C:\RVKTMP\UPUB\G33_RFA.OUT
|
||||
ECHO Starting G34_WCM as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\G34 > C:\RVKTMP\UNOV\G34_WCM.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\G34 > C:\RVKTMP\UPUB\G34_WCM.OUT
|
||||
ECHO Starting G35_EMF as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\G35 > C:\RVKTMP\UNOV\G35_EMF.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\G35 > C:\RVKTMP\UPUB\G35_EMF.OUT
|
||||
ECHO Starting G36_RMF as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\G36 > C:\RVKTMP\UNOV\G36_RMF.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\G36 > C:\RVKTMP\UPUB\G36_RMF.OUT
|
||||
ECHO Starting G37_REMA as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\G37 > C:\RVKTMP\UNOV\G37_REMA.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\G37 > C:\RVKTMP\UPUB\G37_REMA.OUT
|
||||
ECHO Starting G38_SR as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\G38 > C:\RVKTMP\UNOV\G38_SR.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\G38 > C:\RVKTMP\UPUB\G38_SR.OUT
|
||||
ECHO Starting G39_SRF as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\G39 > C:\RVKTMP\UNOV\G39_SRF.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\G39 > C:\RVKTMP\UPUB\G39_SRF.OUT
|
||||
ECHO Starting G40_SWCM as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\G40 > C:\RVKTMP\UNOV\G40_SWCM.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\G40 > C:\RVKTMP\UPUB\G40_SWCM.OUT
|
||||
ECHO Starting F10_R as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\F10\T.TXT > C:\RVKTMP\UNOV\F10_R.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\F10\T.TXT > C:\RVKTMP\UPUB\F10_R.OUT
|
||||
ECHO Starting F11_RF as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\F11\T.TXT > C:\RVKTMP\UNOV\F11_RF.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\F11\T.TXT > C:\RVKTMP\UPUB\F11_RF.OUT
|
||||
ECHO Starting F12_RAL as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\F12\T.TXT > C:\RVKTMP\UNOV\F12_RAL.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\F12\T.TXT > C:\RVKTMP\UPUB\F12_RAL.OUT
|
||||
ECHO Starting F13_ALL as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\F13\T.TXT > C:\RVKTMP\UNOV\F13_ALL.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\F13\T.TXT > C:\RVKTMP\UPUB\F13_ALL.OUT
|
||||
ECHO Starting F14_N as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\F14\T.TXT > C:\RVKTMP\UNOV\F14_N.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\F14\T.TXT > C:\RVKTMP\UPUB\F14_N.OUT
|
||||
ECHO Starting F15_S as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\F15\T.TXT > C:\RVKTMP\UNOV\F15_S.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\F15\T.TXT > C:\RVKTMP\UPUB\F15_S.OUT
|
||||
ECHO Starting F16_SAL as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\F16\T.TXT > C:\RVKTMP\UNOV\F16_SAL.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\F16\T.TXT > C:\RVKTMP\UPUB\F16_SAL.OUT
|
||||
ECHO Starting S10_R as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\S10\S1 > C:\RVKTMP\UNOV\S10_R.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\S10\S1 > C:\RVKTMP\UPUB\S10_R.OUT
|
||||
ECHO Starting S11_RWC as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\S11\S1 > C:\RVKTMP\UNOV\S11_RWC.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\S11\S1 > C:\RVKTMP\UPUB\S11_RWC.OUT
|
||||
ECHO Starting S12_ALL as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\S12\S1 > C:\RVKTMP\UNOV\S12_ALL.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\S12\S1 > C:\RVKTMP\UPUB\S12_ALL.OUT
|
||||
ECHO Starting S13_SAL as NOPASSUSER... >> C:\RVKTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RVKTEST\S13\S1 > C:\RVKTMP\UNOV\S13_SAL.OUT
|
||||
\PUBLIC\RIGHTS F:\RVKTEST\S13\S1 > C:\RVKTMP\UPUB\S13_SAL.OUT
|
||||
|
||||
:RELSUP
|
||||
C:
|
||||
CD \RVKTMP
|
||||
LOGOUT > ULOG2.OUT
|
||||
|
||||
F:
|
||||
CD \
|
||||
IF EXIST \LOGIN\LOGIN.EXE GOTO HAVELOG
|
||||
ECHO F:\LOGIN\LOGIN.EXE not found. >> C:\RVKTMP\HELPER.TXT
|
||||
GOTO MANUAL
|
||||
|
||||
:HAVELOG
|
||||
F:\LOGIN\LOGIN SUPERVISOR /PWD:%LGNTPWD% > C:\RVKTMP\ULGSUP.OUT
|
||||
|
||||
F:
|
||||
CD \
|
||||
IF EXIST \RVKSTA.BAT GOTO QUEUEP2
|
||||
ECHO F: not restored or \RVKSTA.BAT missing. >> C:\RVKTMP\HELPER.TXT
|
||||
GOTO MANUAL
|
||||
|
||||
:QUEUEP2
|
||||
C:
|
||||
CD \RVKTMP
|
||||
DLYSTRT /T:2 F:\RVKSTA.BAT PART2
|
||||
GOTO END
|
||||
|
||||
:MANUAL
|
||||
ECHO Please run manually after SUPERVISOR login: >> C:\RVKTMP\HELPER.TXT
|
||||
ECHO F: >> C:\RVKTMP\HELPER.TXT
|
||||
ECHO CD \ >> C:\RVKTMP\HELPER.TXT
|
||||
ECHO RVKSTA PART2 >> C:\RVKTMP\HELPER.TXT
|
||||
|
||||
:END
|
||||
@@ -1,121 +1,698 @@
|
||||
@ECHO OFF
|
||||
REM RVKSTA.BAT
|
||||
REM Automated REVOKE baseline test for MARS NWE.
|
||||
REM Automated REVOKE comparison test for MARS NWE.
|
||||
REM
|
||||
REM Run as SUPERVISOR or a user with Access Control on F:\RVKTEST.
|
||||
REM Uses \NPUBLIC\GRANT for setup and \NPUBLIC\REVOKE as Novell baseline.
|
||||
REM Direct mode:
|
||||
REM OUT = Novell baseline using \NPUBLIC\REVOKE
|
||||
REM PUBOUT = our implementation using \PUBLIC\REVOKE
|
||||
REM
|
||||
REM Result tree:
|
||||
REM F:\RVKCMP
|
||||
REM Test tree:
|
||||
REM F:\RVKTEST
|
||||
REM User-context mode:
|
||||
REM REVOKE runs as SUPERVISOR against NOPASSUSER.
|
||||
REM DLYSTRT starts C:\RVKTMP\RVKC.BAT after this script exits.
|
||||
REM RVKC logs in as NOPASSUSER and compares effective RIGHTS readback.
|
||||
REM
|
||||
REM Optional automatic user-context mode requires:
|
||||
REM SET LGNTPWD=your-supervisor-password
|
||||
|
||||
IF "%1"=="" GOTO PART1
|
||||
IF "%1"=="PART2" GOTO PART2
|
||||
IF "%1"=="part2" GOTO PART2
|
||||
IF "%1"=="Part2" GOTO PART2
|
||||
ECHO Usage: RVKSTA [PART2]
|
||||
GOTO END
|
||||
|
||||
:PART1
|
||||
F:
|
||||
CD \
|
||||
|
||||
REM --- Clean generated test/result directories (contents only). ---
|
||||
IF EXIST RVKTEST\NUL DELTREE /Y RVKTEST\*.*
|
||||
IF EXIST RVKCMP\NUL DELTREE /Y RVKCMP\*.*
|
||||
REM --- Clean generated test/result directories. ---
|
||||
IF EXIST RVKTEST\*.* DELTREE /Y RVKTEST
|
||||
IF EXIST RVKCMP\*.* DELTREE /Y RVKCMP
|
||||
IF EXIST C:\RVKTMP\*.* DELTREE /Y C:\RVKTMP
|
||||
|
||||
IF NOT EXIST RVKTEST\NUL MD RVKTEST
|
||||
IF NOT EXIST RVKTEST\ONE\NUL MD RVKTEST\ONE
|
||||
IF NOT EXIST RVKTEST\TREE\NUL MD RVKTEST\TREE
|
||||
IF NOT EXIST RVKTEST\TREE\SUB1\NUL MD RVKTEST\TREE\SUB1
|
||||
IF NOT EXIST RVKTEST\TREE\SUB2\NUL MD RVKTEST\TREE\SUB2
|
||||
IF NOT EXIST RVKTEST\SUBTST\NUL MD RVKTEST\SUBTST
|
||||
IF NOT EXIST RVKTEST\SUBTST\S1\NUL MD RVKTEST\SUBTST\S1
|
||||
IF NOT EXIST RVKTEST\SUBTST\S2\NUL MD RVKTEST\SUBTST\S2
|
||||
IF NOT EXIST RVKTEST\OPTBOTH\NUL MD RVKTEST\OPTBOTH
|
||||
IF NOT EXIST RVKTEST\OPTBOTH\SUB\NUL MD RVKTEST\OPTBOTH\SUB
|
||||
IF NOT EXIST RVKTEST\FILES\NUL MD RVKTEST\FILES
|
||||
IF NOT EXIST RVKTEST\EMPTY\NUL MD RVKTEST\EMPTY
|
||||
IF NOT EXIST RVKCMP\NUL MD RVKCMP
|
||||
IF NOT EXIST RVKCMP\OUT\NUL MD RVKCMP\OUT
|
||||
IF NOT EXIST RVKCMP\SETUP\NUL MD RVKCMP\SETUP
|
||||
IF NOT EXIST RVKTEST MD RVKTEST
|
||||
IF NOT EXIST RVKTEST\G10 MD RVKTEST\G10
|
||||
ECHO G10_R > F:\RVKTEST\G10\TEST.TXT
|
||||
IF NOT EXIST RVKTEST\G11 MD RVKTEST\G11
|
||||
ECHO G11_W > F:\RVKTEST\G11\TEST.TXT
|
||||
IF NOT EXIST RVKTEST\G12 MD RVKTEST\G12
|
||||
ECHO G12_C > F:\RVKTEST\G12\TEST.TXT
|
||||
IF NOT EXIST RVKTEST\G13 MD RVKTEST\G13
|
||||
ECHO G13_E > F:\RVKTEST\G13\TEST.TXT
|
||||
IF NOT EXIST RVKTEST\G14 MD RVKTEST\G14
|
||||
ECHO G14_M > F:\RVKTEST\G14\TEST.TXT
|
||||
IF NOT EXIST RVKTEST\G15 MD RVKTEST\G15
|
||||
ECHO G15_F > F:\RVKTEST\G15\TEST.TXT
|
||||
IF NOT EXIST RVKTEST\G16 MD RVKTEST\G16
|
||||
ECHO G16_A > F:\RVKTEST\G16\TEST.TXT
|
||||
IF NOT EXIST RVKTEST\G17 MD RVKTEST\G17
|
||||
ECHO G17_S > F:\RVKTEST\G17\TEST.TXT
|
||||
IF NOT EXIST RVKTEST\G20 MD RVKTEST\G20
|
||||
ECHO G20_RF > F:\RVKTEST\G20\TEST.TXT
|
||||
IF NOT EXIST RVKTEST\G21 MD RVKTEST\G21
|
||||
ECHO G21_RW > F:\RVKTEST\G21\TEST.TXT
|
||||
IF NOT EXIST RVKTEST\G22 MD RVKTEST\G22
|
||||
ECHO G22_RWC > F:\RVKTEST\G22\TEST.TXT
|
||||
IF NOT EXIST RVKTEST\G23 MD RVKTEST\G23
|
||||
ECHO G23_RWCE > F:\RVKTEST\G23\TEST.TXT
|
||||
IF NOT EXIST RVKTEST\G24 MD RVKTEST\G24
|
||||
ECHO G24_EMF > F:\RVKTEST\G24\TEST.TXT
|
||||
IF NOT EXIST RVKTEST\G25 MD RVKTEST\G25
|
||||
ECHO G25_SAL > F:\RVKTEST\G25\TEST.TXT
|
||||
IF NOT EXIST RVKTEST\G26 MD RVKTEST\G26
|
||||
ECHO G26_ALL > F:\RVKTEST\G26\TEST.TXT
|
||||
IF NOT EXIST RVKTEST\G30 MD RVKTEST\G30
|
||||
ECHO G30_RE > F:\RVKTEST\G30\TEST.TXT
|
||||
IF NOT EXIST RVKTEST\G31 MD RVKTEST\G31
|
||||
ECHO G31_RWF > F:\RVKTEST\G31\TEST.TXT
|
||||
IF NOT EXIST RVKTEST\G32 MD RVKTEST\G32
|
||||
ECHO G32_RCM > F:\RVKTEST\G32\TEST.TXT
|
||||
IF NOT EXIST RVKTEST\G33 MD RVKTEST\G33
|
||||
ECHO G33_RFA > F:\RVKTEST\G33\TEST.TXT
|
||||
IF NOT EXIST RVKTEST\G34 MD RVKTEST\G34
|
||||
ECHO G34_WCM > F:\RVKTEST\G34\TEST.TXT
|
||||
IF NOT EXIST RVKTEST\G35 MD RVKTEST\G35
|
||||
ECHO G35_EMF > F:\RVKTEST\G35\TEST.TXT
|
||||
IF NOT EXIST RVKTEST\G36 MD RVKTEST\G36
|
||||
ECHO G36_RMF > F:\RVKTEST\G36\TEST.TXT
|
||||
IF NOT EXIST RVKTEST\G37 MD RVKTEST\G37
|
||||
ECHO G37_REMA > F:\RVKTEST\G37\TEST.TXT
|
||||
IF NOT EXIST RVKTEST\G38 MD RVKTEST\G38
|
||||
ECHO G38_SR > F:\RVKTEST\G38\TEST.TXT
|
||||
IF NOT EXIST RVKTEST\G39 MD RVKTEST\G39
|
||||
ECHO G39_SRF > F:\RVKTEST\G39\TEST.TXT
|
||||
IF NOT EXIST RVKTEST\G40 MD RVKTEST\G40
|
||||
ECHO G40_SWCM > F:\RVKTEST\G40\TEST.TXT
|
||||
IF NOT EXIST RVKTEST\F10 MD RVKTEST\F10
|
||||
ECHO F10_R > F:\RVKTEST\F10\T.TXT
|
||||
IF NOT EXIST RVKTEST\F11 MD RVKTEST\F11
|
||||
ECHO F11_RF > F:\RVKTEST\F11\T.TXT
|
||||
IF NOT EXIST RVKTEST\F12 MD RVKTEST\F12
|
||||
ECHO F12_RAL > F:\RVKTEST\F12\T.TXT
|
||||
IF NOT EXIST RVKTEST\F13 MD RVKTEST\F13
|
||||
ECHO F13_ALL > F:\RVKTEST\F13\T.TXT
|
||||
IF NOT EXIST RVKTEST\F14 MD RVKTEST\F14
|
||||
ECHO F14_N > F:\RVKTEST\F14\T.TXT
|
||||
IF NOT EXIST RVKTEST\F15 MD RVKTEST\F15
|
||||
ECHO F15_S > F:\RVKTEST\F15\T.TXT
|
||||
IF NOT EXIST RVKTEST\F16 MD RVKTEST\F16
|
||||
ECHO F16_SAL > F:\RVKTEST\F16\T.TXT
|
||||
IF NOT EXIST RVKTEST\S10 MD RVKTEST\S10
|
||||
IF NOT EXIST RVKTEST\S10\S1 MD RVKTEST\S10\S1
|
||||
IF NOT EXIST RVKTEST\S10\S2 MD RVKTEST\S10\S2
|
||||
ECHO S10_R root > F:\RVKTEST\S10\ROOT.TXT
|
||||
ECHO S10_R s1 > F:\RVKTEST\S10\S1\S1.TXT
|
||||
ECHO S10_R s2 > F:\RVKTEST\S10\S2\S2.TXT
|
||||
IF NOT EXIST RVKTEST\S11 MD RVKTEST\S11
|
||||
IF NOT EXIST RVKTEST\S11\S1 MD RVKTEST\S11\S1
|
||||
IF NOT EXIST RVKTEST\S11\S2 MD RVKTEST\S11\S2
|
||||
ECHO S11_RWC root > F:\RVKTEST\S11\ROOT.TXT
|
||||
ECHO S11_RWC s1 > F:\RVKTEST\S11\S1\S1.TXT
|
||||
ECHO S11_RWC s2 > F:\RVKTEST\S11\S2\S2.TXT
|
||||
IF NOT EXIST RVKTEST\S12 MD RVKTEST\S12
|
||||
IF NOT EXIST RVKTEST\S12\S1 MD RVKTEST\S12\S1
|
||||
IF NOT EXIST RVKTEST\S12\S2 MD RVKTEST\S12\S2
|
||||
ECHO S12_ALL root > F:\RVKTEST\S12\ROOT.TXT
|
||||
ECHO S12_ALL s1 > F:\RVKTEST\S12\S1\S1.TXT
|
||||
ECHO S12_ALL s2 > F:\RVKTEST\S12\S2\S2.TXT
|
||||
IF NOT EXIST RVKTEST\S13 MD RVKTEST\S13
|
||||
IF NOT EXIST RVKTEST\S13\S1 MD RVKTEST\S13\S1
|
||||
IF NOT EXIST RVKTEST\S13\S2 MD RVKTEST\S13\S2
|
||||
ECHO S13_SAL root > F:\RVKTEST\S13\ROOT.TXT
|
||||
ECHO S13_SAL s1 > F:\RVKTEST\S13\S1\S1.TXT
|
||||
ECHO S13_SAL s2 > F:\RVKTEST\S13\S2\S2.TXT
|
||||
IF NOT EXIST RVKTEST\EMPTY MD RVKTEST\EMPTY
|
||||
IF NOT EXIST RVKTEST\OPTBOTH MD RVKTEST\OPTBOTH
|
||||
IF NOT EXIST RVKTEST\OPTBOTH\SUB MD RVKTEST\OPTBOTH\SUB
|
||||
ECHO E94 root > F:\RVKTEST\OPTBOTH\ROOT.TXT
|
||||
ECHO E94 sub > F:\RVKTEST\OPTBOTH\SUB\SUB.TXT
|
||||
|
||||
ECHO REVOKE ONE FILE > F:\RVKTEST\ONE\ONE.TXT
|
||||
ECHO REVOKE TREE FILE > F:\RVKTEST\TREE\TROOT.TXT
|
||||
ECHO REVOKE SUB1 FILE > F:\RVKTEST\TREE\SUB1\SUB1.TXT
|
||||
ECHO REVOKE SUB2 FILE > F:\RVKTEST\TREE\SUB2\SUB2.TXT
|
||||
ECHO REVOKE SUBDIRECTORY S1 > F:\RVKTEST\SUBTST\S1\S1.TXT
|
||||
ECHO REVOKE SUBDIRECTORY S2 > F:\RVKTEST\SUBTST\S2\S2.TXT
|
||||
ECHO REVOKE OPTION ROOT > F:\RVKTEST\OPTBOTH\ROOT.TXT
|
||||
ECHO REVOKE OPTION SUB > F:\RVKTEST\OPTBOTH\SUB\SUB.TXT
|
||||
ECHO REVOKE FILE A > F:\RVKTEST\FILES\A.TXT
|
||||
ECHO REVOKE FILE B > F:\RVKTEST\FILES\B.TXT
|
||||
IF NOT EXIST RVKCMP MD RVKCMP
|
||||
IF NOT EXIST RVKCMP\OUT MD RVKCMP\OUT
|
||||
IF NOT EXIST RVKCMP\PUBOUT MD RVKCMP\PUBOUT
|
||||
IF NOT EXIST RVKCMP\SETUP MD RVKCMP\SETUP
|
||||
IF NOT EXIST RVKCMP\UNOV MD RVKCMP\UNOV
|
||||
IF NOT EXIST RVKCMP\UPUB MD RVKCMP\UPUB
|
||||
IF NOT EXIST RVKCMP\USETUP MD RVKCMP\USETUP
|
||||
IF NOT EXIST C:\RVKTMP MD C:\RVKTMP
|
||||
|
||||
ECHO RVKSTA REVOKE baseline test > F:\RVKCMP\RUN.LOG
|
||||
ECHO Run this as SUPERVISOR or equivalent. >> F:\RVKCMP\RUN.LOG
|
||||
ECHO Setup uses \NPUBLIC\GRANT, test captures \NPUBLIC\REVOKE output for user MARIO. >> F:\RVKCMP\RUN.LOG
|
||||
ECHO RVKSTA REVOKE comparison test > F:\RVKCMP\RUN.LOG
|
||||
ECHO OUT = Novell baseline with \NPUBLIC\REVOKE >> F:\RVKCMP\RUN.LOG
|
||||
ECHO PUBOUT = our implementation with \PUBLIC\REVOKE >> F:\RVKCMP\RUN.LOG
|
||||
ECHO User-context target: NOPASSUSER >> F:\RVKCMP\RUN.LOG
|
||||
ECHO. >> F:\RVKCMP\RUN.LOG
|
||||
|
||||
ECHO === SETUP grants === >> F:\RVKCMP\RUN.LOG
|
||||
\NPUBLIC\GRANT R W C E M F A FOR F:\RVKTEST\ONE TO USER MARIO > F:\RVKCMP\SETUP\S01_ONE_GRANT.OUT
|
||||
\NPUBLIC\GRANT R W C E M F A FOR F:\RVKTEST\TREE TO USER MARIO /SUBDIRECTORIES > F:\RVKCMP\SETUP\S02_TREE_GRANT.OUT
|
||||
\NPUBLIC\GRANT R W C E M F A FOR F:\RVKTEST\FILES\A.TXT TO USER MARIO /FILES > F:\RVKCMP\SETUP\S03_FILE_A_GRANT.OUT
|
||||
\NPUBLIC\GRANT R W C E M F A FOR F:\RVKTEST\FILES\B.TXT TO USER MARIO /FILES > F:\RVKCMP\SETUP\S04_FILE_B_GRANT.OUT
|
||||
REM Direct subdirectory trustees for D20, because REVOKE /SUBDIRECTORIES acts on trustees below the named directory.
|
||||
\NPUBLIC\GRANT R W C E M F A FOR F:\RVKTEST\SUBTST\S1 TO USER MARIO > F:\RVKCMP\SETUP\S05_SUBTST_S1_GRANT.OUT
|
||||
\NPUBLIC\GRANT R W C E M F A FOR F:\RVKTEST\SUBTST\S2 TO USER MARIO > F:\RVKCMP\SETUP\S06_SUBTST_S2_GRANT.OUT
|
||||
REM Independent tree with both files and subdirectories for D93 option-combination behavior.
|
||||
\NPUBLIC\GRANT R W C E M F A FOR F:\RVKTEST\OPTBOTH TO USER MARIO > F:\RVKCMP\SETUP\S07_OPTBOTH_ROOT_GRANT.OUT
|
||||
\NPUBLIC\GRANT R W C E M F A FOR F:\RVKTEST\OPTBOTH\SUB TO USER MARIO > F:\RVKCMP\SETUP\S08_OPTBOTH_SUB_GRANT.OUT
|
||||
\NPUBLIC\GRANT R W C E M F A FOR F:\RVKTEST\OPTBOTH\ROOT.TXT TO USER MARIO /FILES > F:\RVKCMP\SETUP\S09_OPTBOTH_FILE_GRANT.OUT
|
||||
|
||||
ECHO === D01 usage/help === >> F:\RVKCMP\RUN.LOG
|
||||
ECHO Starting D01_HELP...
|
||||
\NPUBLIC\REVOKE /? > F:\RVKCMP\OUT\D01_HELP.OUT
|
||||
\PUBLIC\REVOKE /? > F:\RVKCMP\PUBOUT\D01_HELP.OUT
|
||||
ECHO Starting D02_NOAR...
|
||||
\NPUBLIC\REVOKE > F:\RVKCMP\OUT\D02_NOAR.OUT
|
||||
\PUBLIC\REVOKE > F:\RVKCMP\PUBOUT\D02_NOAR.OUT
|
||||
|
||||
ECHO === D02 no arguments === >> F:\RVKCMP\RUN.LOG
|
||||
\NPUBLIC\REVOKE > F:\RVKCMP\OUT\D02_NOARGS.OUT
|
||||
ECHO Starting G10_R directory revoke R...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G10 > F:\RVKCMP\SETUP\G10_R_NREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G10 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G10_R_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE R FOR F:\RVKTEST\G10 FROM USER NOPASSUSER > F:\RVKCMP\OUT\G10_R.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G10 > F:\RVKCMP\SETUP\G10_R_PREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G10 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G10_R_PGRANT.OUT
|
||||
\PUBLIC\REVOKE R FOR F:\RVKTEST\G10 FROM USER NOPASSUSER > F:\RVKCMP\PUBOUT\G10_R.OUT
|
||||
|
||||
ECHO === D10 revoke W M from directory === >> F:\RVKCMP\RUN.LOG
|
||||
\NPUBLIC\REVOKE W M FOR F:\RVKTEST\ONE FROM USER MARIO > F:\RVKCMP\OUT\D10_DIR_REVOKE_WM.OUT
|
||||
ECHO Starting G11_W directory revoke W...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G11 > F:\RVKCMP\SETUP\G11_W_NREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G11 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G11_W_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE W FOR F:\RVKTEST\G11 FROM USER NOPASSUSER > F:\RVKCMP\OUT\G11_W.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G11 > F:\RVKCMP\SETUP\G11_W_PREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G11 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G11_W_PGRANT.OUT
|
||||
\PUBLIC\REVOKE W FOR F:\RVKTEST\G11 FROM USER NOPASSUSER > F:\RVKCMP\PUBOUT\G11_W.OUT
|
||||
|
||||
ECHO === D11 revoke ALL from directory / remove trustee === >> F:\RVKCMP\RUN.LOG
|
||||
\NPUBLIC\REVOKE ALL FOR F:\RVKTEST\ONE FROM USER MARIO > F:\RVKCMP\OUT\D11_DIR_REVOKE_ALL.OUT
|
||||
ECHO Starting G12_C directory revoke C...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G12 > F:\RVKCMP\SETUP\G12_C_NREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G12 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G12_C_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE C FOR F:\RVKTEST\G12 FROM USER NOPASSUSER > F:\RVKCMP\OUT\G12_C.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G12 > F:\RVKCMP\SETUP\G12_C_PREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G12 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G12_C_PGRANT.OUT
|
||||
\PUBLIC\REVOKE C FOR F:\RVKTEST\G12 FROM USER NOPASSUSER > F:\RVKCMP\PUBOUT\G12_C.OUT
|
||||
|
||||
ECHO === D20 revoke C E recursively from direct subdirectory trustees === >> F:\RVKCMP\RUN.LOG
|
||||
\NPUBLIC\REVOKE C E FOR F:\RVKTEST\SUBTST FROM USER MARIO /SUBDIRECTORIES > F:\RVKCMP\OUT\D20_SUBDIRS_REVOKE_CE.OUT
|
||||
ECHO Starting G13_E directory revoke E...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G13 > F:\RVKCMP\SETUP\G13_E_NREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G13 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G13_E_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE E FOR F:\RVKTEST\G13 FROM USER NOPASSUSER > F:\RVKCMP\OUT\G13_E.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G13 > F:\RVKCMP\SETUP\G13_E_PREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G13 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G13_E_PGRANT.OUT
|
||||
\PUBLIC\REVOKE E FOR F:\RVKTEST\G13 FROM USER NOPASSUSER > F:\RVKCMP\PUBOUT\G13_E.OUT
|
||||
|
||||
ECHO === D21 revoke R from one explicit file === >> F:\RVKCMP\RUN.LOG
|
||||
\NPUBLIC\REVOKE R FOR F:\RVKTEST\FILES\A.TXT FROM USER MARIO /FILES > F:\RVKCMP\OUT\D21_FILE_REVOKE_R.OUT
|
||||
ECHO Starting G14_M directory revoke M...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G14 > F:\RVKCMP\SETUP\G14_M_NREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G14 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G14_M_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE M FOR F:\RVKTEST\G14 FROM USER NOPASSUSER > F:\RVKCMP\OUT\G14_M.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G14 > F:\RVKCMP\SETUP\G14_M_PREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G14 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G14_M_PGRANT.OUT
|
||||
\PUBLIC\REVOKE M FOR F:\RVKTEST\G14 FROM USER NOPASSUSER > F:\RVKCMP\PUBOUT\G14_M.OUT
|
||||
|
||||
ECHO === D22 revoke W from files in a directory === >> F:\RVKCMP\RUN.LOG
|
||||
\NPUBLIC\REVOKE W FOR F:\RVKTEST\FILES FROM USER MARIO /FILES > F:\RVKCMP\OUT\D22_FILES_DIR_REVOKE_W.OUT
|
||||
ECHO Starting G15_F directory revoke F...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G15 > F:\RVKCMP\SETUP\G15_F_NREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G15 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G15_F_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE F FOR F:\RVKTEST\G15 FROM USER NOPASSUSER > F:\RVKCMP\OUT\G15_F.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G15 > F:\RVKCMP\SETUP\G15_F_PREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G15 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G15_F_PGRANT.OUT
|
||||
\PUBLIC\REVOKE F FOR F:\RVKTEST\G15 FROM USER NOPASSUSER > F:\RVKCMP\PUBOUT\G15_F.OUT
|
||||
|
||||
ECHO === D30 relative path from F:\RVKTEST === >> F:\RVKCMP\RUN.LOG
|
||||
\NPUBLIC\GRANT R W C E M F A FOR F:\RVKTEST\ONE TO USER MARIO > F:\RVKCMP\SETUP\S30_ONE_REGRANT.OUT
|
||||
CD \RVKTEST
|
||||
\NPUBLIC\REVOKE W FOR ONE FROM USER MARIO > F:\RVKCMP\OUT\D30_REL_DIR_REVOKE_W.OUT
|
||||
ECHO Starting G16_A directory revoke A...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G16 > F:\RVKCMP\SETUP\G16_A_NREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G16 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G16_A_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE A FOR F:\RVKTEST\G16 FROM USER NOPASSUSER > F:\RVKCMP\OUT\G16_A.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G16 > F:\RVKCMP\SETUP\G16_A_PREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G16 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G16_A_PGRANT.OUT
|
||||
\PUBLIC\REVOKE A FOR F:\RVKTEST\G16 FROM USER NOPASSUSER > F:\RVKCMP\PUBOUT\G16_A.OUT
|
||||
|
||||
ECHO Starting G17_S directory revoke S...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G17 > F:\RVKCMP\SETUP\G17_S_NREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G17 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G17_S_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE S FOR F:\RVKTEST\G17 FROM USER NOPASSUSER > F:\RVKCMP\OUT\G17_S.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G17 > F:\RVKCMP\SETUP\G17_S_PREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G17 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G17_S_PGRANT.OUT
|
||||
\PUBLIC\REVOKE S FOR F:\RVKTEST\G17 FROM USER NOPASSUSER > F:\RVKCMP\PUBOUT\G17_S.OUT
|
||||
|
||||
ECHO Starting G20_RF directory revoke R F...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G20 > F:\RVKCMP\SETUP\G20_RF_NREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G20 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G20_RF_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE R F FOR F:\RVKTEST\G20 FROM USER NOPASSUSER > F:\RVKCMP\OUT\G20_RF.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G20 > F:\RVKCMP\SETUP\G20_RF_PREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G20 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G20_RF_PGRANT.OUT
|
||||
\PUBLIC\REVOKE R F FOR F:\RVKTEST\G20 FROM USER NOPASSUSER > F:\RVKCMP\PUBOUT\G20_RF.OUT
|
||||
|
||||
ECHO Starting G21_RW directory revoke R W...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G21 > F:\RVKCMP\SETUP\G21_RW_NREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G21 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G21_RW_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE R W FOR F:\RVKTEST\G21 FROM USER NOPASSUSER > F:\RVKCMP\OUT\G21_RW.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G21 > F:\RVKCMP\SETUP\G21_RW_PREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G21 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G21_RW_PGRANT.OUT
|
||||
\PUBLIC\REVOKE R W FOR F:\RVKTEST\G21 FROM USER NOPASSUSER > F:\RVKCMP\PUBOUT\G21_RW.OUT
|
||||
|
||||
ECHO Starting G22_RWC directory revoke R W C...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G22 > F:\RVKCMP\SETUP\G22_RWC_NREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G22 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G22_RWC_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE R W C FOR F:\RVKTEST\G22 FROM USER NOPASSUSER > F:\RVKCMP\OUT\G22_RWC.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G22 > F:\RVKCMP\SETUP\G22_RWC_PREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G22 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G22_RWC_PGRANT.OUT
|
||||
\PUBLIC\REVOKE R W C FOR F:\RVKTEST\G22 FROM USER NOPASSUSER > F:\RVKCMP\PUBOUT\G22_RWC.OUT
|
||||
|
||||
ECHO Starting G23_RWCE directory revoke R W C E...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G23 > F:\RVKCMP\SETUP\G23_RWCE_NREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G23 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G23_RWCE_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE R W C E FOR F:\RVKTEST\G23 FROM USER NOPASSUSER > F:\RVKCMP\OUT\G23_RWCE.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G23 > F:\RVKCMP\SETUP\G23_RWCE_PREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G23 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G23_RWCE_PGRANT.OUT
|
||||
\PUBLIC\REVOKE R W C E FOR F:\RVKTEST\G23 FROM USER NOPASSUSER > F:\RVKCMP\PUBOUT\G23_RWCE.OUT
|
||||
|
||||
ECHO Starting G24_EMF directory revoke E M F...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G24 > F:\RVKCMP\SETUP\G24_EMF_NREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G24 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G24_EMF_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE E M F FOR F:\RVKTEST\G24 FROM USER NOPASSUSER > F:\RVKCMP\OUT\G24_EMF.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G24 > F:\RVKCMP\SETUP\G24_EMF_PREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G24 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G24_EMF_PGRANT.OUT
|
||||
\PUBLIC\REVOKE E M F FOR F:\RVKTEST\G24 FROM USER NOPASSUSER > F:\RVKCMP\PUBOUT\G24_EMF.OUT
|
||||
|
||||
ECHO Starting G25_SAL directory revoke S A...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G25 > F:\RVKCMP\SETUP\G25_SAL_NREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G25 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G25_SAL_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE S A FOR F:\RVKTEST\G25 FROM USER NOPASSUSER > F:\RVKCMP\OUT\G25_SAL.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G25 > F:\RVKCMP\SETUP\G25_SAL_PREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G25 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G25_SAL_PGRANT.OUT
|
||||
\PUBLIC\REVOKE S A FOR F:\RVKTEST\G25 FROM USER NOPASSUSER > F:\RVKCMP\PUBOUT\G25_SAL.OUT
|
||||
|
||||
ECHO Starting G26_ALL directory revoke ALL...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G26 > F:\RVKCMP\SETUP\G26_ALL_NREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G26 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G26_ALL_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE ALL FOR F:\RVKTEST\G26 FROM USER NOPASSUSER > F:\RVKCMP\OUT\G26_ALL.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G26 > F:\RVKCMP\SETUP\G26_ALL_PREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G26 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G26_ALL_PGRANT.OUT
|
||||
\PUBLIC\REVOKE ALL FOR F:\RVKTEST\G26 FROM USER NOPASSUSER > F:\RVKCMP\PUBOUT\G26_ALL.OUT
|
||||
|
||||
ECHO Starting G30_RE directory revoke R E...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G30 > F:\RVKCMP\SETUP\G30_RE_NREM.OUT
|
||||
\NPUBLIC\GRANT R E FOR F:\RVKTEST\G30 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G30_RE_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE R FOR F:\RVKTEST\G30 FROM USER NOPASSUSER > F:\RVKCMP\OUT\G30_RE.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G30 > F:\RVKCMP\SETUP\G30_RE_PREM.OUT
|
||||
\NPUBLIC\GRANT R E FOR F:\RVKTEST\G30 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G30_RE_PGRANT.OUT
|
||||
\PUBLIC\REVOKE R FOR F:\RVKTEST\G30 FROM USER NOPASSUSER > F:\RVKCMP\PUBOUT\G30_RE.OUT
|
||||
|
||||
ECHO Starting G31_RWF directory revoke W from R W F...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G31 > F:\RVKCMP\SETUP\G31_RWF_NREM.OUT
|
||||
\NPUBLIC\GRANT R W F FOR F:\RVKTEST\G31 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G31_RWF_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE W FOR F:\RVKTEST\G31 FROM USER NOPASSUSER > F:\RVKCMP\OUT\G31_RWF.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G31 > F:\RVKCMP\SETUP\G31_RWF_PREM.OUT
|
||||
\NPUBLIC\GRANT R W F FOR F:\RVKTEST\G31 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G31_RWF_PGRANT.OUT
|
||||
\PUBLIC\REVOKE W FOR F:\RVKTEST\G31 FROM USER NOPASSUSER > F:\RVKCMP\PUBOUT\G31_RWF.OUT
|
||||
|
||||
ECHO Starting G32_RCM directory revoke C from R C M...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G32 > F:\RVKCMP\SETUP\G32_RCM_NREM.OUT
|
||||
\NPUBLIC\GRANT R C M FOR F:\RVKTEST\G32 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G32_RCM_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE C FOR F:\RVKTEST\G32 FROM USER NOPASSUSER > F:\RVKCMP\OUT\G32_RCM.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G32 > F:\RVKCMP\SETUP\G32_RCM_PREM.OUT
|
||||
\NPUBLIC\GRANT R C M FOR F:\RVKTEST\G32 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G32_RCM_PGRANT.OUT
|
||||
\PUBLIC\REVOKE C FOR F:\RVKTEST\G32 FROM USER NOPASSUSER > F:\RVKCMP\PUBOUT\G32_RCM.OUT
|
||||
|
||||
ECHO Starting G33_RFA directory revoke F A from R F A...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G33 > F:\RVKCMP\SETUP\G33_RFA_NREM.OUT
|
||||
\NPUBLIC\GRANT R F A FOR F:\RVKTEST\G33 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G33_RFA_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE F A FOR F:\RVKTEST\G33 FROM USER NOPASSUSER > F:\RVKCMP\OUT\G33_RFA.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G33 > F:\RVKCMP\SETUP\G33_RFA_PREM.OUT
|
||||
\NPUBLIC\GRANT R F A FOR F:\RVKTEST\G33 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G33_RFA_PGRANT.OUT
|
||||
\PUBLIC\REVOKE F A FOR F:\RVKTEST\G33 FROM USER NOPASSUSER > F:\RVKCMP\PUBOUT\G33_RFA.OUT
|
||||
|
||||
ECHO Starting G34_WCM directory revoke W C from W C M...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G34 > F:\RVKCMP\SETUP\G34_WCM_NREM.OUT
|
||||
\NPUBLIC\GRANT W C M FOR F:\RVKTEST\G34 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G34_WCM_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE W C FOR F:\RVKTEST\G34 FROM USER NOPASSUSER > F:\RVKCMP\OUT\G34_WCM.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G34 > F:\RVKCMP\SETUP\G34_WCM_PREM.OUT
|
||||
\NPUBLIC\GRANT W C M FOR F:\RVKTEST\G34 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G34_WCM_PGRANT.OUT
|
||||
\PUBLIC\REVOKE W C FOR F:\RVKTEST\G34 FROM USER NOPASSUSER > F:\RVKCMP\PUBOUT\G34_WCM.OUT
|
||||
|
||||
ECHO Starting G35_EMF directory revoke E M from E M F...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G35 > F:\RVKCMP\SETUP\G35_EMF_NREM.OUT
|
||||
\NPUBLIC\GRANT E M F FOR F:\RVKTEST\G35 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G35_EMF_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE E M FOR F:\RVKTEST\G35 FROM USER NOPASSUSER > F:\RVKCMP\OUT\G35_EMF.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G35 > F:\RVKCMP\SETUP\G35_EMF_PREM.OUT
|
||||
\NPUBLIC\GRANT E M F FOR F:\RVKTEST\G35 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G35_EMF_PGRANT.OUT
|
||||
\PUBLIC\REVOKE E M FOR F:\RVKTEST\G35 FROM USER NOPASSUSER > F:\RVKCMP\PUBOUT\G35_EMF.OUT
|
||||
|
||||
ECHO Starting G36_RMF directory revoke M from R M F...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G36 > F:\RVKCMP\SETUP\G36_RMF_NREM.OUT
|
||||
\NPUBLIC\GRANT R M F FOR F:\RVKTEST\G36 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G36_RMF_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE M FOR F:\RVKTEST\G36 FROM USER NOPASSUSER > F:\RVKCMP\OUT\G36_RMF.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G36 > F:\RVKCMP\SETUP\G36_RMF_PREM.OUT
|
||||
\NPUBLIC\GRANT R M F FOR F:\RVKTEST\G36 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G36_RMF_PGRANT.OUT
|
||||
\PUBLIC\REVOKE M FOR F:\RVKTEST\G36 FROM USER NOPASSUSER > F:\RVKCMP\PUBOUT\G36_RMF.OUT
|
||||
|
||||
ECHO Starting G37_REMA directory revoke R E M A...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G37 > F:\RVKCMP\SETUP\G37_REMA_NREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G37 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G37_REMA_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE R E M A FOR F:\RVKTEST\G37 FROM USER NOPASSUSER > F:\RVKCMP\OUT\G37_REMA.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G37 > F:\RVKCMP\SETUP\G37_REMA_PREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G37 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G37_REMA_PGRANT.OUT
|
||||
\PUBLIC\REVOKE R E M A FOR F:\RVKTEST\G37 FROM USER NOPASSUSER > F:\RVKCMP\PUBOUT\G37_REMA.OUT
|
||||
|
||||
ECHO Starting G38_SR directory revoke S R...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G38 > F:\RVKCMP\SETUP\G38_SR_NREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G38 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G38_SR_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE S R FOR F:\RVKTEST\G38 FROM USER NOPASSUSER > F:\RVKCMP\OUT\G38_SR.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G38 > F:\RVKCMP\SETUP\G38_SR_PREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G38 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G38_SR_PGRANT.OUT
|
||||
\PUBLIC\REVOKE S R FOR F:\RVKTEST\G38 FROM USER NOPASSUSER > F:\RVKCMP\PUBOUT\G38_SR.OUT
|
||||
|
||||
ECHO Starting G39_SRF directory revoke S R F...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G39 > F:\RVKCMP\SETUP\G39_SRF_NREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G39 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G39_SRF_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE S R F FOR F:\RVKTEST\G39 FROM USER NOPASSUSER > F:\RVKCMP\OUT\G39_SRF.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G39 > F:\RVKCMP\SETUP\G39_SRF_PREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G39 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G39_SRF_PGRANT.OUT
|
||||
\PUBLIC\REVOKE S R F FOR F:\RVKTEST\G39 FROM USER NOPASSUSER > F:\RVKCMP\PUBOUT\G39_SRF.OUT
|
||||
|
||||
ECHO Starting G40_SWCM directory revoke S W C M...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G40 > F:\RVKCMP\SETUP\G40_SWCM_NREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G40 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G40_SWCM_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE S W C M FOR F:\RVKTEST\G40 FROM USER NOPASSUSER > F:\RVKCMP\OUT\G40_SWCM.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\G40 > F:\RVKCMP\SETUP\G40_SWCM_PREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\G40 TO USER NOPASSUSER > F:\RVKCMP\SETUP\G40_SWCM_PGRANT.OUT
|
||||
\PUBLIC\REVOKE S W C M FOR F:\RVKTEST\G40 FROM USER NOPASSUSER > F:\RVKCMP\PUBOUT\G40_SWCM.OUT
|
||||
|
||||
ECHO Starting F10_R file revoke R...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\F10\T.TXT /FILES > F:\RVKCMP\SETUP\F10_R_NREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\F10\T.TXT TO USER NOPASSUSER /FILES > F:\RVKCMP\SETUP\F10_R_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE R FOR F:\RVKTEST\F10\T.TXT FROM USER NOPASSUSER /FILES > F:\RVKCMP\OUT\F10_R.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\F10\T.TXT /FILES > F:\RVKCMP\SETUP\F10_R_PREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\F10\T.TXT TO USER NOPASSUSER /FILES > F:\RVKCMP\SETUP\F10_R_PGRANT.OUT
|
||||
\PUBLIC\REVOKE R FOR F:\RVKTEST\F10\T.TXT FROM USER NOPASSUSER /FILES > F:\RVKCMP\PUBOUT\F10_R.OUT
|
||||
|
||||
ECHO Starting F11_RF file revoke R F...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\F11\T.TXT /FILES > F:\RVKCMP\SETUP\F11_RF_NREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\F11\T.TXT TO USER NOPASSUSER /FILES > F:\RVKCMP\SETUP\F11_RF_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE R F FOR F:\RVKTEST\F11\T.TXT FROM USER NOPASSUSER /FILES > F:\RVKCMP\OUT\F11_RF.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\F11\T.TXT /FILES > F:\RVKCMP\SETUP\F11_RF_PREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\F11\T.TXT TO USER NOPASSUSER /FILES > F:\RVKCMP\SETUP\F11_RF_PGRANT.OUT
|
||||
\PUBLIC\REVOKE R F FOR F:\RVKTEST\F11\T.TXT FROM USER NOPASSUSER /FILES > F:\RVKCMP\PUBOUT\F11_RF.OUT
|
||||
|
||||
ECHO Starting F12_RAL file revoke R A...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\F12\T.TXT /FILES > F:\RVKCMP\SETUP\F12_RAL_NREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\F12\T.TXT TO USER NOPASSUSER /FILES > F:\RVKCMP\SETUP\F12_RAL_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE R A FOR F:\RVKTEST\F12\T.TXT FROM USER NOPASSUSER /FILES > F:\RVKCMP\OUT\F12_RAL.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\F12\T.TXT /FILES > F:\RVKCMP\SETUP\F12_RAL_PREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\F12\T.TXT TO USER NOPASSUSER /FILES > F:\RVKCMP\SETUP\F12_RAL_PGRANT.OUT
|
||||
\PUBLIC\REVOKE R A FOR F:\RVKTEST\F12\T.TXT FROM USER NOPASSUSER /FILES > F:\RVKCMP\PUBOUT\F12_RAL.OUT
|
||||
|
||||
ECHO Starting F13_ALL file revoke ALL...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\F13\T.TXT /FILES > F:\RVKCMP\SETUP\F13_ALL_NREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\F13\T.TXT TO USER NOPASSUSER /FILES > F:\RVKCMP\SETUP\F13_ALL_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE ALL FOR F:\RVKTEST\F13\T.TXT FROM USER NOPASSUSER /FILES > F:\RVKCMP\OUT\F13_ALL.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\F13\T.TXT /FILES > F:\RVKCMP\SETUP\F13_ALL_PREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\F13\T.TXT TO USER NOPASSUSER /FILES > F:\RVKCMP\SETUP\F13_ALL_PGRANT.OUT
|
||||
\PUBLIC\REVOKE ALL FOR F:\RVKTEST\F13\T.TXT FROM USER NOPASSUSER /FILES > F:\RVKCMP\PUBOUT\F13_ALL.OUT
|
||||
|
||||
ECHO Starting F14_N file revoke W from R W...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\F14\T.TXT /FILES > F:\RVKCMP\SETUP\F14_N_NREM.OUT
|
||||
\NPUBLIC\GRANT R W FOR F:\RVKTEST\F14\T.TXT TO USER NOPASSUSER /FILES > F:\RVKCMP\SETUP\F14_N_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE W FOR F:\RVKTEST\F14\T.TXT FROM USER NOPASSUSER /FILES > F:\RVKCMP\OUT\F14_N.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\F14\T.TXT /FILES > F:\RVKCMP\SETUP\F14_N_PREM.OUT
|
||||
\NPUBLIC\GRANT R W FOR F:\RVKTEST\F14\T.TXT TO USER NOPASSUSER /FILES > F:\RVKCMP\SETUP\F14_N_PGRANT.OUT
|
||||
\PUBLIC\REVOKE W FOR F:\RVKTEST\F14\T.TXT FROM USER NOPASSUSER /FILES > F:\RVKCMP\PUBOUT\F14_N.OUT
|
||||
|
||||
ECHO Starting F15_S file revoke S...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\F15\T.TXT /FILES > F:\RVKCMP\SETUP\F15_S_NREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\F15\T.TXT TO USER NOPASSUSER /FILES > F:\RVKCMP\SETUP\F15_S_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE S FOR F:\RVKTEST\F15\T.TXT FROM USER NOPASSUSER /FILES > F:\RVKCMP\OUT\F15_S.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\F15\T.TXT /FILES > F:\RVKCMP\SETUP\F15_S_PREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\F15\T.TXT TO USER NOPASSUSER /FILES > F:\RVKCMP\SETUP\F15_S_PGRANT.OUT
|
||||
\PUBLIC\REVOKE S FOR F:\RVKTEST\F15\T.TXT FROM USER NOPASSUSER /FILES > F:\RVKCMP\PUBOUT\F15_S.OUT
|
||||
|
||||
ECHO Starting F16_SAL file revoke S A...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\F16\T.TXT /FILES > F:\RVKCMP\SETUP\F16_SAL_NREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\F16\T.TXT TO USER NOPASSUSER /FILES > F:\RVKCMP\SETUP\F16_SAL_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE S A FOR F:\RVKTEST\F16\T.TXT FROM USER NOPASSUSER /FILES > F:\RVKCMP\OUT\F16_SAL.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\F16\T.TXT /FILES > F:\RVKCMP\SETUP\F16_SAL_PREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\F16\T.TXT TO USER NOPASSUSER /FILES > F:\RVKCMP\SETUP\F16_SAL_PGRANT.OUT
|
||||
\PUBLIC\REVOKE S A FOR F:\RVKTEST\F16\T.TXT FROM USER NOPASSUSER /FILES > F:\RVKCMP\PUBOUT\F16_SAL.OUT
|
||||
|
||||
ECHO Starting S10_R subdirectory revoke R...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\S10 /SUBDIRECTORIES > F:\RVKCMP\SETUP\S10_R_NREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\S10 TO USER NOPASSUSER /SUBDIRECTORIES > F:\RVKCMP\SETUP\S10_R_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE R FOR F:\RVKTEST\S10 FROM USER NOPASSUSER /SUBDIRECTORIES > F:\RVKCMP\OUT\S10_R.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\S10 /SUBDIRECTORIES > F:\RVKCMP\SETUP\S10_R_PREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\S10 TO USER NOPASSUSER /SUBDIRECTORIES > F:\RVKCMP\SETUP\S10_R_PGRANT.OUT
|
||||
\PUBLIC\REVOKE R FOR F:\RVKTEST\S10 FROM USER NOPASSUSER /SUBDIRECTORIES > F:\RVKCMP\PUBOUT\S10_R.OUT
|
||||
|
||||
ECHO Starting S11_RWC subdirectory revoke R W C...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\S11 /SUBDIRECTORIES > F:\RVKCMP\SETUP\S11_RWC_NREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\S11 TO USER NOPASSUSER /SUBDIRECTORIES > F:\RVKCMP\SETUP\S11_RWC_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE R W C FOR F:\RVKTEST\S11 FROM USER NOPASSUSER /SUBDIRECTORIES > F:\RVKCMP\OUT\S11_RWC.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\S11 /SUBDIRECTORIES > F:\RVKCMP\SETUP\S11_RWC_PREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\S11 TO USER NOPASSUSER /SUBDIRECTORIES > F:\RVKCMP\SETUP\S11_RWC_PGRANT.OUT
|
||||
\PUBLIC\REVOKE R W C FOR F:\RVKTEST\S11 FROM USER NOPASSUSER /SUBDIRECTORIES > F:\RVKCMP\PUBOUT\S11_RWC.OUT
|
||||
|
||||
ECHO Starting S12_ALL subdirectory revoke ALL...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\S12 /SUBDIRECTORIES > F:\RVKCMP\SETUP\S12_ALL_NREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\S12 TO USER NOPASSUSER /SUBDIRECTORIES > F:\RVKCMP\SETUP\S12_ALL_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE ALL FOR F:\RVKTEST\S12 FROM USER NOPASSUSER /SUBDIRECTORIES > F:\RVKCMP\OUT\S12_ALL.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\S12 /SUBDIRECTORIES > F:\RVKCMP\SETUP\S12_ALL_PREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\S12 TO USER NOPASSUSER /SUBDIRECTORIES > F:\RVKCMP\SETUP\S12_ALL_PGRANT.OUT
|
||||
\PUBLIC\REVOKE ALL FOR F:\RVKTEST\S12 FROM USER NOPASSUSER /SUBDIRECTORIES > F:\RVKCMP\PUBOUT\S12_ALL.OUT
|
||||
|
||||
ECHO Starting S13_SAL subdirectory revoke S A...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\S13 /SUBDIRECTORIES > F:\RVKCMP\SETUP\S13_SAL_NREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\S13 TO USER NOPASSUSER /SUBDIRECTORIES > F:\RVKCMP\SETUP\S13_SAL_NGRANT.OUT
|
||||
\NPUBLIC\REVOKE S A FOR F:\RVKTEST\S13 FROM USER NOPASSUSER /SUBDIRECTORIES > F:\RVKCMP\OUT\S13_SAL.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\S13 /SUBDIRECTORIES > F:\RVKCMP\SETUP\S13_SAL_PREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\S13 TO USER NOPASSUSER /SUBDIRECTORIES > F:\RVKCMP\SETUP\S13_SAL_PGRANT.OUT
|
||||
\PUBLIC\REVOKE S A FOR F:\RVKTEST\S13 FROM USER NOPASSUSER /SUBDIRECTORIES > F:\RVKCMP\PUBOUT\S13_SAL.OUT
|
||||
|
||||
ECHO Starting E90_NOTR no trustee...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\EMPTY > F:\RVKCMP\SETUP\E90_NREM.OUT
|
||||
\NPUBLIC\REVOKE R FOR F:\RVKTEST\EMPTY FROM USER NOPASSUSER > F:\RVKCMP\OUT\E90_NOTR.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\EMPTY > F:\RVKCMP\SETUP\E90_PREM.OUT
|
||||
\PUBLIC\REVOKE R FOR F:\RVKTEST\EMPTY FROM USER NOPASSUSER > F:\RVKCMP\PUBOUT\E90_NOTR.OUT
|
||||
ECHO Starting E91_MUSR missing user...
|
||||
\NPUBLIC\REVOKE R FOR F:\RVKTEST\G10 FROM USER NO_SUCH_USER > F:\RVKCMP\OUT\E91_MUSR.OUT
|
||||
\PUBLIC\REVOKE R FOR F:\RVKTEST\G10 FROM USER NO_SUCH_USER > F:\RVKCMP\PUBOUT\E91_MUSR.OUT
|
||||
ECHO Starting E92_MISD missing path...
|
||||
\NPUBLIC\REVOKE R FOR F:\RVKTEST\MISSING\NOFILE.TXT FROM USER NOPASSUSER > F:\RVKCMP\OUT\E92_MISD.OUT
|
||||
\PUBLIC\REVOKE R FOR F:\RVKTEST\MISSING\NOFILE.TXT FROM USER NOPASSUSER > F:\RVKCMP\PUBOUT\E92_MISD.OUT
|
||||
ECHO Starting E93_BADD invalid right...
|
||||
\NPUBLIC\REVOKE BADRIGHT FOR F:\RVKTEST\G10 FROM USER NOPASSUSER > F:\RVKCMP\OUT\E93_BADD.OUT
|
||||
\PUBLIC\REVOKE BADRIGHT FOR F:\RVKTEST\G10 FROM USER NOPASSUSER > F:\RVKCMP\PUBOUT\E93_BADD.OUT
|
||||
ECHO Starting E94_BOTH /FILES and /SUBDIRECTORIES...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\OPTBOTH /FILES > F:\RVKCMP\SETUP\E94_NFREM.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\OPTBOTH /SUBDIRECTORIES > F:\RVKCMP\SETUP\E94_NSREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\OPTBOTH TO USER NOPASSUSER /FILES > F:\RVKCMP\SETUP\E94_NFGRANT.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\OPTBOTH TO USER NOPASSUSER /SUBDIRECTORIES > F:\RVKCMP\SETUP\E94_NSGRANT.OUT
|
||||
\NPUBLIC\REVOKE R FOR F:\RVKTEST\OPTBOTH FROM USER NOPASSUSER /FILES /SUBDIRECTORIES > F:\RVKCMP\OUT\E94_BOTH.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\OPTBOTH /FILES > F:\RVKCMP\SETUP\E94_PFREM.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RVKTEST\OPTBOTH /SUBDIRECTORIES > F:\RVKCMP\SETUP\E94_PSREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\OPTBOTH TO USER NOPASSUSER /FILES > F:\RVKCMP\SETUP\E94_PFGRANT.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RVKTEST\OPTBOTH TO USER NOPASSUSER /SUBDIRECTORIES > F:\RVKCMP\SETUP\E94_PSGRANT.OUT
|
||||
\PUBLIC\REVOKE R FOR F:\RVKTEST\OPTBOTH FROM USER NOPASSUSER /FILES /SUBDIRECTORIES > F:\RVKCMP\PUBOUT\E94_BOTH.OUT
|
||||
ECHO Starting E95_GRAM bad grammar...
|
||||
\NPUBLIC\REVOKE R FOR F:\RVKTEST\G10 USER NOPASSUSER > F:\RVKCMP\OUT\E95_GRAM.OUT
|
||||
\PUBLIC\REVOKE R FOR F:\RVKTEST\G10 USER NOPASSUSER > F:\RVKCMP\PUBOUT\E95_GRAM.OUT
|
||||
|
||||
ECHO === COMPARE NOVELL OUT AGAINST PUBLIC OUT === > F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing D01_HELP >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\D01_HELP.OUT F:\RVKCMP\PUBOUT\D01_HELP.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing D02_NOAR >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\D02_NOAR.OUT F:\RVKCMP\PUBOUT\D02_NOAR.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing G10_R >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\G10_R.OUT F:\RVKCMP\PUBOUT\G10_R.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing G11_W >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\G11_W.OUT F:\RVKCMP\PUBOUT\G11_W.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing G12_C >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\G12_C.OUT F:\RVKCMP\PUBOUT\G12_C.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing G13_E >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\G13_E.OUT F:\RVKCMP\PUBOUT\G13_E.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing G14_M >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\G14_M.OUT F:\RVKCMP\PUBOUT\G14_M.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing G15_F >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\G15_F.OUT F:\RVKCMP\PUBOUT\G15_F.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing G16_A >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\G16_A.OUT F:\RVKCMP\PUBOUT\G16_A.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing G17_S >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\G17_S.OUT F:\RVKCMP\PUBOUT\G17_S.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing G20_RF >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\G20_RF.OUT F:\RVKCMP\PUBOUT\G20_RF.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing G21_RW >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\G21_RW.OUT F:\RVKCMP\PUBOUT\G21_RW.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing G22_RWC >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\G22_RWC.OUT F:\RVKCMP\PUBOUT\G22_RWC.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing G23_RWCE >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\G23_RWCE.OUT F:\RVKCMP\PUBOUT\G23_RWCE.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing G24_EMF >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\G24_EMF.OUT F:\RVKCMP\PUBOUT\G24_EMF.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing G25_SAL >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\G25_SAL.OUT F:\RVKCMP\PUBOUT\G25_SAL.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing G26_ALL >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\G26_ALL.OUT F:\RVKCMP\PUBOUT\G26_ALL.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing G30_RE >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\G30_RE.OUT F:\RVKCMP\PUBOUT\G30_RE.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing G31_RWF >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\G31_RWF.OUT F:\RVKCMP\PUBOUT\G31_RWF.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing G32_RCM >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\G32_RCM.OUT F:\RVKCMP\PUBOUT\G32_RCM.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing G33_RFA >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\G33_RFA.OUT F:\RVKCMP\PUBOUT\G33_RFA.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing G34_WCM >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\G34_WCM.OUT F:\RVKCMP\PUBOUT\G34_WCM.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing G35_EMF >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\G35_EMF.OUT F:\RVKCMP\PUBOUT\G35_EMF.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing G36_RMF >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\G36_RMF.OUT F:\RVKCMP\PUBOUT\G36_RMF.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing G37_REMA >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\G37_REMA.OUT F:\RVKCMP\PUBOUT\G37_REMA.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing G38_SR >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\G38_SR.OUT F:\RVKCMP\PUBOUT\G38_SR.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing G39_SRF >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\G39_SRF.OUT F:\RVKCMP\PUBOUT\G39_SRF.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing G40_SWCM >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\G40_SWCM.OUT F:\RVKCMP\PUBOUT\G40_SWCM.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing F10_R >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\F10_R.OUT F:\RVKCMP\PUBOUT\F10_R.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing F11_RF >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\F11_RF.OUT F:\RVKCMP\PUBOUT\F11_RF.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing F12_RAL >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\F12_RAL.OUT F:\RVKCMP\PUBOUT\F12_RAL.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing F13_ALL >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\F13_ALL.OUT F:\RVKCMP\PUBOUT\F13_ALL.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing F14_N >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\F14_N.OUT F:\RVKCMP\PUBOUT\F14_N.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing F15_S >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\F15_S.OUT F:\RVKCMP\PUBOUT\F15_S.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing F16_SAL >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\F16_SAL.OUT F:\RVKCMP\PUBOUT\F16_SAL.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing S10_R >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\S10_R.OUT F:\RVKCMP\PUBOUT\S10_R.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing S11_RWC >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\S11_RWC.OUT F:\RVKCMP\PUBOUT\S11_RWC.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing S12_ALL >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\S12_ALL.OUT F:\RVKCMP\PUBOUT\S12_ALL.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing S13_SAL >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\S13_SAL.OUT F:\RVKCMP\PUBOUT\S13_SAL.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing E90_NOTR >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\E90_NOTR.OUT F:\RVKCMP\PUBOUT\E90_NOTR.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing E91_MUSR >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\E91_MUSR.OUT F:\RVKCMP\PUBOUT\E91_MUSR.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing E92_MISD >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\E92_MISD.OUT F:\RVKCMP\PUBOUT\E92_MISD.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing E93_BADD >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\E93_BADD.OUT F:\RVKCMP\PUBOUT\E93_BADD.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing E94_BOTH >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\E94_BOTH.OUT F:\RVKCMP\PUBOUT\E94_BOTH.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
ECHO Comparing E95_GRAM >> F:\RVKCMP\COMPARE.LOG
|
||||
FC F:\RVKCMP\OUT\E95_GRAM.OUT F:\RVKCMP\PUBOUT\E95_GRAM.OUT >> F:\RVKCMP\COMPARE.LOG
|
||||
|
||||
REM --- Queue user-context RIGHTS readback helper. ---
|
||||
IF "%LGNTPWD%"=="" GOTO NEEDPWD
|
||||
IF EXIST \PUBLIC\DLYSTRT.EXE COPY \PUBLIC\DLYSTRT.EXE C:\RVKTMP > NUL
|
||||
IF EXIST C:\RVKTMP\DLYSTRT.EXE GOTO HAVEDLY
|
||||
ECHO ERROR: DLYSTRT.EXE not found. >> F:\RVKCMP\RUN.LOG
|
||||
ECHO ERROR: DLYSTRT.EXE not found.
|
||||
GOTO END
|
||||
|
||||
:HAVEDLY
|
||||
COPY F:\RVKSTA.BAT C:\RVKTMP > NUL
|
||||
COPY F:\RVKC.BAT C:\RVKTMP > NUL
|
||||
C:
|
||||
CD \RVKTMP
|
||||
DLYSTRT /T:2 RVKC.BAT
|
||||
ECHO RVKC queued via DLYSTRT. >> F:\RVKCMP\RUN.LOG
|
||||
ECHO RVKC wurde via DLYSTRT gestartet.
|
||||
ECHO Nach automatischem Re-Login wird RVKSTA PART2 gestartet.
|
||||
GOTO END
|
||||
|
||||
:PART2
|
||||
F:
|
||||
CD \
|
||||
IF NOT EXIST RVKCMP\UNOV MD RVKCMP\UNOV
|
||||
IF NOT EXIST RVKCMP\UPUB MD RVKCMP\UPUB
|
||||
IF EXIST C:\RVKTMP\UNOV\*.* COPY C:\RVKTMP\UNOV\*.* F:\RVKCMP\UNOV > NUL
|
||||
IF EXIST C:\RVKTMP\UPUB\*.* COPY C:\RVKTMP\UPUB\*.* F:\RVKCMP\UPUB > NUL
|
||||
IF EXIST C:\RVKTMP\HELPER.TXT COPY C:\RVKTMP\HELPER.TXT F:\RVKCMP\HELPER.TXT > NUL
|
||||
IF EXIST C:\RVKTMP\ULOG1.OUT COPY C:\RVKTMP\ULOG1.OUT F:\RVKCMP\ULOG1.OUT > NUL
|
||||
IF EXIST C:\RVKTMP\ULOGIN.OUT COPY C:\RVKTMP\ULOGIN.OUT F:\RVKCMP\ULOGIN.OUT > NUL
|
||||
IF EXIST C:\RVKTMP\ULOG2.OUT COPY C:\RVKTMP\ULOG2.OUT F:\RVKCMP\ULOG2.OUT > NUL
|
||||
IF EXIST C:\RVKTMP\ULGSUP.OUT COPY C:\RVKTMP\ULGSUP.OUT F:\RVKCMP\ULGSUP.OUT > NUL
|
||||
|
||||
ECHO === D90 no trustee on directory === >> F:\RVKCMP\RUN.LOG
|
||||
\NPUBLIC\REVOKE R FOR F:\RVKTEST\EMPTY FROM USER MARIO > F:\RVKCMP\OUT\D90_NO_TRUSTEE.OUT
|
||||
|
||||
ECHO === D91 missing user === >> F:\RVKCMP\RUN.LOG
|
||||
\NPUBLIC\REVOKE R FOR F:\RVKTEST\ONE FROM USER NO_SUCH_USER > F:\RVKCMP\OUT\D91_MISSING_USER.OUT
|
||||
|
||||
ECHO === D92 missing path === >> F:\RVKCMP\RUN.LOG
|
||||
\NPUBLIC\REVOKE R FOR F:\RVKTEST\MISSING\NOFILE.TXT FROM USER MARIO > F:\RVKCMP\OUT\D92_MISSING_PATH.OUT
|
||||
|
||||
ECHO === D93 both /FILES and /SUBDIRECTORIES === >> F:\RVKCMP\RUN.LOG
|
||||
\NPUBLIC\REVOKE R FOR F:\RVKTEST\OPTBOTH FROM USER MARIO /FILES /SUBDIRECTORIES > F:\RVKCMP\OUT\D93_FILES_AND_SUBDIRS.OUT
|
||||
|
||||
ECHO === D94 bad grammar / missing FROM === >> F:\RVKCMP\RUN.LOG
|
||||
\NPUBLIC\REVOKE R FOR F:\RVKTEST\ONE USER MARIO > F:\RVKCMP\OUT\D94_BAD_GRAMMAR.OUT
|
||||
ECHO === COMPARE NOPASSUSER NOVELL RIGHTS AGAINST PUBLIC RIGHTS === > F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing G10_R >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\G10_R.OUT F:\RVKCMP\UPUB\G10_R.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing G11_W >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\G11_W.OUT F:\RVKCMP\UPUB\G11_W.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing G12_C >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\G12_C.OUT F:\RVKCMP\UPUB\G12_C.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing G13_E >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\G13_E.OUT F:\RVKCMP\UPUB\G13_E.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing G14_M >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\G14_M.OUT F:\RVKCMP\UPUB\G14_M.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing G15_F >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\G15_F.OUT F:\RVKCMP\UPUB\G15_F.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing G16_A >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\G16_A.OUT F:\RVKCMP\UPUB\G16_A.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing G17_S >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\G17_S.OUT F:\RVKCMP\UPUB\G17_S.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing G20_RF >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\G20_RF.OUT F:\RVKCMP\UPUB\G20_RF.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing G21_RW >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\G21_RW.OUT F:\RVKCMP\UPUB\G21_RW.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing G22_RWC >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\G22_RWC.OUT F:\RVKCMP\UPUB\G22_RWC.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing G23_RWCE >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\G23_RWCE.OUT F:\RVKCMP\UPUB\G23_RWCE.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing G24_EMF >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\G24_EMF.OUT F:\RVKCMP\UPUB\G24_EMF.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing G25_SAL >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\G25_SAL.OUT F:\RVKCMP\UPUB\G25_SAL.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing G26_ALL >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\G26_ALL.OUT F:\RVKCMP\UPUB\G26_ALL.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing G30_RE >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\G30_RE.OUT F:\RVKCMP\UPUB\G30_RE.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing G31_RWF >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\G31_RWF.OUT F:\RVKCMP\UPUB\G31_RWF.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing G32_RCM >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\G32_RCM.OUT F:\RVKCMP\UPUB\G32_RCM.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing G33_RFA >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\G33_RFA.OUT F:\RVKCMP\UPUB\G33_RFA.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing G34_WCM >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\G34_WCM.OUT F:\RVKCMP\UPUB\G34_WCM.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing G35_EMF >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\G35_EMF.OUT F:\RVKCMP\UPUB\G35_EMF.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing G36_RMF >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\G36_RMF.OUT F:\RVKCMP\UPUB\G36_RMF.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing G37_REMA >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\G37_REMA.OUT F:\RVKCMP\UPUB\G37_REMA.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing G38_SR >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\G38_SR.OUT F:\RVKCMP\UPUB\G38_SR.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing G39_SRF >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\G39_SRF.OUT F:\RVKCMP\UPUB\G39_SRF.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing G40_SWCM >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\G40_SWCM.OUT F:\RVKCMP\UPUB\G40_SWCM.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing F10_R >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\F10_R.OUT F:\RVKCMP\UPUB\F10_R.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing F11_RF >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\F11_RF.OUT F:\RVKCMP\UPUB\F11_RF.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing F12_RAL >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\F12_RAL.OUT F:\RVKCMP\UPUB\F12_RAL.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing F13_ALL >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\F13_ALL.OUT F:\RVKCMP\UPUB\F13_ALL.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing F14_N >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\F14_N.OUT F:\RVKCMP\UPUB\F14_N.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing F15_S >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\F15_S.OUT F:\RVKCMP\UPUB\F15_S.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing F16_SAL >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\F16_SAL.OUT F:\RVKCMP\UPUB\F16_SAL.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing S10_R >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\S10_R.OUT F:\RVKCMP\UPUB\S10_R.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing S11_RWC >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\S11_RWC.OUT F:\RVKCMP\UPUB\S11_RWC.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing S12_ALL >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\S12_ALL.OUT F:\RVKCMP\UPUB\S12_ALL.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
ECHO Comparing S13_SAL >> F:\RVKCMP\UCOMP.LOG
|
||||
FC F:\RVKCMP\UNOV\S13_SAL.OUT F:\RVKCMP\UPUB\S13_SAL.OUT >> F:\RVKCMP\UCOMP.LOG
|
||||
|
||||
ECHO === SUMMARY === > F:\RVKCMP\SUMMARY.TXT
|
||||
ECHO RVKSTA REVOKE baseline finished. >> F:\RVKCMP\SUMMARY.TXT
|
||||
ECHO. >> F:\RVKCMP\SUMMARY.TXT
|
||||
ECHO Expected: >> F:\RVKCMP\SUMMARY.TXT
|
||||
ECHO - D10/D11 capture normal directory revoke and trustee removal. >> F:\RVKCMP\SUMMARY.TXT
|
||||
ECHO - D20 captures /SUBDIRECTORIES behavior using direct trustees on child directories. >> F:\RVKCMP\SUMMARY.TXT
|
||||
ECHO - D21/D22 capture /FILES behavior for explicit files and directory file sets. >> F:\RVKCMP\SUMMARY.TXT
|
||||
ECHO - D30 captures relative path behavior with absolute \NPUBLIC\REVOKE invocation. >> F:\RVKCMP\SUMMARY.TXT
|
||||
ECHO - D90-D94 capture no-trustee, missing-user, missing-path/Novell no-trustee behavior, option combination, and grammar errors. >> F:\RVKCMP\SUMMARY.TXT
|
||||
ECHO RVKSTA REVOKE comparison finished. >> F:\RVKCMP\SUMMARY.TXT
|
||||
ECHO. >> F:\RVKCMP\SUMMARY.TXT
|
||||
ECHO Direct mode compares NPUBLIC REVOKE against PUBLIC REVOKE. >> F:\RVKCMP\SUMMARY.TXT
|
||||
ECHO Matrix covers single rights, mixed rights, ALL removal, file mode, and subdirectory mode. >> F:\RVKCMP\SUMMARY.TXT
|
||||
ECHO User-context mode logs in as NOPASSUSER and compares RIGHTS output after PUBLIC REVOKE. >> F:\RVKCMP\SUMMARY.TXT
|
||||
ECHO Optional: RVKZIP ausfuehren. >> F:\RVKCMP\SUMMARY.TXT
|
||||
|
||||
ECHO RVKSTA fertig.
|
||||
ECHO RVKSTA PART2 fertig.
|
||||
ECHO Ergebnisse liegen in F:\RVKCMP
|
||||
ECHO Optional: RVKZIP ausfuehren.
|
||||
GOTO END
|
||||
|
||||
:NEEDPWD
|
||||
ECHO ERROR: LGNTPWD ist nicht gesetzt.
|
||||
ECHO Fuer den automatischen REVOKE/NOPASSUSER-Test zuerst setzen, z.B.:
|
||||
ECHO SET LGNTPWD=dein-supervisor-passwort
|
||||
ECHO Danach starten:
|
||||
ECHO F:\RVKSTA
|
||||
ECHO Es wurde kein DLYSTRT installiert und kein User-Kontext-Test gestartet.
|
||||
|
||||
:END
|
||||
|
||||
@@ -10,13 +10,13 @@ IF EXIST RVKSTA.ZIP DEL RVKSTA.ZIP
|
||||
IF EXIST ZIP.LOG DEL ZIP.LOG
|
||||
|
||||
ECHO Creating RVKSTA.ZIP > ZIP.LOG
|
||||
ZIP -r RVKSTA.ZIP RUN.LOG SUMMARY.TXT SETUP OUT >> ZIP.LOG
|
||||
|
||||
ZIP -r RVKSTA.ZIP RUN.LOG SUMMARY.TXT COMPARE.LOG UCOMP.LOG HELPER.TXT ULOG1.OUT ULOGIN.OUT ULOG2.OUT ULGSUP.OUT OUT PUBOUT SETUP UNOV UPUB USETUP >> ZIP.LOG
|
||||
|
||||
REM Cleanup generated test directories after ZIP.
|
||||
REM Keep the CMP/result directory because it contains the ZIP and ZIP.LOG.
|
||||
ECHO Cleaning generated test directories... >> ZIP.LOG
|
||||
IF EXIST \RVKTEST\NUL DELTREE /Y \RVKTEST >> ZIP.LOG
|
||||
IF EXIST C:\RVKTMP\NUL DELTREE /Y C:\RVKTMP >> ZIP.LOG
|
||||
CD \
|
||||
ECHO.
|
||||
ECHO ZIP step finished.
|
||||
|
||||
@@ -1,45 +1,47 @@
|
||||
# RGHTSTA - RIGHTS comparison test
|
||||
|
||||
`RGHTSTA.BAT` compares Novell `RIGHTS` with the current implementation.
|
||||
|
||||
Result directories:
|
||||
|
||||
```text
|
||||
F:\RGHTCMP\OUT Novell baseline using \NPUBLIC\RIGHTS
|
||||
F:\RGHTCMP\PUBOUT current implementation using \PUBLIC\RIGHTS
|
||||
F:\RGHTCMP\COMPARE.LOG
|
||||
```
|
||||
|
||||
The test keeps the original Novell-baseline behavior and adds the public-tool
|
||||
comparison layer.
|
||||
|
||||
Coverage:
|
||||
|
||||
- default/current directory from `F:\`
|
||||
- explicit directory and subdirectory paths
|
||||
- explicit file and nested file paths
|
||||
- default/current directory from inside the test directory
|
||||
- relative file and relative directory paths
|
||||
- missing directory/file paths
|
||||
- too-many-arguments and `/?` usage/help cases
|
||||
|
||||
operation. Its redirected output must be identical to the normal Novell output.
|
||||
That means:
|
||||
|
||||
```text
|
||||
OUT == PUBOUT
|
||||
```
|
||||
|
||||
Run:
|
||||
|
||||
```bat
|
||||
F:
|
||||
CD \
|
||||
RGHTSTA
|
||||
RGHTZIP
|
||||
```
|
||||
|
||||
The generated test tree is `F:\RGHTEST`. `RGHTZIP.BAT` packages the result and
|
||||
then removes `F:\RGHTEST` again so the SYS root stays clean.
|
||||
|
||||
Note: `RIGHTS` currently has no short-output comparison in this baseline test. That switch exists for NDIR-style output control and should only be added to RIGHTS later if the tool implements it explicitly.
|
||||
# RGHTSTA - RIGHTS comparison test
|
||||
|
||||
`RGHTSTA.BAT` compares Novell `RIGHTS` with the current implementation.
|
||||
|
||||
## Run
|
||||
|
||||
Run while logged in and with `F:` mapped to `SYS:`:
|
||||
|
||||
```bat
|
||||
F:
|
||||
CD \
|
||||
RGHTSTA
|
||||
RGHTZIP
|
||||
```
|
||||
|
||||
## Result layout
|
||||
|
||||
```text
|
||||
F:\RGHTCMP\OUT Novell baseline using \NPUBLIC\RIGHTS
|
||||
F:\RGHTCMP\PUBOUT current implementation using \PUBLIC\RIGHTS
|
||||
F:\RGHTCMP\COMPARE.LOG
|
||||
F:\RGHTCMP\RUN.LOG
|
||||
F:\RGHTCMP\SUMMARY.TXT
|
||||
```
|
||||
|
||||
`RGHTZIP.BAT` packages the result tree and removes the generated `F:\RGHTEST`
|
||||
test tree afterwards.
|
||||
|
||||
## Coverage
|
||||
|
||||
- default/current directory from `F:\`
|
||||
- explicit directory and subdirectory paths
|
||||
- explicit file and nested file paths
|
||||
- default/current directory from inside the test directory
|
||||
- relative file and relative directory paths
|
||||
- missing directory/file paths
|
||||
- too-many-arguments and `/?` usage/help cases
|
||||
|
||||
Expected comparison:
|
||||
|
||||
```text
|
||||
OUT == PUBOUT
|
||||
```
|
||||
|
||||
`RIGHTS` has no `/SHORT` comparison in this test. That switch belongs to the
|
||||
NDIR diagnostic output and should only be added to RIGHTS if the tool explicitly
|
||||
implements it later.
|
||||
|
||||
@@ -1,21 +1,106 @@
|
||||
# SLSTSTA - SLIST baseline test
|
||||
# SLSTSTA - SLIST logged-in/logged-out compare test
|
||||
|
||||
Novell-only baseline for `SLIST` behavior.
|
||||
`SLSTSTA.BAT` compares Novell `SLIST` with the current public implementation in
|
||||
both states in which SLIST is expected to work:
|
||||
|
||||
Runs `NPUBLIC\SLIST` with:
|
||||
1. **Logged in**: `\NPUBLIC\SLIST` vs `\PUBLIC\SLIST`.
|
||||
2. **Logged out**: `\NLOGIN\SLIST.EXE` vs `\LOGIN\SLIST.EXE`, copied to a local
|
||||
`C:\SLSTTMP` helper directory before logout.
|
||||
|
||||
- no argument
|
||||
- `MARS` as expected existing server
|
||||
- `NWBYGONE01` as expected missing-server/negative test
|
||||
- `/CONTINUE` variants
|
||||
- `/?` usage output
|
||||
SLIST is also installed in `SYS:LOGIN`, so the logged-out phase is important.
|
||||
After `LOGOUT`, the network drive `F:` is gone; therefore the helper runs from
|
||||
`C:\SLSTTMP` and only returns to `F:` after logging `SUPERVISOR` back in.
|
||||
|
||||
Results are written to `F:\SLSTCMP`. Optional packaging is done with `SLSTZIP.BAT`.
|
||||
## Run
|
||||
|
||||
`D99_HELP.OUT` is intentionally simulated with:
|
||||
Run while logged in as `SUPERVISOR` and with `F:` mapped to `SYS:`.
|
||||
|
||||
For the full logged-in and logged-out comparison:
|
||||
|
||||
```bat
|
||||
SET LGNTPWD=your-supervisor-password
|
||||
F:
|
||||
CD \
|
||||
SLSTSTA
|
||||
```
|
||||
|
||||
If `LGNTPWD` is not set, only the logged-in `NPUBLIC` vs `PUBLIC` comparison is
|
||||
run. The logged-out phase is skipped.
|
||||
|
||||
Package manually after the run:
|
||||
|
||||
```bat
|
||||
SLSTZIP
|
||||
```
|
||||
|
||||
Result ZIP:
|
||||
|
||||
```text
|
||||
F:\SLSTCMP\SLSTSTA.ZIP
|
||||
```
|
||||
|
||||
## Result layout
|
||||
|
||||
```text
|
||||
F:\SLSTCMP\OUT logged-in Novell baseline from \NPUBLIC\SLIST
|
||||
F:\SLSTCMP\PUBOUT logged-in PUBLIC output from \PUBLIC\SLIST
|
||||
F:\SLSTCMP\COMPARE.LOG
|
||||
|
||||
F:\SLSTCMP\LOUT logged-out Novell baseline from local NLOGIN copy
|
||||
F:\SLSTCMP\LPUBOUT logged-out LOGIN output from local LOGIN copy
|
||||
F:\SLSTCMP\LCOMP.LOG
|
||||
|
||||
F:\SLSTCMP\RUN.LOG
|
||||
F:\SLSTCMP\HELPER.TXT
|
||||
F:\SLSTCMP\SUMMARY.TXT
|
||||
```
|
||||
|
||||
## Logged-out helper flow
|
||||
|
||||
`SLSTSTA.BAT` copies the files required after logout to `C:\SLSTTMP`:
|
||||
|
||||
```text
|
||||
\NLOGIN\SLIST.EXE -> C:\SLSTTMP\NSLIST.EXE
|
||||
\LOGIN\SLIST.EXE -> C:\SLSTTMP\SLIST.EXE
|
||||
\NPUBLIC\LOGOUT.EXE
|
||||
\LOGIN\LOGIN.EXE
|
||||
\PUBLIC\DLYSTRT.EXE
|
||||
F:\SLSTC.BAT
|
||||
```
|
||||
|
||||
The public SLIST copy is intentionally named `SLIST.EXE`, not `PSLIST.EXE`,
|
||||
because the public DOS tools are a multi-call executable and dispatch by their
|
||||
own program name.
|
||||
|
||||
`SLSTC.BAT` then:
|
||||
|
||||
1. runs `LOGOUT`,
|
||||
2. runs both SLIST copies while no user is logged in,
|
||||
3. logs back in as `SUPERVISOR` using `LOGIN /PWD:%LGNTPWD%`,
|
||||
4. queues `F:\SLSTSTA.BAT PART2` through the local `DLYSTRT.EXE`.
|
||||
|
||||
## Coverage
|
||||
|
||||
Each phase captures the same matrix:
|
||||
|
||||
```text
|
||||
SLIST
|
||||
SLIST MARS
|
||||
SLIST NWBYGONE01
|
||||
SLIST /CONTINUE
|
||||
SLIST MARS /CONTINUE
|
||||
SLIST NWBYGONE01 /CONTINUE
|
||||
SLIST /?
|
||||
```
|
||||
|
||||
`MARS` is expected to exist. `NWBYGONE01` is expected to be missing.
|
||||
|
||||
`D99_HELP.OUT` for the Novell side is intentionally simulated with:
|
||||
|
||||
```text
|
||||
Usage: SLIST [Server] [/Continue]
|
||||
```
|
||||
|
||||
Reason: the Novell `SLIST /?` help text was observed on the console, but it does not reliably land in the redirected output file. Later, our implementation should run `SLIST /? > D99_HELP.OUT`, and this simulated Novell baseline gives us a stable file for comparison.
|
||||
The Novell `SLIST /?` text is visible on the console but does not always land in
|
||||
the redirected output file. The public implementation is redirected normally and
|
||||
must match this stable baseline.
|
||||
|
||||
73
test/slist/SLSTC.BAT
Normal file
73
test/slist/SLSTC.BAT
Normal file
@@ -0,0 +1,73 @@
|
||||
@ECHO OFF
|
||||
REM SLSTC.BAT
|
||||
REM Local helper for SLSTSTA.BAT logged-out SLIST comparison.
|
||||
REM Runs from C:\SLSTTMP. It logs out, runs SLIST without any logged-in
|
||||
REM user, logs SUPERVISOR back in, then queues F:\SLSTSTA.BAT PART2.
|
||||
|
||||
C:
|
||||
CD \SLSTTMP
|
||||
|
||||
ECHO SLSTC helper started. > C:\SLSTTMP\HELPER.TXT
|
||||
ECHO This helper logs out and runs SLIST while no user is logged in. >> C:\SLSTTMP\HELPER.TXT
|
||||
ECHO. >> C:\SLSTTMP\HELPER.TXT
|
||||
|
||||
IF NOT EXIST LOUT\NUL MD LOUT
|
||||
IF NOT EXIST LPUBOUT\NUL MD LPUBOUT
|
||||
|
||||
ECHO === L00 LOGOUT from initial session === >> C:\SLSTTMP\HELPER.TXT
|
||||
C:\SLSTTMP\LOGOUT.EXE > C:\SLSTTMP\L00_LOG.OUT
|
||||
|
||||
ECHO === LOGGED-OUT NOVELL BASELINE: NLOGIN\SLIST === >> C:\SLSTTMP\HELPER.TXT
|
||||
C:\SLSTTMP\NSLIST.EXE > C:\SLSTTMP\LOUT\D01_LIST.OUT
|
||||
C:\SLSTTMP\NSLIST.EXE MARS > C:\SLSTTMP\LOUT\D02_MARS_OK.OUT
|
||||
C:\SLSTTMP\NSLIST.EXE NWBYGONE01 > C:\SLSTTMP\LOUT\D03_NWBYGONE01_MISSING.OUT
|
||||
C:\SLSTTMP\NSLIST.EXE /CONTINUE > C:\SLSTTMP\LOUT\D04_CONT.OUT
|
||||
C:\SLSTTMP\NSLIST.EXE MARS /CONTINUE > C:\SLSTTMP\LOUT\D05_MARS_CONT_OK.OUT
|
||||
C:\SLSTTMP\NSLIST.EXE NWBYGONE01 /CONTINUE > C:\SLSTTMP\LOUT\D06_NWBYGONE01_CONT_MISSING.OUT
|
||||
ECHO Usage: SLIST [Server] [/Continue] > C:\SLSTTMP\LOUT\D99_HELP.OUT
|
||||
|
||||
ECHO === LOGGED-OUT PUBLIC IMPLEMENTATION: LOGIN\SLIST === >> C:\SLSTTMP\HELPER.TXT
|
||||
C:\SLSTTMP\SLIST.EXE > C:\SLSTTMP\LPUBOUT\D01_LIST.OUT
|
||||
C:\SLSTTMP\SLIST.EXE MARS > C:\SLSTTMP\LPUBOUT\D02_MARS_OK.OUT
|
||||
C:\SLSTTMP\SLIST.EXE NWBYGONE01 > C:\SLSTTMP\LPUBOUT\D03_NWBYGONE01_MISSING.OUT
|
||||
C:\SLSTTMP\SLIST.EXE /CONTINUE > C:\SLSTTMP\LPUBOUT\D04_CONT.OUT
|
||||
C:\SLSTTMP\SLIST.EXE MARS /CONTINUE > C:\SLSTTMP\LPUBOUT\D05_MARS_CONT_OK.OUT
|
||||
C:\SLSTTMP\SLIST.EXE NWBYGONE01 /CONTINUE > C:\SLSTTMP\LPUBOUT\D06_NWBYGONE01_CONT_MISSING.OUT
|
||||
C:\SLSTTMP\SLIST.EXE /? > C:\SLSTTMP\LPUBOUT\D99_HELP.OUT
|
||||
|
||||
IF "%LGNTPWD%"=="" GOTO MANUAL
|
||||
|
||||
ECHO === L99 LOGIN SUPERVISOR using local LOGIN === >> C:\SLSTTMP\HELPER.TXT
|
||||
C:\SLSTTMP\LOGIN.EXE SUPERVISOR /PWD:%LGNTPWD% > C:\SLSTTMP\L99_LGSUP.OUT
|
||||
|
||||
F:
|
||||
CD \
|
||||
IF EXIST F:\SLSTSTA.BAT GOTO QUEUEP2
|
||||
ECHO F: not restored or F:\SLSTSTA.BAT missing after supervisor login. >> C:\SLSTTMP\HELPER.TXT
|
||||
ECHO.
|
||||
ECHO F: wurde nicht wiederhergestellt oder F:\SLSTSTA.BAT fehlt.
|
||||
ECHO Bitte manuell pruefen und dann ausfuehren:
|
||||
ECHO F:
|
||||
ECHO CD \
|
||||
ECHO SLSTSTA PART2
|
||||
GOTO END
|
||||
|
||||
:QUEUEP2
|
||||
ECHO F: is available. Queueing delayed SLSTSTA PART2. >> C:\SLSTTMP\HELPER.TXT
|
||||
C:
|
||||
CD \SLSTTMP
|
||||
C:\SLSTTMP\DLYSTRT.EXE /T:2 F:\SLSTSTA.BAT PART2 > C:\SLSTTMP\L98_P2.OUT
|
||||
ECHO SLSTC queued F:\SLSTSTA.BAT PART2. >> C:\SLSTTMP\HELPER.TXT
|
||||
ECHO.
|
||||
ECHO SLSTC fertig. PART2 wird per DLYSTRT gestartet.
|
||||
GOTO END
|
||||
|
||||
:MANUAL
|
||||
ECHO LGNTPWD is not set; automatic SUPERVISOR login skipped. >> C:\SLSTTMP\HELPER.TXT
|
||||
ECHO.
|
||||
ECHO SLSTC fertig. Jetzt manuell wieder als SUPERVISOR einloggen.
|
||||
ECHO Danach ausfuehren:
|
||||
ECHO F:\SLSTSTA PART2
|
||||
ECHO.
|
||||
|
||||
:END
|
||||
@@ -1,66 +1,233 @@
|
||||
@ECHO OFF
|
||||
REM SLSTSTA.BAT
|
||||
REM Automated SLIST test for MARS NWE.
|
||||
REM
|
||||
REM Uses NPUBLIC\SLIST as Novell baseline for currently implemented tool behavior.
|
||||
REM Servers:
|
||||
REM MARS expected to exist
|
||||
REM NWBYGONE01 expected negative/missing-server test
|
||||
REM
|
||||
REM Result tree:
|
||||
REM F:\SLSTCMP
|
||||
|
||||
F:
|
||||
CD \
|
||||
|
||||
REM --- Clean generated test/result directories (contents only). ---
|
||||
IF EXIST SLSTCMP\NUL DELTREE /Y SLSTCMP\*.*
|
||||
|
||||
IF NOT EXIST SLSTCMP\NUL MD SLSTCMP
|
||||
IF NOT EXIST SLSTCMP\OUT\NUL MD SLSTCMP\OUT
|
||||
|
||||
ECHO SLSTSTA SLIST test > F:\SLSTCMP\RUN.LOG
|
||||
ECHO Server MARS should exist. >> F:\SLSTCMP\RUN.LOG
|
||||
ECHO Server NWBYGONE01 is expected to be missing. >> F:\SLSTCMP\RUN.LOG
|
||||
ECHO. >> F:\SLSTCMP\RUN.LOG
|
||||
|
||||
ECHO === D01 default SLIST === >> F:\SLSTCMP\RUN.LOG
|
||||
NPUBLIC\SLIST > F:\SLSTCMP\OUT\D01_LIST.OUT
|
||||
|
||||
ECHO === D02 existing server MARS === >> F:\SLSTCMP\RUN.LOG
|
||||
NPUBLIC\SLIST MARS > F:\SLSTCMP\OUT\D02_MARS_OK.OUT
|
||||
|
||||
ECHO === D03 missing server NWBYGONE01 === >> F:\SLSTCMP\RUN.LOG
|
||||
NPUBLIC\SLIST NWBYGONE01 > F:\SLSTCMP\OUT\D03_NWBYGONE01_MISSING.OUT
|
||||
|
||||
ECHO === D04 default SLIST /CONTINUE === >> F:\SLSTCMP\RUN.LOG
|
||||
NPUBLIC\SLIST /CONTINUE > F:\SLSTCMP\OUT\D04_CONT.OUT
|
||||
|
||||
ECHO === D05 MARS /CONTINUE === >> F:\SLSTCMP\RUN.LOG
|
||||
NPUBLIC\SLIST MARS /CONTINUE > F:\SLSTCMP\OUT\D05_MARS_CONT_OK.OUT
|
||||
|
||||
ECHO === D06 NWBYGONE01 /CONTINUE === >> F:\SLSTCMP\RUN.LOG
|
||||
NPUBLIC\SLIST NWBYGONE01 /CONTINUE > F:\SLSTCMP\OUT\D06_NWBYGONE01_CONT_MISSING.OUT
|
||||
|
||||
ECHO === D99 usage/help simulated from Novell console output === >> F:\SLSTCMP\RUN.LOG
|
||||
REM Novell SLIST /? prints the usage on the console and does not reliably
|
||||
REM write it through stdout redirection. Keep the Novell baseline file
|
||||
REM filled with the observed console text, so our implementation can later
|
||||
REM be compared against its redirected SLIST /? output.
|
||||
ECHO Usage: SLIST [Server] [/Continue] > F:\SLSTCMP\OUT\D99_HELP.OUT
|
||||
|
||||
ECHO === SUMMARY === > F:\SLSTCMP\SUMMARY.TXT
|
||||
ECHO SLSTSTA SLIST baseline finished. >> F:\SLSTCMP\SUMMARY.TXT
|
||||
ECHO. >> F:\SLSTCMP\SUMMARY.TXT
|
||||
ECHO Expected: >> F:\SLSTCMP\SUMMARY.TXT
|
||||
ECHO - D01 lists visible servers/services. >> F:\SLSTCMP\SUMMARY.TXT
|
||||
ECHO - D02 finds or accepts MARS. >> F:\SLSTCMP\SUMMARY.TXT
|
||||
ECHO - D03 is the negative test for missing NWBYGONE01. >> F:\SLSTCMP\SUMMARY.TXT
|
||||
ECHO - D04/D05/D06 record /CONTINUE behavior. >> F:\SLSTCMP\SUMMARY.TXT
|
||||
ECHO - D99 records usage syntax. >> F:\SLSTCMP\SUMMARY.TXT
|
||||
ECHO. >> F:\SLSTCMP\SUMMARY.TXT
|
||||
ECHO Optional: SLSTZIP ausfuehren. >> F:\SLSTCMP\SUMMARY.TXT
|
||||
|
||||
ECHO SLSTSTA fertig.
|
||||
ECHO Ergebnisse liegen in F:\SLSTCMP
|
||||
ECHO Optional: SLSTZIP ausfuehren.
|
||||
@ECHO OFF
|
||||
REM SLSTSTA.BAT
|
||||
REM Automated SLIST test for MARS NWE.
|
||||
REM
|
||||
REM Runs two comparisons:
|
||||
REM 1. Logged-in: NPUBLIC\SLIST vs PUBLIC\SLIST.
|
||||
REM 2. Logged-out: NLOGIN\SLIST vs LOGIN\SLIST from local C:\SLSTTMP.
|
||||
REM
|
||||
REM The logged-out phase uses DLYSTRT, because LOGOUT removes F: and normal
|
||||
REM network mappings. SLSTC.BAT and DLYSTRT.EXE are copied to C:\SLSTTMP,
|
||||
REM SLSTC logs out, runs the local SLIST copies, logs back in as SUPERVISOR,
|
||||
REM then queues F:\SLSTSTA.BAT PART2 with local DLYSTRT.
|
||||
REM
|
||||
REM Required for the automatic logged-out phase:
|
||||
REM SET LGNTPWD=<supervisor-password>
|
||||
REM
|
||||
REM Result tree:
|
||||
REM F:\SLSTCMP
|
||||
|
||||
IF "%1"=="" GOTO PART1
|
||||
IF "%1"=="PART2" GOTO PART2
|
||||
IF "%1"=="part2" GOTO PART2
|
||||
IF "%1"=="Part2" GOTO PART2
|
||||
GOTO USAGE
|
||||
|
||||
:PART1
|
||||
F:
|
||||
CD \
|
||||
|
||||
REM --- Clean generated test/result directories. ---
|
||||
IF EXIST SLSTCMP\NUL DELTREE /Y SLSTCMP\*.*
|
||||
IF NOT EXIST SLSTCMP\NUL MD SLSTCMP
|
||||
IF NOT EXIST SLSTCMP\OUT\NUL MD SLSTCMP\OUT
|
||||
IF NOT EXIST SLSTCMP\PUBOUT\NUL MD SLSTCMP\PUBOUT
|
||||
IF NOT EXIST SLSTCMP\LOUT\NUL MD SLSTCMP\LOUT
|
||||
IF NOT EXIST SLSTCMP\LPUBOUT\NUL MD SLSTCMP\LPUBOUT
|
||||
|
||||
ECHO SLSTSTA SLIST test > F:\SLSTCMP\RUN.LOG
|
||||
ECHO Server MARS should exist. >> F:\SLSTCMP\RUN.LOG
|
||||
ECHO Server NWBYGONE01 is expected to be missing. >> F:\SLSTCMP\RUN.LOG
|
||||
ECHO. >> F:\SLSTCMP\RUN.LOG
|
||||
ECHO Logged-in baseline: F:\SLSTCMP\OUT >> F:\SLSTCMP\RUN.LOG
|
||||
ECHO Logged-in public: F:\SLSTCMP\PUBOUT >> F:\SLSTCMP\RUN.LOG
|
||||
ECHO Logged-out baseline/public, if LGNTPWD is set: C:\SLSTTMP then LOUT/LPUBOUT >> F:\SLSTCMP\RUN.LOG
|
||||
ECHO. >> F:\SLSTCMP\RUN.LOG
|
||||
|
||||
ECHO === LOGGED-IN NOVELL BASELINE: NPUBLIC\SLIST === >> F:\SLSTCMP\RUN.LOG
|
||||
\NPUBLIC\SLIST > F:\SLSTCMP\OUT\D01_LIST.OUT
|
||||
\NPUBLIC\SLIST MARS > F:\SLSTCMP\OUT\D02_MARS_OK.OUT
|
||||
\NPUBLIC\SLIST NWBYGONE01 > F:\SLSTCMP\OUT\D03_NWBYGONE01_MISSING.OUT
|
||||
\NPUBLIC\SLIST /CONTINUE > F:\SLSTCMP\OUT\D04_CONT.OUT
|
||||
\NPUBLIC\SLIST MARS /CONTINUE > F:\SLSTCMP\OUT\D05_MARS_CONT_OK.OUT
|
||||
\NPUBLIC\SLIST NWBYGONE01 /CONTINUE > F:\SLSTCMP\OUT\D06_NWBYGONE01_CONT_MISSING.OUT
|
||||
REM Novell SLIST /? prints the usage on the console and does not reliably
|
||||
REM write it through stdout redirection. Keep a stable baseline file.
|
||||
ECHO Usage: SLIST [Server] [/Continue] > F:\SLSTCMP\OUT\D99_HELP.OUT
|
||||
|
||||
ECHO === LOGGED-IN PUBLIC IMPLEMENTATION: PUBLIC\SLIST === >> F:\SLSTCMP\RUN.LOG
|
||||
\PUBLIC\SLIST > F:\SLSTCMP\PUBOUT\D01_LIST.OUT
|
||||
\PUBLIC\SLIST MARS > F:\SLSTCMP\PUBOUT\D02_MARS_OK.OUT
|
||||
\PUBLIC\SLIST NWBYGONE01 > F:\SLSTCMP\PUBOUT\D03_NWBYGONE01_MISSING.OUT
|
||||
\PUBLIC\SLIST /CONTINUE > F:\SLSTCMP\PUBOUT\D04_CONT.OUT
|
||||
\PUBLIC\SLIST MARS /CONTINUE > F:\SLSTCMP\PUBOUT\D05_MARS_CONT_OK.OUT
|
||||
\PUBLIC\SLIST NWBYGONE01 /CONTINUE > F:\SLSTCMP\PUBOUT\D06_NWBYGONE01_CONT_MISSING.OUT
|
||||
\PUBLIC\SLIST /? > F:\SLSTCMP\PUBOUT\D99_HELP.OUT
|
||||
|
||||
ECHO === COMPARE LOGGED-IN OUT vs PUBOUT === > F:\SLSTCMP\COMPARE.LOG
|
||||
ECHO. >> F:\SLSTCMP\COMPARE.LOG
|
||||
ECHO === D01_LIST.OUT === >> F:\SLSTCMP\COMPARE.LOG
|
||||
FC F:\SLSTCMP\OUT\D01_LIST.OUT F:\SLSTCMP\PUBOUT\D01_LIST.OUT >> F:\SLSTCMP\COMPARE.LOG
|
||||
IF ERRORLEVEL 1 ECHO DIFF: D01_LIST.OUT >> F:\SLSTCMP\COMPARE.LOG
|
||||
IF NOT ERRORLEVEL 1 ECHO OK: D01_LIST.OUT >> F:\SLSTCMP\COMPARE.LOG
|
||||
|
||||
ECHO. >> F:\SLSTCMP\COMPARE.LOG
|
||||
ECHO === D02_MARS_OK.OUT === >> F:\SLSTCMP\COMPARE.LOG
|
||||
FC F:\SLSTCMP\OUT\D02_MARS_OK.OUT F:\SLSTCMP\PUBOUT\D02_MARS_OK.OUT >> F:\SLSTCMP\COMPARE.LOG
|
||||
IF ERRORLEVEL 1 ECHO DIFF: D02_MARS_OK.OUT >> F:\SLSTCMP\COMPARE.LOG
|
||||
IF NOT ERRORLEVEL 1 ECHO OK: D02_MARS_OK.OUT >> F:\SLSTCMP\COMPARE.LOG
|
||||
|
||||
ECHO. >> F:\SLSTCMP\COMPARE.LOG
|
||||
ECHO === D03_NWBYGONE01_MISSING.OUT === >> F:\SLSTCMP\COMPARE.LOG
|
||||
FC F:\SLSTCMP\OUT\D03_NWBYGONE01_MISSING.OUT F:\SLSTCMP\PUBOUT\D03_NWBYGONE01_MISSING.OUT >> F:\SLSTCMP\COMPARE.LOG
|
||||
IF ERRORLEVEL 1 ECHO DIFF: D03_NWBYGONE01_MISSING.OUT >> F:\SLSTCMP\COMPARE.LOG
|
||||
IF NOT ERRORLEVEL 1 ECHO OK: D03_NWBYGONE01_MISSING.OUT >> F:\SLSTCMP\COMPARE.LOG
|
||||
|
||||
ECHO. >> F:\SLSTCMP\COMPARE.LOG
|
||||
ECHO === D04_CONT.OUT === >> F:\SLSTCMP\COMPARE.LOG
|
||||
FC F:\SLSTCMP\OUT\D04_CONT.OUT F:\SLSTCMP\PUBOUT\D04_CONT.OUT >> F:\SLSTCMP\COMPARE.LOG
|
||||
IF ERRORLEVEL 1 ECHO DIFF: D04_CONT.OUT >> F:\SLSTCMP\COMPARE.LOG
|
||||
IF NOT ERRORLEVEL 1 ECHO OK: D04_CONT.OUT >> F:\SLSTCMP\COMPARE.LOG
|
||||
|
||||
ECHO. >> F:\SLSTCMP\COMPARE.LOG
|
||||
ECHO === D05_MARS_CONT_OK.OUT === >> F:\SLSTCMP\COMPARE.LOG
|
||||
FC F:\SLSTCMP\OUT\D05_MARS_CONT_OK.OUT F:\SLSTCMP\PUBOUT\D05_MARS_CONT_OK.OUT >> F:\SLSTCMP\COMPARE.LOG
|
||||
IF ERRORLEVEL 1 ECHO DIFF: D05_MARS_CONT_OK.OUT >> F:\SLSTCMP\COMPARE.LOG
|
||||
IF NOT ERRORLEVEL 1 ECHO OK: D05_MARS_CONT_OK.OUT >> F:\SLSTCMP\COMPARE.LOG
|
||||
|
||||
ECHO. >> F:\SLSTCMP\COMPARE.LOG
|
||||
ECHO === D06_NWBYGONE01_CONT_MISSING.OUT === >> F:\SLSTCMP\COMPARE.LOG
|
||||
FC F:\SLSTCMP\OUT\D06_NWBYGONE01_CONT_MISSING.OUT F:\SLSTCMP\PUBOUT\D06_NWBYGONE01_CONT_MISSING.OUT >> F:\SLSTCMP\COMPARE.LOG
|
||||
IF ERRORLEVEL 1 ECHO DIFF: D06_NWBYGONE01_CONT_MISSING.OUT >> F:\SLSTCMP\COMPARE.LOG
|
||||
IF NOT ERRORLEVEL 1 ECHO OK: D06_NWBYGONE01_CONT_MISSING.OUT >> F:\SLSTCMP\COMPARE.LOG
|
||||
|
||||
ECHO. >> F:\SLSTCMP\COMPARE.LOG
|
||||
ECHO === D99_HELP.OUT === >> F:\SLSTCMP\COMPARE.LOG
|
||||
FC F:\SLSTCMP\OUT\D99_HELP.OUT F:\SLSTCMP\PUBOUT\D99_HELP.OUT >> F:\SLSTCMP\COMPARE.LOG
|
||||
IF ERRORLEVEL 1 ECHO DIFF: D99_HELP.OUT >> F:\SLSTCMP\COMPARE.LOG
|
||||
IF NOT ERRORLEVEL 1 ECHO OK: D99_HELP.OUT >> F:\SLSTCMP\COMPARE.LOG
|
||||
|
||||
|
||||
REM --- Optional logged-out comparison. ---
|
||||
IF "%LGNTPWD%"=="" GOTO SKIPLOGOUT
|
||||
|
||||
ECHO. >> F:\SLSTCMP\RUN.LOG
|
||||
ECHO === PREPARE LOGGED-OUT SLIST HELPER === >> F:\SLSTCMP\RUN.LOG
|
||||
IF EXIST C:\SLSTTMP DELTREE /Y C:\SLSTTMP >> F:\SLSTCMP\RUN.LOG
|
||||
MD C:\SLSTTMP >> F:\SLSTCMP\RUN.LOG
|
||||
MD C:\SLSTTMP\LOUT >> F:\SLSTCMP\RUN.LOG
|
||||
MD C:\SLSTTMP\LPUBOUT >> F:\SLSTCMP\RUN.LOG
|
||||
|
||||
REM Copy everything needed while F: is still available.
|
||||
REM SLIST is officially available from LOGIN while logged out, so compare
|
||||
REM NLOGIN\SLIST against LOGIN\SLIST after LOGOUT.
|
||||
COPY \NLOGIN\SLIST.EXE C:\SLSTTMP\NSLIST.EXE >> F:\SLSTCMP\RUN.LOG
|
||||
COPY \LOGIN\SLIST.EXE C:\SLSTTMP\SLIST.EXE >> F:\SLSTCMP\RUN.LOG
|
||||
COPY \NPUBLIC\LOGOUT.EXE C:\SLSTTMP\LOGOUT.EXE >> F:\SLSTCMP\RUN.LOG
|
||||
COPY \LOGIN\LOGIN.EXE C:\SLSTTMP\LOGIN.EXE >> F:\SLSTCMP\RUN.LOG
|
||||
COPY \PUBLIC\DLYSTRT.EXE C:\SLSTTMP\DLYSTRT.EXE >> F:\SLSTCMP\RUN.LOG
|
||||
COPY F:\SLSTC.BAT C:\SLSTTMP\SLSTC.BAT >> F:\SLSTCMP\RUN.LOG
|
||||
|
||||
IF EXIST C:\SLSTTMP\DLYSTRT.EXE GOTO HAVEDLYLOCAL
|
||||
ECHO ERROR: C:\SLSTTMP\DLYSTRT.EXE not copied. >> F:\SLSTCMP\RUN.LOG
|
||||
GOTO SKIPLOGOUT
|
||||
:HAVEDLYLOCAL
|
||||
IF EXIST C:\SLSTTMP\SLSTC.BAT GOTO HAVEHELPER
|
||||
ECHO ERROR: C:\SLSTTMP\SLSTC.BAT not copied. >> F:\SLSTCMP\RUN.LOG
|
||||
GOTO SKIPLOGOUT
|
||||
:HAVEHELPER
|
||||
|
||||
C:
|
||||
CD \SLSTTMP
|
||||
C:\SLSTTMP\DLYSTRT.EXE /T:2 C:\SLSTTMP\SLSTC.BAT >> F:\SLSTCMP\RUN.LOG
|
||||
ECHO DLYSTRT queued C:\SLSTTMP\SLSTC.BAT. >> F:\SLSTCMP\RUN.LOG
|
||||
ECHO SLSTSTA Part 1 fertig. Bitte auf SLSTSTA PART2 warten.
|
||||
GOTO END
|
||||
|
||||
:SKIPLOGOUT
|
||||
ECHO. >> F:\SLSTCMP\RUN.LOG
|
||||
ECHO Logged-out SLIST comparison skipped because LGNTPWD is not set or helper setup failed. >> F:\SLSTCMP\RUN.LOG
|
||||
GOTO SUMMARY
|
||||
|
||||
:PART2
|
||||
F:
|
||||
CD \
|
||||
IF NOT EXIST SLSTCMP\NUL MD SLSTCMP
|
||||
IF NOT EXIST SLSTCMP\LOUT\NUL MD SLSTCMP\LOUT
|
||||
IF NOT EXIST SLSTCMP\LPUBOUT\NUL MD SLSTCMP\LPUBOUT
|
||||
|
||||
ECHO. >> F:\SLSTCMP\RUN.LOG
|
||||
ECHO Part 2 collecting logged-out SLIST files from C:\SLSTTMP. >> F:\SLSTCMP\RUN.LOG
|
||||
COPY C:\SLSTTMP\LOUT\*.OUT F:\SLSTCMP\LOUT >> F:\SLSTCMP\RUN.LOG
|
||||
COPY C:\SLSTTMP\LPUBOUT\*.OUT F:\SLSTCMP\LPUBOUT >> F:\SLSTCMP\RUN.LOG
|
||||
COPY C:\SLSTTMP\*.OUT F:\SLSTCMP >> F:\SLSTCMP\RUN.LOG
|
||||
COPY C:\SLSTTMP\*.TXT F:\SLSTCMP >> F:\SLSTCMP\RUN.LOG
|
||||
|
||||
ECHO === COMPARE LOGGED-OUT LOUT vs LPUBOUT === > F:\SLSTCMP\LCOMP.LOG
|
||||
ECHO. >> F:\SLSTCMP\LCOMP.LOG
|
||||
ECHO === D01_LIST.OUT === >> F:\SLSTCMP\LCOMP.LOG
|
||||
FC F:\SLSTCMP\LOUT\D01_LIST.OUT F:\SLSTCMP\LPUBOUT\D01_LIST.OUT >> F:\SLSTCMP\LCOMP.LOG
|
||||
IF ERRORLEVEL 1 ECHO DIFF: D01_LIST.OUT >> F:\SLSTCMP\LCOMP.LOG
|
||||
IF NOT ERRORLEVEL 1 ECHO OK: D01_LIST.OUT >> F:\SLSTCMP\LCOMP.LOG
|
||||
|
||||
ECHO. >> F:\SLSTCMP\LCOMP.LOG
|
||||
ECHO === D02_MARS_OK.OUT === >> F:\SLSTCMP\LCOMP.LOG
|
||||
FC F:\SLSTCMP\LOUT\D02_MARS_OK.OUT F:\SLSTCMP\LPUBOUT\D02_MARS_OK.OUT >> F:\SLSTCMP\LCOMP.LOG
|
||||
IF ERRORLEVEL 1 ECHO DIFF: D02_MARS_OK.OUT >> F:\SLSTCMP\LCOMP.LOG
|
||||
IF NOT ERRORLEVEL 1 ECHO OK: D02_MARS_OK.OUT >> F:\SLSTCMP\LCOMP.LOG
|
||||
|
||||
ECHO. >> F:\SLSTCMP\LCOMP.LOG
|
||||
ECHO === D03_NWBYGONE01_MISSING.OUT === >> F:\SLSTCMP\LCOMP.LOG
|
||||
FC F:\SLSTCMP\LOUT\D03_NWBYGONE01_MISSING.OUT F:\SLSTCMP\LPUBOUT\D03_NWBYGONE01_MISSING.OUT >> F:\SLSTCMP\LCOMP.LOG
|
||||
IF ERRORLEVEL 1 ECHO DIFF: D03_NWBYGONE01_MISSING.OUT >> F:\SLSTCMP\LCOMP.LOG
|
||||
IF NOT ERRORLEVEL 1 ECHO OK: D03_NWBYGONE01_MISSING.OUT >> F:\SLSTCMP\LCOMP.LOG
|
||||
|
||||
ECHO. >> F:\SLSTCMP\LCOMP.LOG
|
||||
ECHO === D04_CONT.OUT === >> F:\SLSTCMP\LCOMP.LOG
|
||||
FC F:\SLSTCMP\LOUT\D04_CONT.OUT F:\SLSTCMP\LPUBOUT\D04_CONT.OUT >> F:\SLSTCMP\LCOMP.LOG
|
||||
IF ERRORLEVEL 1 ECHO DIFF: D04_CONT.OUT >> F:\SLSTCMP\LCOMP.LOG
|
||||
IF NOT ERRORLEVEL 1 ECHO OK: D04_CONT.OUT >> F:\SLSTCMP\LCOMP.LOG
|
||||
|
||||
ECHO. >> F:\SLSTCMP\LCOMP.LOG
|
||||
ECHO === D05_MARS_CONT_OK.OUT === >> F:\SLSTCMP\LCOMP.LOG
|
||||
FC F:\SLSTCMP\LOUT\D05_MARS_CONT_OK.OUT F:\SLSTCMP\LPUBOUT\D05_MARS_CONT_OK.OUT >> F:\SLSTCMP\LCOMP.LOG
|
||||
IF ERRORLEVEL 1 ECHO DIFF: D05_MARS_CONT_OK.OUT >> F:\SLSTCMP\LCOMP.LOG
|
||||
IF NOT ERRORLEVEL 1 ECHO OK: D05_MARS_CONT_OK.OUT >> F:\SLSTCMP\LCOMP.LOG
|
||||
|
||||
ECHO. >> F:\SLSTCMP\LCOMP.LOG
|
||||
ECHO === D06_NWBYGONE01_CONT_MISSING.OUT === >> F:\SLSTCMP\LCOMP.LOG
|
||||
FC F:\SLSTCMP\LOUT\D06_NWBYGONE01_CONT_MISSING.OUT F:\SLSTCMP\LPUBOUT\D06_NWBYGONE01_CONT_MISSING.OUT >> F:\SLSTCMP\LCOMP.LOG
|
||||
IF ERRORLEVEL 1 ECHO DIFF: D06_NWBYGONE01_CONT_MISSING.OUT >> F:\SLSTCMP\LCOMP.LOG
|
||||
IF NOT ERRORLEVEL 1 ECHO OK: D06_NWBYGONE01_CONT_MISSING.OUT >> F:\SLSTCMP\LCOMP.LOG
|
||||
|
||||
ECHO. >> F:\SLSTCMP\LCOMP.LOG
|
||||
ECHO === D99_HELP.OUT === >> F:\SLSTCMP\LCOMP.LOG
|
||||
FC F:\SLSTCMP\LOUT\D99_HELP.OUT F:\SLSTCMP\LPUBOUT\D99_HELP.OUT >> F:\SLSTCMP\LCOMP.LOG
|
||||
IF ERRORLEVEL 1 ECHO DIFF: D99_HELP.OUT >> F:\SLSTCMP\LCOMP.LOG
|
||||
IF NOT ERRORLEVEL 1 ECHO OK: D99_HELP.OUT >> F:\SLSTCMP\LCOMP.LOG
|
||||
|
||||
GOTO SUMMARY
|
||||
|
||||
:SUMMARY
|
||||
ECHO === SUMMARY === > F:\SLSTCMP\SUMMARY.TXT
|
||||
ECHO SLSTSTA SLIST comparison finished. >> F:\SLSTCMP\SUMMARY.TXT
|
||||
ECHO. >> F:\SLSTCMP\SUMMARY.TXT
|
||||
ECHO Output directories: >> F:\SLSTCMP\SUMMARY.TXT
|
||||
ECHO - OUT logged-in Novell NPUBLIC baseline. >> F:\SLSTCMP\SUMMARY.TXT
|
||||
ECHO - PUBOUT logged-in PUBLIC implementation output. >> F:\SLSTCMP\SUMMARY.TXT
|
||||
ECHO - LOUT logged-out Novell NLOGIN baseline, if LGNTPWD was set. >> F:\SLSTCMP\SUMMARY.TXT
|
||||
ECHO - LPUBOUT logged-out LOGIN implementation output, if LGNTPWD was set. >> F:\SLSTCMP\SUMMARY.TXT
|
||||
ECHO. >> F:\SLSTCMP\SUMMARY.TXT
|
||||
ECHO Compare result is in F:\SLSTCMP\COMPARE.LOG. >> F:\SLSTCMP\SUMMARY.TXT
|
||||
ECHO Logged-out compare result, if run, is in F:\SLSTCMP\LCOMP.LOG. >> F:\SLSTCMP\SUMMARY.TXT
|
||||
ECHO Optional: SLSTZIP ausfuehren. >> F:\SLSTCMP\SUMMARY.TXT
|
||||
|
||||
ECHO SLSTSTA fertig.
|
||||
ECHO Ergebnisse liegen in F:\SLSTCMP
|
||||
ECHO Optional: SLSTZIP ausfuehren.
|
||||
GOTO END
|
||||
|
||||
:USAGE
|
||||
ECHO Usage: SLSTSTA [PART2]
|
||||
|
||||
:END
|
||||
|
||||
@@ -1,25 +1,24 @@
|
||||
@ECHO OFF
|
||||
REM SLSTZIP.BAT
|
||||
REM Optional packer for SLSTSTA result files.
|
||||
REM Requires ZIP.EXE in PATH or current directory.
|
||||
|
||||
F:
|
||||
CD \SLSTCMP
|
||||
|
||||
IF EXIST SLSTSTA.ZIP DEL SLSTSTA.ZIP
|
||||
IF EXIST ZIP.LOG DEL ZIP.LOG
|
||||
|
||||
ECHO Creating SLSTSTA.ZIP > ZIP.LOG
|
||||
ZIP -r SLSTSTA.ZIP RUN.LOG SUMMARY.TXT OUT >> ZIP.LOG
|
||||
|
||||
|
||||
REM Cleanup generated test directories after ZIP.
|
||||
REM Keep the CMP/result directory because it contains the ZIP and ZIP.LOG.
|
||||
REM No separate TEST directory for this test; SLSTCMP is the result directory.
|
||||
CD \
|
||||
ECHO.
|
||||
ECHO ZIP step finished.
|
||||
ECHO Check:
|
||||
ECHO F:\SLSTCMP\SLSTSTA.ZIP
|
||||
ECHO F:\SLSTCMP\ZIP.LOG
|
||||
ECHO.
|
||||
@ECHO OFF
|
||||
REM SLSTZIP.BAT
|
||||
REM Optional packer for SLSTSTA result files.
|
||||
REM Requires ZIP.EXE in PATH or current directory.
|
||||
|
||||
F:
|
||||
CD \SLSTCMP
|
||||
|
||||
IF EXIST SLSTSTA.ZIP DEL SLSTSTA.ZIP
|
||||
IF EXIST ZIP.LOG DEL ZIP.LOG
|
||||
|
||||
ECHO Creating SLSTSTA.ZIP > ZIP.LOG
|
||||
ZIP -r SLSTSTA.ZIP RUN.LOG SUMMARY.TXT COMPARE.LOG LCOMP.LOG OUT PUBOUT LOUT LPUBOUT *.OUT *.TXT >> ZIP.LOG
|
||||
|
||||
REM Cleanup local helper directory after ZIP, if it exists.
|
||||
IF EXIST C:\SLSTTMP DELTREE /Y C:\SLSTTMP >> ZIP.LOG
|
||||
|
||||
CD \
|
||||
ECHO.
|
||||
ECHO ZIP step finished.
|
||||
ECHO Check:
|
||||
ECHO F:\SLSTCMP\SLSTSTA.ZIP
|
||||
ECHO F:\SLSTCMP\ZIP.LOG
|
||||
ECHO.
|
||||
|
||||
Reference in New Issue
Block a user