DOS utility regression tests
This directory contains DOS-side comparison and regression tests for the
mars-dosutils tools. The tests are meant for maintainer use against a MARS-NWE
SYS: tree that also contains the original Novell tools in SYS:NPUBLIC and
SYS:NLOGIN.
Most tests compare captured Novell output with the current public implementation byte-for-byte. Some tests also switch to a normal user and read back effective rights, because matching command output alone is not enough for trustee tools.
Output naming convention
The generated result trees use these names consistently:
OUT Novell reference output from SYS:NPUBLIC or SYS:NLOGIN
PUBOUT current implementation output from SYS:PUBLIC or SYS:LOGIN
COMPARE.LOG
UNOV Novell readback while logged in as NOPASSUSER
UPUB public readback while logged in as NOPASSUSER
UCOMP.LOG
LOUT Novell output while logged out, usually from SYS:NLOGIN copy
LPUBOUT public output while logged out, usually from SYS:LOGIN copy
LCOMP.LOG
Not every test has every directory. For example, SLIST has LOUT/LPUBOUT,
while trustee tools usually have UNOV/UPUB.
User switching and local helpers
Tests that must survive a LOGOUT use DLYSTRT.EXE and a local helper directory
on C:. This is required because logging out removes F: and normal network
mappings. The common pattern is:
- run the main
*STA.BATasSUPERVISORfromF:, - copy the helper
*C.BAT,DLYSTRT.EXE, and required tools toC:\*TMP, - queue the helper with
DLYSTRT, - let the helper log out, perform the user or logged-out checks, log back in,
- queue
F:\*STA.BAT PART2, - compare and package the captured files.
For automatic re-login, set the Supervisor password before starting the test:
SET LGNTPWD=your-supervisor-password
LGNTPWD is used only by maintainer tests and should not be committed to any
script or log.
Test index
| Directory | Main script | Current purpose/status |
|---|---|---|
creator/ |
CIXSTA.BAT |
CREATOR metadata/xattr test plus optional NOPASSUSER readback. |
flag/ |
FLGTSTA.BAT |
NPUBLIC\FLAG vs PUBLIC\FLAG, including user-context readback. |
flagdir/ |
FDGTSTA.BAT |
NPUBLIC\FLAGDIR vs PUBLIC\FLAGDIR, including user-context readback. |
grant/ |
GRNTSTA.BAT |
NPUBLIC\GRANT vs PUBLIC\GRANT, rights matrix and NOPASSUSER readback. |
login/ |
LGNTSTA.BAT |
Maintainer baseline for Novell LOGIN/LOGOUT/MAP flow. |
logout/ |
see login/ |
LOGOUT is covered by the LOGIN baseline flow. |
map/ |
MAPTSTA.BAT |
Novell MAP baseline and root/non-root mapping semantics; full PUBLIC comparison still pending. |
ndir/ |
NDIRTSTA.BAT |
NPUBLIC\NDIR vs PUBLIC\NDIR, matrix, filters, /SUB, /RIGHTS, user readback. |
remove/ |
RMVSTA.BAT |
NPUBLIC\REMOVE vs PUBLIC\REMOVE, matrix and NOPASSUSER readback. |
revoke/ |
RVKSTA.BAT |
NPUBLIC\REVOKE vs PUBLIC\REVOKE, matrix and NOPASSUSER readback. |
rights/ |
RGHTSTA.BAT |
NPUBLIC\RIGHTS vs PUBLIC\RIGHTS, direct effective-rights cases. |
slist/ |
SLSTSTA.BAT |
NPUBLIC\SLIST vs PUBLIC\SLIST while logged in, plus NLOGIN\SLIST vs LOGIN\SLIST while logged out. |
whoami/ |
WHOSTA.BAT |
NPUBLIC\WHOAMI vs PUBLIC\WHOAMI. |
rightsuser/ |
varies | Additional user-rights experiments. |
renmove/ |
varies | Rename/move experiments. |
ncopy/ |
varies | NCOPY experiments. |
quota/ |
DQTSTA.BAT + DQTC.BAT |
Mixed Linux/DOS userquota write-deny smoke: Linux sets quota, DOS writes until deny. |
filer/ |
varies | FILER-related notes/experiments. |
Host-side NSS/OES metadata readback
After running trustee, rights, flag, creator, or quota-related DOS tests against a
MARS-NWE SYS: tree, collect the canonical NSS/OES xattrs from the host with:
sh dosutils/test/cmnwmeta.sh /path/to/SYS /path/to/nwfs_xattr_dump > meta.log
The collector decodes netware.metadata, netware.quota, and
netware.userquota.0 from the files and directories changed by the DOS tests.
This is the expected verification layer for the NSS migration: DOS tools or
NCPFS perform the mutation, and nwfs_xattr_dump proves that the resulting
state landed in the OES-compatible netware.* metadata rather than only in the
legacy mars-nwe side stores.
Packaging
Most test directories have a matching *ZIP.BAT that packages the result tree
under SYS:. After that, include a recent server log from Linux, for example:
sudo ./mars_packtest_v3.sh slststa 5 mario
Use the test-specific README for exact ZIP names and any Linux-side collector steps.
Current high-level status
Recently green comparison tests:
CREATOR readback
FLAG
FLAGDIR
GRANT
NDIR
REMOVE
REVOKE
RIGHTS
SLIST logged-in and logged-out
WHOAMI
LOGIN/LOGOUT are covered by the maintainer baseline. MAP still needs a full
PUBLIC\MAP vs Novell comparison beyond the current baseline/semantics test.