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
65 lines
1.2 KiB
Markdown
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
|