tests: add Novell DOS tool baseline suite

Add DOS-side baseline scripts for the Novell tools used to compare the
reimplemented public utilities.

The suite covers the current baseline set:

  MAP
  SLIST
  WHOAMI
  LOGIN / LOGOUT
  NDIR
  NCOPY
  FLAG
  FLAGDIR
  CREATOR
  RIGHTS
  GRANT
  REVOKE
  REMOVE

It also includes supporting trustee, rights, rename, move, delete and
file-operation tests.

Each test writes reproducible output into a per-tool CMP directory and
provides a matching ZIP helper for collecting the results. The ZIP
helpers clean generated test trees afterwards so SYS: does not keep
accumulating temporary directories.

This is the Novell baseline layer only. A later change can extend the
same scripts to run the full comparison cycle:

  NPUBLIC baseline -> PUBLIC implementation -> NPUBLIC control
This commit is contained in:
Mario Fetka
2026-05-27 13:31:46 +02:00
parent 0df41482c7
commit f214e89d69
65 changed files with 4831 additions and 0 deletions

168
test/flag/FLGTSTA.BAT Normal file
View File

@@ -0,0 +1,168 @@
@ECHO OFF
REM FLGTSTA.BAT
REM Automated Novell FLAG baseline for MARS NWE.
REM
REM Run while already logged in and with F: mapped to SYS.
REM
REM Test tree:
REM F:\FLGTEST
REM Result tree:
REM F:\FLGCMP
REM
REM Scope:
REM FLAG on files only.
F:
CD \
REM --- Clean generated test/result directories (contents only). ---
IF EXIST FLGTEST\NUL DELTREE /Y FLGTEST\*.*
IF EXIST FLGCMP\NUL DELTREE /Y FLGCMP\*.*
IF NOT EXIST FLGTEST\NUL MD FLGTEST
IF NOT EXIST FLGCMP\NUL MD FLGCMP
IF NOT EXIST FLGCMP\OUT\NUL MD FLGCMP\OUT
IF EXIST F:\FLGCMP\RUN.LOG DEL F:\FLGCMP\RUN.LOG
IF EXIST F:\FLGCMP\SUMMARY.TXT DEL F:\FLGCMP\SUMMARY.TXT
IF EXIST F:\FLGCMP\FLGTSTA.ZIP DEL F:\FLGCMP\FLGTSTA.ZIP
IF EXIST F:\FLGCMP\ZIP.LOG DEL F:\FLGCMP\ZIP.LOG
IF EXIST F:\FLGCMP\OUT\F01_BASE.OUT DEL F:\FLGCMP\OUT\F01_BASE.OUT
IF EXIST F:\FLGCMP\OUT\F02_FLAGN.OUT DEL F:\FLGCMP\OUT\F02_FLAGN.OUT
IF EXIST F:\FLGCMP\OUT\F03_SET1.OUT DEL F:\FLGCMP\OUT\F03_SET1.OUT
IF EXIST F:\FLGCMP\OUT\F04_NDIR1.OUT DEL F:\FLGCMP\OUT\F04_NDIR1.OUT
IF EXIST F:\FLGCMP\OUT\F05_FILTER.OUT DEL F:\FLGCMP\OUT\F05_FILTER.OUT
IF EXIST F:\FLGCMP\OUT\F06_CLEAR.OUT DEL F:\FLGCMP\OUT\F06_CLEAR.OUT
IF EXIST F:\FLGCMP\OUT\F07_COMBO.OUT DEL F:\FLGCMP\OUT\F07_COMBO.OUT
IF EXIST F:\FLGCMP\OUT\F08_COPYREN.OUT DEL F:\FLGCMP\OUT\F08_COPYREN.OUT
IF EXIST F:\FLGCMP\OUT\F09_FINAL.OUT DEL F:\FLGCMP\OUT\F09_FINAL.OUT
REM Clean test files.
IF EXIST F:\FLGTEST\ALPHA.TXT DEL F:\FLGTEST\ALPHA.TXT
IF EXIST F:\FLGTEST\BETA.TXT DEL F:\FLGTEST\BETA.TXT
IF EXIST F:\FLGTEST\GAMMA.DAT DEL F:\FLGTEST\GAMMA.DAT
IF EXIST F:\FLGTEST\DELTA.BIN DEL F:\FLGTEST\DELTA.BIN
IF EXIST F:\FLGTEST\EPS.TXT DEL F:\FLGTEST\EPS.TXT
IF EXIST F:\FLGTEST\RENAMED.TXT DEL F:\FLGTEST\RENAMED.TXT
IF EXIST F:\FLGTEST\COPY.TXT DEL F:\FLGTEST\COPY.TXT
ECHO FLGTSTA FLAG baseline > F:\FLGCMP\RUN.LOG
ECHO Run while already logged in. >> F:\FLGCMP\RUN.LOG
ECHO Date/time stamp skipped to avoid DOS prompt. >> F:\FLGCMP\RUN.LOG
ECHO. >> F:\FLGCMP\RUN.LOG
ECHO ALPHA FILE > F:\FLGTEST\ALPHA.TXT
ECHO BETA FILE > F:\FLGTEST\BETA.TXT
ECHO GAMMA FILE > F:\FLGTEST\GAMMA.DAT
ECHO DELTA FILE > F:\FLGTEST\DELTA.BIN
ECHO EPS FILE > F:\FLGTEST\EPS.TXT
ECHO === F01 base FLAG/NDIR readback === >> F:\FLGCMP\RUN.LOG
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT N >> F:\FLGCMP\RUN.LOG
NPUBLIC\FLAG F:\FLGTEST\BETA.TXT N >> F:\FLGCMP\RUN.LOG
NPUBLIC\FLAG F:\FLGTEST\GAMMA.DAT N >> F:\FLGCMP\RUN.LOG
NPUBLIC\FLAG F:\FLGTEST\DELTA.BIN N >> F:\FLGCMP\RUN.LOG
NPUBLIC\FLAG F:\FLGTEST\EPS.TXT N >> F:\FLGCMP\RUN.LOG
NPUBLIC\NDIR F:\FLGTEST > F:\FLGCMP\OUT\F01_BASE.OUT
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT >> F:\FLGCMP\OUT\F01_BASE.OUT
NPUBLIC\FLAG F:\FLGTEST\BETA.TXT >> F:\FLGCMP\OUT\F01_BASE.OUT
NPUBLIC\FLAG F:\FLGTEST\GAMMA.DAT >> F:\FLGCMP\OUT\F01_BASE.OUT
NPUBLIC\FLAG F:\FLGTEST\DELTA.BIN >> F:\FLGCMP\OUT\F01_BASE.OUT
NPUBLIC\FLAG F:\FLGTEST\EPS.TXT >> F:\FLGCMP\OUT\F01_BASE.OUT
ECHO === F02 explicit FLAG N cleanup === >> F:\FLGCMP\RUN.LOG
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT N > F:\FLGCMP\OUT\F02_FLAGN.OUT
NPUBLIC\FLAG F:\FLGTEST\BETA.TXT N >> F:\FLGCMP\OUT\F02_FLAGN.OUT
NPUBLIC\FLAG F:\FLGTEST\GAMMA.DAT N >> F:\FLGCMP\OUT\F02_FLAGN.OUT
NPUBLIC\FLAG F:\FLGTEST\DELTA.BIN N >> F:\FLGCMP\OUT\F02_FLAGN.OUT
NPUBLIC\FLAG F:\FLGTEST\EPS.TXT N >> F:\FLGCMP\OUT\F02_FLAGN.OUT
ECHO === F03 set individual flags === >> F:\FLGCMP\RUN.LOG
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT +H > F:\FLGCMP\OUT\F03_SET1.OUT
NPUBLIC\FLAG F:\FLGTEST\BETA.TXT +RO >> F:\FLGCMP\OUT\F03_SET1.OUT
NPUBLIC\FLAG F:\FLGTEST\GAMMA.DAT +A >> F:\FLGCMP\OUT\F03_SET1.OUT
NPUBLIC\FLAG F:\FLGTEST\DELTA.BIN +Sy >> F:\FLGCMP\OUT\F03_SET1.OUT
NPUBLIC\FLAG F:\FLGTEST\EPS.TXT +DI +RI >> F:\FLGCMP\OUT\F03_SET1.OUT
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT >> F:\FLGCMP\OUT\F03_SET1.OUT
NPUBLIC\FLAG F:\FLGTEST\BETA.TXT >> F:\FLGCMP\OUT\F03_SET1.OUT
NPUBLIC\FLAG F:\FLGTEST\GAMMA.DAT >> F:\FLGCMP\OUT\F03_SET1.OUT
NPUBLIC\FLAG F:\FLGTEST\DELTA.BIN >> F:\FLGCMP\OUT\F03_SET1.OUT
NPUBLIC\FLAG F:\FLGTEST\EPS.TXT >> F:\FLGCMP\OUT\F03_SET1.OUT
ECHO === F04 NDIR after flags === >> F:\FLGCMP\RUN.LOG
NPUBLIC\NDIR F:\FLGTEST > F:\FLGCMP\OUT\F04_NDIR1.OUT
NPUBLIC\NDIR F:\FLGTEST /DATES >> F:\FLGCMP\OUT\F04_NDIR1.OUT
NPUBLIC\NDIR F:\FLGTEST /RIGHTS >> F:\FLGCMP\OUT\F04_NDIR1.OUT
ECHO === F05 NDIR filters for flags === >> F:\FLGCMP\RUN.LOG
ECHO --- /H --- > F:\FLGCMP\OUT\F05_FILTER.OUT
NPUBLIC\NDIR F:\FLGTEST /H >> F:\FLGCMP\OUT\F05_FILTER.OUT
ECHO --- /RO --- >> F:\FLGCMP\OUT\F05_FILTER.OUT
NPUBLIC\NDIR F:\FLGTEST /RO >> F:\FLGCMP\OUT\F05_FILTER.OUT
ECHO --- /A --- >> F:\FLGCMP\OUT\F05_FILTER.OUT
NPUBLIC\NDIR F:\FLGTEST /A >> F:\FLGCMP\OUT\F05_FILTER.OUT
ECHO --- /SY --- >> F:\FLGCMP\OUT\F05_FILTER.OUT
NPUBLIC\NDIR F:\FLGTEST /SY >> F:\FLGCMP\OUT\F05_FILTER.OUT
ECHO --- /NOT H --- >> F:\FLGCMP\OUT\F05_FILTER.OUT
NPUBLIC\NDIR F:\FLGTEST /NOT H >> F:\FLGCMP\OUT\F05_FILTER.OUT
ECHO --- /NOT RO --- >> F:\FLGCMP\OUT\F05_FILTER.OUT
NPUBLIC\NDIR F:\FLGTEST /NOT RO >> F:\FLGCMP\OUT\F05_FILTER.OUT
ECHO === F06 clear individual flags === >> F:\FLGCMP\RUN.LOG
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT -H > F:\FLGCMP\OUT\F06_CLEAR.OUT
NPUBLIC\FLAG F:\FLGTEST\BETA.TXT -RO >> F:\FLGCMP\OUT\F06_CLEAR.OUT
NPUBLIC\FLAG F:\FLGTEST\GAMMA.DAT -A >> F:\FLGCMP\OUT\F06_CLEAR.OUT
NPUBLIC\FLAG F:\FLGTEST\DELTA.BIN -Sy >> F:\FLGCMP\OUT\F06_CLEAR.OUT
NPUBLIC\FLAG F:\FLGTEST\EPS.TXT -DI -RI >> F:\FLGCMP\OUT\F06_CLEAR.OUT
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT >> F:\FLGCMP\OUT\F06_CLEAR.OUT
NPUBLIC\FLAG F:\FLGTEST\BETA.TXT >> F:\FLGCMP\OUT\F06_CLEAR.OUT
NPUBLIC\FLAG F:\FLGTEST\GAMMA.DAT >> F:\FLGCMP\OUT\F06_CLEAR.OUT
NPUBLIC\FLAG F:\FLGTEST\DELTA.BIN >> F:\FLGCMP\OUT\F06_CLEAR.OUT
NPUBLIC\FLAG F:\FLGTEST\EPS.TXT >> F:\FLGCMP\OUT\F06_CLEAR.OUT
ECHO === F07 combined flags and FLAG N reset === >> F:\FLGCMP\RUN.LOG
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT +H +A +Sy > F:\FLGCMP\OUT\F07_COMBO.OUT
NPUBLIC\FLAG F:\FLGTEST\BETA.TXT +RO +DI +RI >> F:\FLGCMP\OUT\F07_COMBO.OUT
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT >> F:\FLGCMP\OUT\F07_COMBO.OUT
NPUBLIC\FLAG F:\FLGTEST\BETA.TXT >> F:\FLGCMP\OUT\F07_COMBO.OUT
NPUBLIC\NDIR F:\FLGTEST >> F:\FLGCMP\OUT\F07_COMBO.OUT
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT N >> F:\FLGCMP\OUT\F07_COMBO.OUT
NPUBLIC\FLAG F:\FLGTEST\BETA.TXT N >> F:\FLGCMP\OUT\F07_COMBO.OUT
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT >> F:\FLGCMP\OUT\F07_COMBO.OUT
NPUBLIC\FLAG F:\FLGTEST\BETA.TXT >> F:\FLGCMP\OUT\F07_COMBO.OUT
ECHO === F08 copy/rename smoke === >> F:\FLGCMP\RUN.LOG
NPUBLIC\FLAG F:\FLGTEST\EPS.TXT N >> F:\FLGCMP\RUN.LOG
COPY F:\FLGTEST\EPS.TXT F:\FLGTEST\COPY.TXT > F:\FLGCMP\OUT\F08_COPYREN.OUT
REN F:\FLGTEST\COPY.TXT RENAMED.TXT >> F:\FLGCMP\OUT\F08_COPYREN.OUT
IF EXIST F:\FLGTEST\RENAMED.TXT ECHO OK RENAMED.TXT exists >> F:\FLGCMP\OUT\F08_COPYREN.OUT
IF NOT EXIST F:\FLGTEST\RENAMED.TXT ECHO FAIL RENAMED.TXT missing >> F:\FLGCMP\OUT\F08_COPYREN.OUT
NPUBLIC\FLAG F:\FLGTEST\RENAMED.TXT >> F:\FLGCMP\OUT\F08_COPYREN.OUT
NPUBLIC\NDIR F:\FLGTEST >> F:\FLGCMP\OUT\F08_COPYREN.OUT
ECHO === F09 final file cleanup/readback === >> F:\FLGCMP\RUN.LOG
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT N >> F:\FLGCMP\RUN.LOG
NPUBLIC\FLAG F:\FLGTEST\BETA.TXT N >> F:\FLGCMP\RUN.LOG
NPUBLIC\FLAG F:\FLGTEST\GAMMA.DAT N >> F:\FLGCMP\RUN.LOG
NPUBLIC\FLAG F:\FLGTEST\DELTA.BIN N >> F:\FLGCMP\RUN.LOG
NPUBLIC\FLAG F:\FLGTEST\EPS.TXT N >> F:\FLGCMP\RUN.LOG
IF EXIST F:\FLGTEST\RENAMED.TXT NPUBLIC\FLAG F:\FLGTEST\RENAMED.TXT N >> F:\FLGCMP\RUN.LOG
NPUBLIC\NDIR F:\FLGTEST > F:\FLGCMP\OUT\F09_FINAL.OUT
ECHO === SUMMARY === > F:\FLGCMP\SUMMARY.TXT
ECHO FLGTSTA FLAG baseline finished. >> F:\FLGCMP\SUMMARY.TXT
ECHO. >> F:\FLGCMP\SUMMARY.TXT
ECHO Expected: >> F:\FLGCMP\SUMMARY.TXT
ECHO - F03 shows H on ALPHA, RO on BETA, A on GAMMA, Sy on DELTA. >> F:\FLGCMP\SUMMARY.TXT
ECHO - F05 filters isolate H, RO, A, Sy and NOT variants. >> F:\FLGCMP\SUMMARY.TXT
ECHO - F06 clears the individual flags. >> F:\FLGCMP\SUMMARY.TXT
ECHO - F07 combined flags set and reset with N. >> F:\FLGCMP\SUMMARY.TXT
ECHO - F09 final readback shows normal usable files. >> F:\FLGCMP\SUMMARY.TXT
ECHO Optional pack results with FLGTZIP.BAT. >> F:\FLGCMP\SUMMARY.TXT
ECHO.
ECHO FLGTSTA fertig.
ECHO Ergebnisse liegen in F:\FLGCMP
ECHO Optional: FLGTZIP ausfuehren.
ECHO.