Files
mars-dosutils/test/map/README.md
Mario Fetka f214e89d69 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
2026-05-27 13:31:46 +02:00

65 lines
1.2 KiB
Markdown

# MAP automated test
Novell MAP baseline using `NPUBLIC\MAP`.
LOGIN is intentionally not tested here. `PATH`, `PATHINS`, and `PATHDEL` are
our own tools, so they are not included in this Novell baseline.
## NetWare semantics
Verified against real NetWare:
```text
MAP G:=SYS:PUBLIC
```
sets the current path on `G:` to `\PUBLIC`, but it is not a fake root. `CD \`
returns to `SYS:\`.
```text
MAP ROOT G:=SYS:PUBLIC
```
sets `SYS:PUBLIC` as fake root. `CD \` stays inside `SYS:PUBLIC`.
## Run
Run while already logged in and with `F:` mapped to `SYS`.
```text
MAPTSTA
```
Optional pack:
```text
MAPTZIP
```
Result ZIP:
```text
F:\MAPCMP\MAPTSTA.ZIP
```
Linux package with server log:
```sh
sudo ./mars_packtest_v3.sh maptsta 5 mario
```
## Coverage
- display current maps
- non-root subdir map `G:=SYS:MAPTEST`
- verify `CD \` returns to volume root for non-root map
- fake-root map `MAP ROOT G:=SYS:MAPTEST`
- verify `CD \` stays in fake-root for root map
- fake-root map to `SYS:NPUBLIC` and find `NDIR.EXE`
- map `H:` to `HOME:`
- map `I:` to `QUOTA:`
- fake-root map `J:` to `QUOTA:USERQUOTA`
- delete `G:`, `H:`, `I:`, `J:`
- expected failure after delete
- expected failure for bad target