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

39
test/whoami/README.md Normal file
View File

@@ -0,0 +1,39 @@
# WHOAMI baseline test
This directory contains a Novell `WHOAMI` baseline test for MARS NWE.
## Files
- `WHOSTA.BAT` - runs the baseline test and writes results to `F:\WHOCMP`.
- `WHOZIP.BAT` - packs the result directory into `F:\WHOCMP\WHOSTA.ZIP`.
## Run
Run while logged in as the user whose identity/context should be captured, normally `SUPERVISOR`:
```bat
F:
CD WHOSTA
WHOZIP
```
## Coverage
The test uses Novell baseline tool `\NPUBLIC\WHOAMI` and captures:
- default `WHOAMI`
- explicit server `WHOAMI MARS`
- documented options: `/SECURITY`, `/GROUPS`, `/WORKGROUPS`, `/RIGHTS`, `/SYSTEM`, `/OBJECT`, `/ALL`
- missing-server case with `NWBYGONE01`
- bad-option case
- help text from `WHOAMI /?`
Known usage from Novell baseline:
```text
Usage:
WHOAMI [Server] [/Security] [/Groups] [/WorkGroups] [/Rights] [/SYstem]
[/Object] [/All] [/Continuous]
```
The output is login-context dependent, so later comparisons should normalize user/server/date/session-specific lines where needed.

74
test/whoami/WHOSTA.BAT Normal file
View File

@@ -0,0 +1,74 @@
@ECHO OFF
REM WHOSTA.BAT
REM Automated WHOAMI baseline test for MARS NWE.
REM
REM Run while logged in as SUPERVISOR or the user whose context should be captured.
REM Uses \NPUBLIC\WHOAMI as Novell baseline.
REM
REM Result tree:
REM F:\WHOCMP
F:
CD \
REM --- Clean generated result directory (contents only). ---
IF EXIST WHOCMP\NUL DELTREE /Y WHOCMP\*.*
IF NOT EXIST WHOCMP\NUL MD WHOCMP
IF NOT EXIST WHOCMP\OUT\NUL MD WHOCMP\OUT
ECHO WHOSTA WHOAMI baseline test > F:\WHOCMP\RUN.LOG
ECHO Run this while logged in as the target user, normally SUPERVISOR. >> F:\WHOCMP\RUN.LOG
ECHO Captures \NPUBLIC\WHOAMI output and option variants. >> F:\WHOCMP\RUN.LOG
ECHO. >> F:\WHOCMP\RUN.LOG
ECHO === D01 default WHOAMI === >> F:\WHOCMP\RUN.LOG
\NPUBLIC\WHOAMI > F:\WHOCMP\OUT\D01_BASE.OUT
ECHO === D02 explicit server MARS === >> F:\WHOCMP\RUN.LOG
\NPUBLIC\WHOAMI MARS > F:\WHOCMP\OUT\D02_MARS.OUT
ECHO === D10 /SECURITY === >> F:\WHOCMP\RUN.LOG
\NPUBLIC\WHOAMI /SECURITY > F:\WHOCMP\OUT\D10_SECUR.OUT
ECHO === D11 /GROUPS === >> F:\WHOCMP\RUN.LOG
\NPUBLIC\WHOAMI /GROUPS > F:\WHOCMP\OUT\D11_GROUP.OUT
ECHO === D12 /WORKGROUPS === >> F:\WHOCMP\RUN.LOG
\NPUBLIC\WHOAMI /WORKGROUPS > F:\WHOCMP\OUT\D12_WORK.OUT
ECHO === D13 /RIGHTS === >> F:\WHOCMP\RUN.LOG
\NPUBLIC\WHOAMI /RIGHTS > F:\WHOCMP\OUT\D13_RIGHT.OUT
ECHO === D14 /SYSTEM === >> F:\WHOCMP\RUN.LOG
\NPUBLIC\WHOAMI /SYSTEM > F:\WHOCMP\OUT\D14_SYST.OUT
ECHO === D15 /OBJECT === >> F:\WHOCMP\RUN.LOG
\NPUBLIC\WHOAMI /OBJECT > F:\WHOCMP\OUT\D15_OBJ.OUT
ECHO === D16 /ALL === >> F:\WHOCMP\RUN.LOG
\NPUBLIC\WHOAMI /ALL > F:\WHOCMP\OUT\D16_ALL.OUT
ECHO === D90 missing server / negative server case === >> F:\WHOCMP\RUN.LOG
\NPUBLIC\WHOAMI NWBYGONE01 > F:\WHOCMP\OUT\D90_MISS.OUT
ECHO === D91 unknown option === >> F:\WHOCMP\RUN.LOG
\NPUBLIC\WHOAMI /BOGUS > F:\WHOCMP\OUT\D91_BOGUS.OUT
ECHO === D99 usage/help === >> F:\WHOCMP\RUN.LOG
\NPUBLIC\WHOAMI /? > F:\WHOCMP\OUT\D99_HELP.OUT
ECHO === SUMMARY === > F:\WHOCMP\SUMMARY.TXT
ECHO WHOSTA WHOAMI baseline finished. >> F:\WHOCMP\SUMMARY.TXT
ECHO. >> F:\WHOCMP\SUMMARY.TXT
ECHO Expected coverage: >> F:\WHOCMP\SUMMARY.TXT
ECHO - D01 captures default identity output for the current login context. >> F:\WHOCMP\SUMMARY.TXT
ECHO - D02 captures explicit server syntax with MARS. >> F:\WHOCMP\SUMMARY.TXT
ECHO - D10-D16 capture documented option variants. >> F:\WHOCMP\SUMMARY.TXT
ECHO - D90-D91 capture missing-server and bad-option behavior. >> F:\WHOCMP\SUMMARY.TXT
ECHO - D99 captures Usage text from WHOAMI /?. >> F:\WHOCMP\SUMMARY.TXT
ECHO. >> F:\WHOCMP\SUMMARY.TXT
ECHO Optional: WHOZIP ausfuehren. >> F:\WHOCMP\SUMMARY.TXT
ECHO WHOSTA fertig.
ECHO Ergebnisse liegen in F:\WHOCMP
ECHO Optional: WHOZIP ausfuehren.

21
test/whoami/WHOZIP.BAT Normal file
View File

@@ -0,0 +1,21 @@
@ECHO OFF
REM WHOZIP.BAT
REM Optional packer for WHOSTA result files.
REM Requires ZIP.EXE in PATH or current directory.
F:
CD \WHOCMP
IF EXIST WHOSTA.ZIP DEL WHOSTA.ZIP
IF EXIST ZIP.LOG DEL ZIP.LOG
ECHO Creating WHOSTA.ZIP > ZIP.LOG
ZIP -r WHOSTA.ZIP RUN.LOG SUMMARY.TXT OUT >> ZIP.LOG
CD \
ECHO.
ECHO ZIP step finished.
ECHO Check:
ECHO F:\WHOCMP\WHOSTA.ZIP
ECHO F:\WHOCMP\ZIP.LOG
ECHO.