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
This commit is contained in:
Mario Fetka
2026-05-27 13:31:46 +02:00
parent 0df41482c7
commit f214e89d69
65 changed files with 4831 additions and 0 deletions

94
test/grant/GRNTSTA.BAT Normal file
View File

@@ -0,0 +1,94 @@
@ECHO OFF
REM GRNTSTA.BAT
REM Automated GRANT baseline test for MARS NWE.
REM
REM Run as SUPERVISOR or a user with Access Control on F:\GRNTEST.
REM Uses \NPUBLIC\GRANT as Novell baseline for currently implemented tool behavior.
REM
REM Result tree:
REM F:\GRNTCMP
REM Test tree:
REM F:\GRNTEST
F:
CD \
REM --- Clean generated test/result directories (contents only). ---
IF EXIST GRNTEST\NUL DELTREE /Y GRNTEST\*.*
IF EXIST GRNTCMP\NUL DELTREE /Y GRNTCMP\*.*
IF NOT EXIST GRNTEST\NUL MD GRNTEST
IF NOT EXIST GRNTEST\ONE\NUL MD GRNTEST\ONE
IF NOT EXIST GRNTEST\TREE\NUL MD GRNTEST\TREE
IF NOT EXIST GRNTEST\TREE\SUB1\NUL MD GRNTEST\TREE\SUB1
IF NOT EXIST GRNTEST\TREE\SUB2\NUL MD GRNTEST\TREE\SUB2
IF NOT EXIST GRNTCMP\NUL MD GRNTCMP
IF NOT EXIST GRNTCMP\OUT\NUL MD GRNTCMP\OUT
ECHO GRANT ROOT FILE > F:\GRNTEST\ROOT.TXT
ECHO GRANT ONE FILE > F:\GRNTEST\ONE\ONE.TXT
ECHO GRANT TREE FILE > F:\GRNTEST\TREE\TROOT.TXT
ECHO GRANT SUB1 FILE > F:\GRNTEST\TREE\SUB1\SUB1.TXT
ECHO GRANT SUB2 FILE > F:\GRNTEST\TREE\SUB2\SUB2.TXT
ECHO GRNTSTA GRANT baseline test > F:\GRNTCMP\RUN.LOG
ECHO Run this as SUPERVISOR or equivalent. >> F:\GRNTCMP\RUN.LOG
ECHO Captures \NPUBLIC\GRANT output against user MARIO. >> F:\GRNTCMP\RUN.LOG
ECHO. >> F:\GRNTCMP\RUN.LOG
ECHO === D01 usage/help === >> F:\GRNTCMP\RUN.LOG
\NPUBLIC\GRANT /? > F:\GRNTCMP\OUT\D01_HELP.OUT
ECHO === D02 no arguments === >> F:\GRNTCMP\RUN.LOG
\NPUBLIC\GRANT > F:\GRNTCMP\OUT\D02_NOARGS.OUT
ECHO === D10 grant R F on directory === >> F:\GRNTCMP\RUN.LOG
\NPUBLIC\GRANT R F FOR F:\GRNTEST\ONE TO USER MARIO > F:\GRNTCMP\OUT\D10_DIR_RF.OUT
ECHO === D11 grant R W C E M F A on directory === >> F:\GRNTCMP\RUN.LOG
\NPUBLIC\GRANT R W C E M F A FOR F:\GRNTEST\ONE TO USER MARIO > F:\GRNTCMP\OUT\D11_DIR_ALL_LETTERS.OUT
ECHO === D12 grant ALL alias on root directory === >> F:\GRNTCMP\RUN.LOG
\NPUBLIC\GRANT ALL FOR F:\GRNTEST TO USER MARIO > F:\GRNTCMP\OUT\D12_DIR_ALL_ALIAS.OUT
ECHO === D13 grant N / no rights on directory === >> F:\GRNTCMP\RUN.LOG
\NPUBLIC\GRANT N FOR F:\GRNTEST\ONE TO USER MARIO > F:\GRNTCMP\OUT\D13_DIR_N.OUT
ECHO === D20 grant R F recursively to subdirectories === >> F:\GRNTCMP\RUN.LOG
\NPUBLIC\GRANT R F FOR F:\GRNTEST\TREE TO USER MARIO /SUBDIRECTORIES > F:\GRNTCMP\OUT\D20_SUBDIRS_RF.OUT
ECHO === D21 grant R F on one file using /FILES === >> F:\GRNTCMP\RUN.LOG
\NPUBLIC\GRANT R F FOR F:\GRNTEST\ONE\ONE.TXT TO USER MARIO /FILES > F:\GRNTCMP\OUT\D21_FILE_RF.OUT
ECHO === D30 relative path from F:\GRNTEST === >> F:\GRNTCMP\RUN.LOG
CD \GRNTEST
\NPUBLIC\GRANT R F FOR ONE TO USER MARIO > F:\GRNTCMP\OUT\D30_REL_DIR_RF.OUT
CD \
ECHO === D90 invalid right === >> F:\GRNTCMP\RUN.LOG
\NPUBLIC\GRANT BADRIGHT FOR F:\GRNTEST TO USER MARIO > F:\GRNTCMP\OUT\D90_BAD_RIGHT.OUT
ECHO === D91 missing user === >> F:\GRNTCMP\RUN.LOG
\NPUBLIC\GRANT R F FOR F:\GRNTEST TO USER NO_SUCH_USER > F:\GRNTCMP\OUT\D91_MISSING_USER.OUT
ECHO === D92 missing path === >> F:\GRNTCMP\RUN.LOG
\NPUBLIC\GRANT R F FOR F:\GRNTEST\MISSING TO USER MARIO > F:\GRNTCMP\OUT\D92_MISSING_PATH.OUT
ECHO === D93 bad grammar / missing TO === >> F:\GRNTCMP\RUN.LOG
\NPUBLIC\GRANT R F FOR F:\GRNTEST MARIO > F:\GRNTCMP\OUT\D93_BAD_GRAMMAR.OUT
ECHO === SUMMARY === > F:\GRNTCMP\SUMMARY.TXT
ECHO GRNTSTA GRANT baseline finished. >> F:\GRNTCMP\SUMMARY.TXT
ECHO. >> F:\GRNTCMP\SUMMARY.TXT
ECHO Expected: >> F:\GRNTCMP\SUMMARY.TXT
ECHO - D10-D13 capture directory grant formatting and right aliases. >> F:\GRNTCMP\SUMMARY.TXT
ECHO - D20 captures /SUBDIRECTORIES behavior. >> F:\GRNTCMP\SUMMARY.TXT
ECHO - D21 captures /FILES behavior for a file path. >> F:\GRNTCMP\SUMMARY.TXT
ECHO - D30 captures relative path behavior with absolute \NPUBLIC\GRANT invocation. >> F:\GRNTCMP\SUMMARY.TXT
ECHO - D90-D93 capture error/grammar cases. >> F:\GRNTCMP\SUMMARY.TXT
ECHO. >> F:\GRNTCMP\SUMMARY.TXT
ECHO Optional: GRNTZIP ausfuehren. >> F:\GRNTCMP\SUMMARY.TXT
ECHO GRNTSTA fertig.
ECHO Ergebnisse liegen in F:\GRNTCMP
ECHO Optional: GRNTZIP ausfuehren.