Update the DOS utilities and test suite with the current Novell comparison state. Validated/updated tool behavior: - improve CREATOR output by showing Novell-style attribute and rights masks - extend FLAGDIR handling with old NCP22 directory attribute read/write fallback paths - expand NDIR Novell-style formatting, filtering, /SUB handling, date output, DI/RI attribute display and richer metadata collection - adjust REVOKE output/grammar, recursive /SUBDIRECTORIES behavior and trustee update/delete paths to better match Novell tools - adjust SLIST header/output behavior for logged-in and logged-out cases - update README status to reflect the currently green/tested tools Test-suite changes: - add/refresh Novell comparison tests for CREATOR, NDIR, REVOKE and SLIST - update NCOPY tests and collection scripts for the current investigation state - refresh per-tool README files and top-level test documentation - keep MAP documented as still separately open NCOPY: - add the current NCOPY implementation and experimental NCP74/server-side-copy scaffolding - build ncopy.c so it stays compile-tested - keep NCOPY disabled in the NET multicall dispatch for now because the server-side-copy/open-handle path is still unsafe and needs further analysis Build: - include ncopy.c in the DOS utility build - drop the temporary MARS_DOSUTILS_VERSION define wiring from CMake
67 lines
1.3 KiB
Markdown
67 lines
1.3 KiB
Markdown
# MAP automated test
|
|
|
|
`MAPTSTA.BAT` captures a Novell MAP baseline using `NPUBLIC\MAP`.
|
|
|
|
This is not yet a PUBLIC-vs-Novell compare; it documents the Novell behavior that the public MAP implementation should match.
|
|
|
|
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
|