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,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