Files
mars-dosutils/test/renmove/RMTSTA.BAT
Mario Fetka f214e89d69 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
2026-05-27 13:31:46 +02:00

189 lines
8.1 KiB
Batchfile

@ECHO OFF
REM RMTSTA.BAT
REM Automated file/directory rename, move, delete baseline for MARS NWE.
REM
REM Uses DOS commands over the NetWare redirector:
REM MD, REN, MOVE, COPY, DEL, RD
REM
REM Notes:
REM - File rename uses REN.
REM - Directory rename uses MOVE, because this client rejects REN on dirs.
REM - Some DOS/Novell messages may still appear on screen even when
REM stdout is redirected. Result files are in F:\RCMP.
REM
REM Results:
REM F:\RCMP\RUN.LOG
REM F:\RCMP\SUMMARY.TXT
REM F:\RCMP\PRE\*.OUT
REM F:\RCMP\POST\*.OUT
REM F:\RCMP\CMP\*.OUT
F:
CD \
REM --- Clean generated test/result directories (contents only). ---
IF EXIST RMTTEST\NUL DELTREE /Y RMTTEST\*.*
IF EXIST RMTCMP\NUL DELTREE /Y RMTCMP\*.*
REM --- Directory setup ---
IF NOT EXIST TRMOVE\NUL MD TRMOVE
IF NOT EXIST TRMOVE\SRC\NUL MD TRMOVE\SRC
IF NOT EXIST TRMOVE\SRC\SUB\NUL MD TRMOVE\SRC\SUB
IF NOT EXIST TRMOVE\DST\NUL MD TRMOVE\DST
IF NOT EXIST TRMOVE\DFILE\NUL MD TRMOVE\DFILE
IF NOT EXIST TRMOVE\NEMPTY\NUL MD TRMOVE\NEMPTY
IF NOT EXIST RCMP\NUL MD RCMP
IF NOT EXIST RCMP\PRE\NUL MD RCMP\PRE
IF NOT EXIST RCMP\POST\NUL MD RCMP\POST
IF NOT EXIST RCMP\CMP\NUL MD RCMP\CMP
REM --- Clean result files ---
IF EXIST F:\RCMP\RUN.LOG DEL F:\RCMP\RUN.LOG
IF EXIST F:\RCMP\SUMMARY.TXT DEL F:\RCMP\SUMMARY.TXT
IF EXIST F:\RCMP\ZIP.LOG DEL F:\RCMP\ZIP.LOG
IF EXIST F:\RCMP\RMTSTA.ZIP DEL F:\RCMP\RMTSTA.ZIP
IF EXIST F:\RCMP\PRE\ROOT.OUT DEL F:\RCMP\PRE\ROOT.OUT
IF EXIST F:\RCMP\PRE\SRC.OUT DEL F:\RCMP\PRE\SRC.OUT
IF EXIST F:\RCMP\PRE\SUB.OUT DEL F:\RCMP\PRE\SUB.OUT
IF EXIST F:\RCMP\PRE\DST.OUT DEL F:\RCMP\PRE\DST.OUT
IF EXIST F:\RCMP\PRE\DFILE.OUT DEL F:\RCMP\PRE\DFILE.OUT
IF EXIST F:\RCMP\PRE\DATES.OUT DEL F:\RCMP\PRE\DATES.OUT
IF EXIST F:\RCMP\POST\ROOT.OUT DEL F:\RCMP\POST\ROOT.OUT
IF EXIST F:\RCMP\POST\SRC.OUT DEL F:\RCMP\POST\SRC.OUT
IF EXIST F:\RCMP\POST\SUB.OUT DEL F:\RCMP\POST\SUB.OUT
IF EXIST F:\RCMP\POST\DST.OUT DEL F:\RCMP\POST\DST.OUT
IF EXIST F:\RCMP\POST\DFILE.OUT DEL F:\RCMP\POST\DFILE.OUT
IF EXIST F:\RCMP\POST\NEMPTY.OUT DEL F:\RCMP\POST\NEMPTY.OUT
IF EXIST F:\RCMP\POST\DATES.OUT DEL F:\RCMP\POST\DATES.OUT
IF EXIST F:\RCMP\POST\A2.OUT DEL F:\RCMP\POST\A2.OUT
IF EXIST F:\RCMP\POST\MOVEDB.OUT DEL F:\RCMP\POST\MOVEDB.OUT
IF EXIST F:\RCMP\CMP\ROOT.OUT DEL F:\RCMP\CMP\ROOT.OUT
IF EXIST F:\RCMP\CMP\SRC.OUT DEL F:\RCMP\CMP\SRC.OUT
IF EXIST F:\RCMP\CMP\SUB.OUT DEL F:\RCMP\CMP\SUB.OUT
IF EXIST F:\RCMP\CMP\DST.OUT DEL F:\RCMP\CMP\DST.OUT
IF EXIST F:\RCMP\CMP\DFILE.OUT DEL F:\RCMP\CMP\DFILE.OUT
IF EXIST F:\RCMP\CMP\DATES.OUT DEL F:\RCMP\CMP\DATES.OUT
ECHO RMTSTA automated rename/move/delete test > F:\RCMP\RUN.LOG
ECHO Date/time stamp skipped to avoid DOS prompt. >> F:\RCMP\RUN.LOG
ECHO. >> F:\RCMP\RUN.LOG
ECHO === RESET TEST TREE === >> F:\RCMP\RUN.LOG
REM Delete old files individually if present.
IF EXIST F:\TRMOVE\SRC\A.TXT DEL F:\TRMOVE\SRC\A.TXT
IF EXIST F:\TRMOVE\SRC\A2.TXT DEL F:\TRMOVE\SRC\A2.TXT
IF EXIST F:\TRMOVE\SRC\EXIST.TXT DEL F:\TRMOVE\SRC\EXIST.TXT
IF EXIST F:\TRMOVE\SRC\SUB\B.TXT DEL F:\TRMOVE\SRC\SUB\B.TXT
IF EXIST F:\TRMOVE\DST\B.TXT DEL F:\TRMOVE\DST\B.TXT
IF EXIST F:\TRMOVE\DST\C.TXT DEL F:\TRMOVE\DST\C.TXT
IF EXIST F:\TRMOVE\DST\DELME.TXT DEL F:\TRMOVE\DST\DELME.TXT
IF EXIST F:\TRMOVE\DFILE\A.TXT DEL F:\TRMOVE\DFILE\A.TXT
IF EXIST F:\TRMOVE\DFILE\B.TXT DEL F:\TRMOVE\DFILE\B.TXT
IF EXIST F:\TRMOVE\DFILE\KEEP.TXT DEL F:\TRMOVE\DFILE\KEEP.TXT
IF EXIST F:\TRMOVE\DMOVE\A.TXT DEL F:\TRMOVE\DMOVE\A.TXT
IF EXIST F:\TRMOVE\DMOVE\B.TXT DEL F:\TRMOVE\DMOVE\B.TXT
IF EXIST F:\TRMOVE\DMOVE\KEEP.TXT DEL F:\TRMOVE\DMOVE\KEEP.TXT
IF EXIST F:\TRMOVE\NEMPTY\KEEP.TXT DEL F:\TRMOVE\NEMPTY\KEEP.TXT
IF EXIST F:\TRMOVE\EMPTY\NUL RD F:\TRMOVE\EMPTY
IF EXIST F:\TRMOVE\DMOVE\NUL RD F:\TRMOVE\DMOVE
IF EXIST F:\TRMOVE\DFILE\NUL RD F:\TRMOVE\DFILE
REM Recreate expected directories.
IF NOT EXIST F:\TRMOVE\SRC\NUL MD F:\TRMOVE\SRC
IF NOT EXIST F:\TRMOVE\SRC\SUB\NUL MD F:\TRMOVE\SRC\SUB
IF NOT EXIST F:\TRMOVE\DST\NUL MD F:\TRMOVE\DST
IF NOT EXIST F:\TRMOVE\DFILE\NUL MD F:\TRMOVE\DFILE
IF NOT EXIST F:\TRMOVE\NEMPTY\NUL MD F:\TRMOVE\NEMPTY
IF NOT EXIST F:\TRMOVE\EMPTY\NUL MD F:\TRMOVE\EMPTY
ECHO FILE A > F:\TRMOVE\SRC\A.TXT
ECHO EXIST TARGET > F:\TRMOVE\SRC\EXIST.TXT
ECHO FILE B > F:\TRMOVE\SRC\SUB\B.TXT
ECHO FILE C > F:\TRMOVE\DST\C.TXT
ECHO DELETE ME > F:\TRMOVE\DST\DELME.TXT
ECHO DIR A > F:\TRMOVE\DFILE\A.TXT
ECHO DIR B > F:\TRMOVE\DFILE\B.TXT
ECHO DIR KEEP > F:\TRMOVE\DFILE\KEEP.TXT
ECHO KEEP > F:\TRMOVE\NEMPTY\KEEP.TXT
NPUBLIC\FLAG F:\TRMOVE\SRC\A.TXT N >> F:\RCMP\RUN.LOG
NPUBLIC\FLAG F:\TRMOVE\SRC\SUB\B.TXT N >> F:\RCMP\RUN.LOG
NPUBLIC\FLAG F:\TRMOVE\DST\C.TXT N >> F:\RCMP\RUN.LOG
NPUBLIC\FLAG F:\TRMOVE\DST\DELME.TXT N >> F:\RCMP\RUN.LOG
NPUBLIC\FLAG F:\TRMOVE\DFILE\A.TXT N >> F:\RCMP\RUN.LOG
NPUBLIC\FLAG F:\TRMOVE\DFILE\B.TXT N >> F:\RCMP\RUN.LOG
NPUBLIC\FLAG F:\TRMOVE\DFILE\KEEP.TXT N >> F:\RCMP\RUN.LOG
ECHO === PRE CAPTURE === >> F:\RCMP\RUN.LOG
NPUBLIC\NDIR F:\TRMOVE > F:\RCMP\PRE\ROOT.OUT
NPUBLIC\NDIR F:\TRMOVE\SRC > F:\RCMP\PRE\SRC.OUT
NPUBLIC\NDIR F:\TRMOVE\SRC\SUB > F:\RCMP\PRE\SUB.OUT
NPUBLIC\NDIR F:\TRMOVE\DST > F:\RCMP\PRE\DST.OUT
NPUBLIC\NDIR F:\TRMOVE\DFILE > F:\RCMP\PRE\DFILE.OUT
NPUBLIC\NDIR F:\TRMOVE /DATES > F:\RCMP\PRE\DATES.OUT
ECHO === TEST 01: rename file in same directory === >> F:\RCMP\RUN.LOG
REN F:\TRMOVE\SRC\A.TXT A2.TXT >> F:\RCMP\RUN.LOG
ECHO === TEST 02: expected failure rename to existing target === >> F:\RCMP\RUN.LOG
REN F:\TRMOVE\SRC\A2.TXT EXIST.TXT >> F:\RCMP\RUN.LOG
ECHO === TEST 03: move-like file operation via COPY+DEL across directories === >> F:\RCMP\RUN.LOG
COPY F:\TRMOVE\SRC\SUB\B.TXT F:\TRMOVE\DST\B.TXT >> F:\RCMP\RUN.LOG
DEL F:\TRMOVE\SRC\SUB\B.TXT >> F:\RCMP\RUN.LOG
ECHO === TEST 04: directory rename via MOVE === >> F:\RCMP\RUN.LOG
MOVE F:\TRMOVE\DFILE F:\TRMOVE\DMOVE >> F:\RCMP\RUN.LOG
ECHO === TEST 05: delete file === >> F:\RCMP\RUN.LOG
DEL F:\TRMOVE\DST\DELME.TXT >> F:\RCMP\RUN.LOG
ECHO === TEST 06: remove empty directory === >> F:\RCMP\RUN.LOG
RD F:\TRMOVE\EMPTY >> F:\RCMP\RUN.LOG
ECHO === TEST 07: expected failure remove non-empty directory === >> F:\RCMP\RUN.LOG
RD F:\TRMOVE\NEMPTY >> F:\RCMP\RUN.LOG
ECHO === POST CAPTURE === >> F:\RCMP\RUN.LOG
NPUBLIC\NDIR F:\TRMOVE > F:\RCMP\POST\ROOT.OUT
NPUBLIC\NDIR F:\TRMOVE\SRC > F:\RCMP\POST\SRC.OUT
NPUBLIC\NDIR F:\TRMOVE\SRC\SUB > F:\RCMP\POST\SUB.OUT
NPUBLIC\NDIR F:\TRMOVE\DST > F:\RCMP\POST\DST.OUT
NPUBLIC\NDIR F:\TRMOVE\DMOVE > F:\RCMP\POST\DFILE.OUT
NPUBLIC\NDIR F:\TRMOVE\NEMPTY > F:\RCMP\POST\NEMPTY.OUT
NPUBLIC\NDIR F:\TRMOVE /DATES > F:\RCMP\POST\DATES.OUT
ECHO === COMPARE === >> F:\RCMP\RUN.LOG
FC F:\RCMP\PRE\ROOT.OUT F:\RCMP\POST\ROOT.OUT > F:\RCMP\CMP\ROOT.OUT
FC F:\RCMP\PRE\SRC.OUT F:\RCMP\POST\SRC.OUT > F:\RCMP\CMP\SRC.OUT
FC F:\RCMP\PRE\SUB.OUT F:\RCMP\POST\SUB.OUT > F:\RCMP\CMP\SUB.OUT
FC F:\RCMP\PRE\DST.OUT F:\RCMP\POST\DST.OUT > F:\RCMP\CMP\DST.OUT
FC F:\RCMP\PRE\DFILE.OUT F:\RCMP\POST\DFILE.OUT > F:\RCMP\CMP\DFILE.OUT
FC F:\RCMP\PRE\DATES.OUT F:\RCMP\POST\DATES.OUT > F:\RCMP\CMP\DATES.OUT
ECHO === DETAILED POST READBACK === >> F:\RCMP\RUN.LOG
NPUBLIC\NDIR F:\TRMOVE\SRC\A2.TXT > F:\RCMP\POST\A2.OUT
NPUBLIC\NDIR F:\TRMOVE\DST\B.TXT > F:\RCMP\POST\MOVEDB.OUT
ECHO === SUMMARY === > F:\RCMP\SUMMARY.TXT
ECHO RMTSTA automated rename/move/delete test finished. >> F:\RCMP\SUMMARY.TXT
ECHO. >> F:\RCMP\SUMMARY.TXT
ECHO Expected final state: >> F:\RCMP\SUMMARY.TXT
ECHO - SRC contains A2.TXT and EXIST.TXT. >> F:\RCMP\SUMMARY.TXT
ECHO - SRC\SUB no longer contains B.TXT. >> F:\RCMP\SUMMARY.TXT
ECHO - DST contains B.TXT and C.TXT, but not DELME.TXT. >> F:\RCMP\SUMMARY.TXT
ECHO - DFILE was renamed/moved to DMOVE via MOVE. >> F:\RCMP\SUMMARY.TXT
ECHO - EMPTY was removed. >> F:\RCMP\SUMMARY.TXT
ECHO - NEMPTY should still exist because RD non-empty should fail. >> F:\RCMP\SUMMARY.TXT
ECHO - Rename A2.TXT to EXIST.TXT is expected to fail. >> F:\RCMP\SUMMARY.TXT
ECHO. >> F:\RCMP\SUMMARY.TXT
ECHO Optional pack results with RMTZIP.BAT. >> F:\RCMP\SUMMARY.TXT
ECHO.
ECHO RMTSTA fertig.
ECHO Ergebnisse liegen in F:\RCMP
ECHO Optional: RMTZIP ausfuehren.
ECHO.