Files
mars-dosutils/test/map/README.md
Mario Fetka 4a952b4c4c dosutils: align Novell-compatible tests and stage NCOPY work
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
2026-05-29 07:40:04 +02:00

1.3 KiB

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:

MAP G:=SYS:PUBLIC

sets the current path on G: to \PUBLIC, but it is not a fake root. CD \ returns to SYS:\.

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.

MAPTSTA

Optional pack:

MAPTZIP

Result ZIP:

F:\MAPCMP\MAPTSTA.ZIP

Linux package with server log:

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