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
122 lines
6.3 KiB
Batchfile
122 lines
6.3 KiB
Batchfile
@ECHO OFF
|
|
REM RVKSTA.BAT
|
|
REM Automated REVOKE baseline test for MARS NWE.
|
|
REM
|
|
REM Run as SUPERVISOR or a user with Access Control on F:\RVKTEST.
|
|
REM Uses \NPUBLIC\GRANT for setup and \NPUBLIC\REVOKE as Novell baseline.
|
|
REM
|
|
REM Result tree:
|
|
REM F:\RVKCMP
|
|
REM Test tree:
|
|
REM F:\RVKTEST
|
|
|
|
F:
|
|
CD \
|
|
|
|
REM --- Clean generated test/result directories (contents only). ---
|
|
IF EXIST RVKTEST\NUL DELTREE /Y RVKTEST\*.*
|
|
IF EXIST RVKCMP\NUL DELTREE /Y RVKCMP\*.*
|
|
|
|
IF NOT EXIST RVKTEST\NUL MD RVKTEST
|
|
IF NOT EXIST RVKTEST\ONE\NUL MD RVKTEST\ONE
|
|
IF NOT EXIST RVKTEST\TREE\NUL MD RVKTEST\TREE
|
|
IF NOT EXIST RVKTEST\TREE\SUB1\NUL MD RVKTEST\TREE\SUB1
|
|
IF NOT EXIST RVKTEST\TREE\SUB2\NUL MD RVKTEST\TREE\SUB2
|
|
IF NOT EXIST RVKTEST\SUBTST\NUL MD RVKTEST\SUBTST
|
|
IF NOT EXIST RVKTEST\SUBTST\S1\NUL MD RVKTEST\SUBTST\S1
|
|
IF NOT EXIST RVKTEST\SUBTST\S2\NUL MD RVKTEST\SUBTST\S2
|
|
IF NOT EXIST RVKTEST\OPTBOTH\NUL MD RVKTEST\OPTBOTH
|
|
IF NOT EXIST RVKTEST\OPTBOTH\SUB\NUL MD RVKTEST\OPTBOTH\SUB
|
|
IF NOT EXIST RVKTEST\FILES\NUL MD RVKTEST\FILES
|
|
IF NOT EXIST RVKTEST\EMPTY\NUL MD RVKTEST\EMPTY
|
|
IF NOT EXIST RVKCMP\NUL MD RVKCMP
|
|
IF NOT EXIST RVKCMP\OUT\NUL MD RVKCMP\OUT
|
|
IF NOT EXIST RVKCMP\SETUP\NUL MD RVKCMP\SETUP
|
|
|
|
ECHO REVOKE ONE FILE > F:\RVKTEST\ONE\ONE.TXT
|
|
ECHO REVOKE TREE FILE > F:\RVKTEST\TREE\TROOT.TXT
|
|
ECHO REVOKE SUB1 FILE > F:\RVKTEST\TREE\SUB1\SUB1.TXT
|
|
ECHO REVOKE SUB2 FILE > F:\RVKTEST\TREE\SUB2\SUB2.TXT
|
|
ECHO REVOKE SUBDIRECTORY S1 > F:\RVKTEST\SUBTST\S1\S1.TXT
|
|
ECHO REVOKE SUBDIRECTORY S2 > F:\RVKTEST\SUBTST\S2\S2.TXT
|
|
ECHO REVOKE OPTION ROOT > F:\RVKTEST\OPTBOTH\ROOT.TXT
|
|
ECHO REVOKE OPTION SUB > F:\RVKTEST\OPTBOTH\SUB\SUB.TXT
|
|
ECHO REVOKE FILE A > F:\RVKTEST\FILES\A.TXT
|
|
ECHO REVOKE FILE B > F:\RVKTEST\FILES\B.TXT
|
|
|
|
ECHO RVKSTA REVOKE baseline test > F:\RVKCMP\RUN.LOG
|
|
ECHO Run this as SUPERVISOR or equivalent. >> F:\RVKCMP\RUN.LOG
|
|
ECHO Setup uses \NPUBLIC\GRANT, test captures \NPUBLIC\REVOKE output for user MARIO. >> F:\RVKCMP\RUN.LOG
|
|
ECHO. >> F:\RVKCMP\RUN.LOG
|
|
|
|
ECHO === SETUP grants === >> F:\RVKCMP\RUN.LOG
|
|
\NPUBLIC\GRANT R W C E M F A FOR F:\RVKTEST\ONE TO USER MARIO > F:\RVKCMP\SETUP\S01_ONE_GRANT.OUT
|
|
\NPUBLIC\GRANT R W C E M F A FOR F:\RVKTEST\TREE TO USER MARIO /SUBDIRECTORIES > F:\RVKCMP\SETUP\S02_TREE_GRANT.OUT
|
|
\NPUBLIC\GRANT R W C E M F A FOR F:\RVKTEST\FILES\A.TXT TO USER MARIO /FILES > F:\RVKCMP\SETUP\S03_FILE_A_GRANT.OUT
|
|
\NPUBLIC\GRANT R W C E M F A FOR F:\RVKTEST\FILES\B.TXT TO USER MARIO /FILES > F:\RVKCMP\SETUP\S04_FILE_B_GRANT.OUT
|
|
REM Direct subdirectory trustees for D20, because REVOKE /SUBDIRECTORIES acts on trustees below the named directory.
|
|
\NPUBLIC\GRANT R W C E M F A FOR F:\RVKTEST\SUBTST\S1 TO USER MARIO > F:\RVKCMP\SETUP\S05_SUBTST_S1_GRANT.OUT
|
|
\NPUBLIC\GRANT R W C E M F A FOR F:\RVKTEST\SUBTST\S2 TO USER MARIO > F:\RVKCMP\SETUP\S06_SUBTST_S2_GRANT.OUT
|
|
REM Independent tree with both files and subdirectories for D93 option-combination behavior.
|
|
\NPUBLIC\GRANT R W C E M F A FOR F:\RVKTEST\OPTBOTH TO USER MARIO > F:\RVKCMP\SETUP\S07_OPTBOTH_ROOT_GRANT.OUT
|
|
\NPUBLIC\GRANT R W C E M F A FOR F:\RVKTEST\OPTBOTH\SUB TO USER MARIO > F:\RVKCMP\SETUP\S08_OPTBOTH_SUB_GRANT.OUT
|
|
\NPUBLIC\GRANT R W C E M F A FOR F:\RVKTEST\OPTBOTH\ROOT.TXT TO USER MARIO /FILES > F:\RVKCMP\SETUP\S09_OPTBOTH_FILE_GRANT.OUT
|
|
|
|
ECHO === D01 usage/help === >> F:\RVKCMP\RUN.LOG
|
|
\NPUBLIC\REVOKE /? > F:\RVKCMP\OUT\D01_HELP.OUT
|
|
|
|
ECHO === D02 no arguments === >> F:\RVKCMP\RUN.LOG
|
|
\NPUBLIC\REVOKE > F:\RVKCMP\OUT\D02_NOARGS.OUT
|
|
|
|
ECHO === D10 revoke W M from directory === >> F:\RVKCMP\RUN.LOG
|
|
\NPUBLIC\REVOKE W M FOR F:\RVKTEST\ONE FROM USER MARIO > F:\RVKCMP\OUT\D10_DIR_REVOKE_WM.OUT
|
|
|
|
ECHO === D11 revoke ALL from directory / remove trustee === >> F:\RVKCMP\RUN.LOG
|
|
\NPUBLIC\REVOKE ALL FOR F:\RVKTEST\ONE FROM USER MARIO > F:\RVKCMP\OUT\D11_DIR_REVOKE_ALL.OUT
|
|
|
|
ECHO === D20 revoke C E recursively from direct subdirectory trustees === >> F:\RVKCMP\RUN.LOG
|
|
\NPUBLIC\REVOKE C E FOR F:\RVKTEST\SUBTST FROM USER MARIO /SUBDIRECTORIES > F:\RVKCMP\OUT\D20_SUBDIRS_REVOKE_CE.OUT
|
|
|
|
ECHO === D21 revoke R from one explicit file === >> F:\RVKCMP\RUN.LOG
|
|
\NPUBLIC\REVOKE R FOR F:\RVKTEST\FILES\A.TXT FROM USER MARIO /FILES > F:\RVKCMP\OUT\D21_FILE_REVOKE_R.OUT
|
|
|
|
ECHO === D22 revoke W from files in a directory === >> F:\RVKCMP\RUN.LOG
|
|
\NPUBLIC\REVOKE W FOR F:\RVKTEST\FILES FROM USER MARIO /FILES > F:\RVKCMP\OUT\D22_FILES_DIR_REVOKE_W.OUT
|
|
|
|
ECHO === D30 relative path from F:\RVKTEST === >> F:\RVKCMP\RUN.LOG
|
|
\NPUBLIC\GRANT R W C E M F A FOR F:\RVKTEST\ONE TO USER MARIO > F:\RVKCMP\SETUP\S30_ONE_REGRANT.OUT
|
|
CD \RVKTEST
|
|
\NPUBLIC\REVOKE W FOR ONE FROM USER MARIO > F:\RVKCMP\OUT\D30_REL_DIR_REVOKE_W.OUT
|
|
CD \
|
|
|
|
ECHO === D90 no trustee on directory === >> F:\RVKCMP\RUN.LOG
|
|
\NPUBLIC\REVOKE R FOR F:\RVKTEST\EMPTY FROM USER MARIO > F:\RVKCMP\OUT\D90_NO_TRUSTEE.OUT
|
|
|
|
ECHO === D91 missing user === >> F:\RVKCMP\RUN.LOG
|
|
\NPUBLIC\REVOKE R FOR F:\RVKTEST\ONE FROM USER NO_SUCH_USER > F:\RVKCMP\OUT\D91_MISSING_USER.OUT
|
|
|
|
ECHO === D92 missing path === >> F:\RVKCMP\RUN.LOG
|
|
\NPUBLIC\REVOKE R FOR F:\RVKTEST\MISSING\NOFILE.TXT FROM USER MARIO > F:\RVKCMP\OUT\D92_MISSING_PATH.OUT
|
|
|
|
ECHO === D93 both /FILES and /SUBDIRECTORIES === >> F:\RVKCMP\RUN.LOG
|
|
\NPUBLIC\REVOKE R FOR F:\RVKTEST\OPTBOTH FROM USER MARIO /FILES /SUBDIRECTORIES > F:\RVKCMP\OUT\D93_FILES_AND_SUBDIRS.OUT
|
|
|
|
ECHO === D94 bad grammar / missing FROM === >> F:\RVKCMP\RUN.LOG
|
|
\NPUBLIC\REVOKE R FOR F:\RVKTEST\ONE USER MARIO > F:\RVKCMP\OUT\D94_BAD_GRAMMAR.OUT
|
|
|
|
ECHO === SUMMARY === > F:\RVKCMP\SUMMARY.TXT
|
|
ECHO RVKSTA REVOKE baseline finished. >> F:\RVKCMP\SUMMARY.TXT
|
|
ECHO. >> F:\RVKCMP\SUMMARY.TXT
|
|
ECHO Expected: >> F:\RVKCMP\SUMMARY.TXT
|
|
ECHO - D10/D11 capture normal directory revoke and trustee removal. >> F:\RVKCMP\SUMMARY.TXT
|
|
ECHO - D20 captures /SUBDIRECTORIES behavior using direct trustees on child directories. >> F:\RVKCMP\SUMMARY.TXT
|
|
ECHO - D21/D22 capture /FILES behavior for explicit files and directory file sets. >> F:\RVKCMP\SUMMARY.TXT
|
|
ECHO - D30 captures relative path behavior with absolute \NPUBLIC\REVOKE invocation. >> F:\RVKCMP\SUMMARY.TXT
|
|
ECHO - D90-D94 capture no-trustee, missing-user, missing-path/Novell no-trustee behavior, option combination, and grammar errors. >> F:\RVKCMP\SUMMARY.TXT
|
|
ECHO. >> F:\RVKCMP\SUMMARY.TXT
|
|
ECHO Optional: RVKZIP ausfuehren. >> F:\RVKCMP\SUMMARY.TXT
|
|
|
|
ECHO RVKSTA fertig.
|
|
ECHO Ergebnisse liegen in F:\RVKCMP
|
|
ECHO Optional: RVKZIP ausfuehren.
|