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

74
test/login/README.md Normal file
View File

@@ -0,0 +1,74 @@
# LOGIN / LOGOUT baseline test
`LGNTSTA` is a manual two-stage baseline test for Novell `LOGIN`, `LOGOUT`, and `MAP`.
This test does **not** overwrite `SYS:LOGIN`, `SYS:PUBLIC`, or `SYS:NPUBLIC`. It copies the Novell tools to a temporary local directory on `C:` and runs from there. `LOGIN` and `MAP` are copied from `SYS:NLOGIN`; `LOGOUT` is copied from `SYS:NPUBLIC`.
## Required setup
User `NOPASSUSER` must exist on `MARS` and must be able to login without a password.
## Run
Start while logged in as `SUPERVISOR`:
```bat
F:\LGNTSTA
```
Then run the helper from `C:`:
```bat
C:
CD \LGNTTMP
LGNTC
```
The helper does:
```text
LOGOUT
LOGIN NOPASSUSER
MAP
LOGOUT
```
All tool calls and redirected output paths are absolute `C:\LGNTTMP\...`, because Novell `LOGIN` can change the current drive/search path.
Then login manually as `SUPERVISOR` again from the same local tool directory:
```bat
C:\LGNTTMP\LOGIN SUPERVISOR
```
After the login script restores `F:`, collect results:
```bat
F:\LGNTSTA PART2
F:\LGNTZIP
```
## Expected output files
`F:\LGNTCMP\OUT` contains:
```text
D01_LOG.OUT LOGOUT output from initial supervisor session
D02_LGIN.OUT LOGIN NOPASSUSER output
D03_MAP.OUT MAP output after NOPASSUSER login
D04_LGOT.OUT LOGOUT output from NOPASSUSER session
D99_HELP.OUT simulated LOGIN usage line for later comparison
HELPER.TXT helper trace
```
`D99_HELP.OUT` is intentionally produced with `ECHO`, because Novell `LOGIN /?` may not redirect help text reliably.
## Implementation note
After `LOGIN NOPASSUSER`, DOS/NetWare may change the current drive/search path. `LGNTC.BAT` therefore calls `C:\LGNTTMP\LOGIN`, `C:\LGNTTMP\MAP`, and `C:\LGNTTMP\LOGOUT` explicitly and redirects to absolute `C:\LGNTTMP\*.OUT` files.
## Parameter handling
`LGNTSTA` starts Part 1 only when called without parameters. `PART2` is accepted case-insensitively (`PART2`, `part2`, `Part2`, etc.). Any other parameter prints usage and does not start Part 1, so a typo cannot accidentally reset the test state.