Files
mars-dosutils/test/ncopy/NCPTSTN.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

263 lines
6.5 KiB
Batchfile

@ECHO OFF
REM NCPTSTN.BAT
REM Novell-only NCOPY baseline for MARS NWE.
REM
REM NPUBLIC = originale Novell Tools
REM PUBLIC = MARS/dosutils Tools
REM
REM Testordner:
REM F:\TCOPY
REM
REM Vergleichsdateien:
REM F:\NCMP\PRE\*.OUT
REM F:\NCMP\POST\*.OUT
REM
REM Wichtig fuer Novell NCOPY:
REM - Bei Multi-File Copy muss das Zielverzeichnis vorher existieren,
REM sonst interpretiert NCOPY das Ziel als einzelne Datei.
REM - /E ist nur zusammen mit /S gueltig.
REM - Fuer Multi-File Copy ist SRC\*.* + TO + Zielverzeichnis am klarsten.
CLS
ECHO === NCPTSTN: Novell NCOPY Baseline ===
ECHO.
ECHO Dieses Script benutzt NPUBLIC\NCOPY und schreibt PRE/POST Vergleichsdaten.
ECHO.
PAUSE
CLS
ECHO === C00: Testordner vorbereiten ===
F:
CD \
REM --- Clean generated test/result directories (contents only). ---
IF EXIST TNCOPY\NUL DELTREE /Y TNCOPY\*.*
IF NOT EXIST TCOPY MD TCOPY
IF NOT EXIST TCOPY\SRC MD TCOPY\SRC
IF NOT EXIST TCOPY\SRC\SUB MD TCOPY\SRC\SUB
IF NOT EXIST TCOPY\SRC\EMPTY MD TCOPY\SRC\EMPTY
IF NOT EXIST TCOPY\DST MD TCOPY\DST
IF NOT EXIST TCOPY\DST\SCPY MD TCOPY\DST\SCPY
IF NOT EXIST TCOPY\DST\ECPY MD TCOPY\DST\ECPY
IF NOT EXIST TCOPY\ARCH MD TCOPY\ARCH
IF NOT EXIST TCOPY\ARCH\ACPY MD TCOPY\ARCH\ACPY
IF NOT EXIST TCOPY\ARCH\MCPY MD TCOPY\ARCH\MCPY
IF NOT EXIST NCMP MD NCMP
IF NOT EXIST NCMP\PRE MD NCMP\PRE
IF NOT EXIST NCMP\POST MD NCMP\POST
ECHO NCOPY TEST A > TCOPY\SRC\A.TXT
ECHO NCOPY TEST B > TCOPY\SRC\B.TXT
ECHO NCOPY TEST C > TCOPY\SRC\SUB\C.TXT
ECHO OLD DEST FILE > TCOPY\DST\A.TXT
ECHO.
ECHO Angelegt/geprueft:
ECHO F:\TCOPY\SRC\A.TXT
ECHO F:\TCOPY\SRC\B.TXT
ECHO F:\TCOPY\SRC\SUB\C.TXT
ECHO F:\TCOPY\SRC\EMPTY
ECHO F:\TCOPY\DST\SCPY
ECHO F:\TCOPY\DST\ECPY
ECHO F:\TCOPY\ARCH\ACPY
ECHO F:\TCOPY\ARCH\MCPY
ECHO F:\NCMP\PRE / POST
ECHO.
PAUSE
CLS
ECHO === C01: Alte Vergleichsausgaben loeschen ===
DEL F:\NCMP\PRE\*.OUT
DEL F:\NCMP\POST\*.OUT
ECHO.
PAUSE
CLS
ECHO === C02: Attribute normalisieren ===
NPUBLIC\FLAG F:\TCOPY\SRC\A.TXT N
NPUBLIC\FLAG F:\TCOPY\SRC\B.TXT N
NPUBLIC\FLAG F:\TCOPY\SRC\SUB\C.TXT N
NPUBLIC\FLAG F:\TCOPY\DST\A.TXT N
ECHO.
PAUSE
CLS
ECHO === C03: Testattribute setzen ===
ECHO A.TXT: +H +A
ECHO B.TXT: +RO +A
ECHO C.TXT: +A
NPUBLIC\FLAG F:\TCOPY\SRC\A.TXT +H +A
NPUBLIC\FLAG F:\TCOPY\SRC\B.TXT +RO +A
NPUBLIC\FLAG F:\TCOPY\SRC\SUB\C.TXT +A
ECHO.
PAUSE
CLS
ECHO === C04: PRE-Ausgaben erzeugen ===
NPUBLIC\FLAG F:\TCOPY\SRC\A.TXT > F:\NCMP\PRE\SRCA.OUT
NPUBLIC\FLAG F:\TCOPY\SRC\B.TXT > F:\NCMP\PRE\SRCB.OUT
NPUBLIC\FLAG F:\TCOPY\SRC\SUB\C.TXT > F:\NCMP\PRE\SRCC.OUT
NPUBLIC\NDIR F:\TCOPY\SRC > F:\NCMP\PRE\SRCNDIR.OUT
NPUBLIC\NDIR F:\TCOPY\SRC /DATES > F:\NCMP\PRE\SRCDATE.OUT
NPUBLIC\NDIR F:\TCOPY\SRC /RIGHTS > F:\NCMP\PRE\SRCRGHT.OUT
NPUBLIC\RIGHTS F:\TCOPY\SRC > F:\NCMP\PRE\SRCTRST.OUT
ECHO.
PAUSE
CLS
ECHO === C05: PRE Source NDIR ===
TYPE F:\NCMP\PRE\SRCNDIR.OUT
ECHO.
PAUSE
CLS
ECHO === C06: PRE Source DATES ===
TYPE F:\NCMP\PRE\SRCDATE.OUT
ECHO.
PAUSE
CLS
ECHO === C10: NCOPY normal copy A.TXT nach DST ===
NPUBLIC\NCOPY F:\TCOPY\SRC\A.TXT TO F:\TCOPY\DST\A1.TXT
ECHO.
PAUSE
CLS
ECHO === C11: NCOPY overwrite mit /V ===
ECHO Erwartung: NCOPY fragt ggf. wegen bestehendem Ziel.
ECHO Wenn gefragt wird, overwrite bestaetigen.
NPUBLIC\NCOPY F:\TCOPY\SRC\A.TXT TO F:\TCOPY\DST\A.TXT /V
ECHO.
PAUSE
CLS
ECHO === C12: NCOPY B.TXT normal ===
NPUBLIC\NCOPY F:\TCOPY\SRC\B.TXT TO F:\TCOPY\DST\B.TXT
ECHO.
PAUSE
CLS
ECHO === C13: NCOPY Subdirs mit /S ===
ECHO Zielverzeichnis SCPY existiert bereits.
NPUBLIC\NCOPY F:\TCOPY\SRC\*.* TO F:\TCOPY\DST\SCPY /S
ECHO.
PAUSE
CLS
ECHO === C14: NCOPY Subdirs inklusive leer mit /S /E ===
ECHO /E ist nur zusammen mit /S gueltig.
NPUBLIC\NCOPY F:\TCOPY\SRC\*.* TO F:\TCOPY\DST\ECPY /S /E
ECHO.
PAUSE
CLS
ECHO === C15: NCOPY Archive-Bit Copy mit /A /S ===
ECHO Zielverzeichnis ACPY existiert bereits.
NPUBLIC\NCOPY F:\TCOPY\SRC\*.* TO F:\TCOPY\ARCH\ACPY /A /S
ECHO.
PAUSE
CLS
ECHO === C16: NCOPY Archive-Bit Copy mit /M /S ===
ECHO Achtung: /M sollte Archive-Bit an Quelle loeschen.
NPUBLIC\NCOPY F:\TCOPY\SRC\*.* TO F:\TCOPY\ARCH\MCPY /M /S
ECHO.
PAUSE
CLS
ECHO === C20: POST-Ausgaben erzeugen ===
NPUBLIC\FLAG F:\TCOPY\SRC\A.TXT > F:\NCMP\POST\SRCA.OUT
NPUBLIC\FLAG F:\TCOPY\SRC\B.TXT > F:\NCMP\POST\SRCB.OUT
NPUBLIC\FLAG F:\TCOPY\SRC\SUB\C.TXT > F:\NCMP\POST\SRCC.OUT
NPUBLIC\FLAG F:\TCOPY\DST\A1.TXT > F:\NCMP\POST\DSTA1.OUT
NPUBLIC\FLAG F:\TCOPY\DST\A.TXT > F:\NCMP\POST\DSTA.OUT
NPUBLIC\FLAG F:\TCOPY\DST\B.TXT > F:\NCMP\POST\DSTB.OUT
NPUBLIC\NDIR F:\TCOPY\SRC > F:\NCMP\POST\SRCNDIR.OUT
NPUBLIC\NDIR F:\TCOPY\SRC /DATES > F:\NCMP\POST\SRCDATE.OUT
NPUBLIC\NDIR F:\TCOPY\DST > F:\NCMP\POST\DSTNDIR.OUT
NPUBLIC\NDIR F:\TCOPY\DST /DATES > F:\NCMP\POST\DSTDATE.OUT
NPUBLIC\NDIR F:\TCOPY\DST\SCPY /SUB > F:\NCMP\POST\SCPYSUB.OUT
NPUBLIC\NDIR F:\TCOPY\DST\ECPY /SUB > F:\NCMP\POST\ECPYSUB.OUT
NPUBLIC\NDIR F:\TCOPY\ARCH /SUB > F:\NCMP\POST\ARCHSUB.OUT
ECHO.
PAUSE
CLS
ECHO === C21: Vergleich Source A FLAG vor/nach ===
FC F:\NCMP\PRE\SRCA.OUT F:\NCMP\POST\SRCA.OUT
ECHO.
PAUSE
CLS
ECHO === C22: Vergleich Source B FLAG vor/nach ===
FC F:\NCMP\PRE\SRCB.OUT F:\NCMP\POST\SRCB.OUT
ECHO.
PAUSE
CLS
ECHO === C23: Vergleich Source C FLAG vor/nach ===
FC F:\NCMP\PRE\SRCC.OUT F:\NCMP\POST\SRCC.OUT
ECHO.
PAUSE
CLS
ECHO === C24: POST Destination NDIR ===
TYPE F:\NCMP\POST\DSTNDIR.OUT
ECHO.
PAUSE
CLS
ECHO === C25: POST Destination DATES ===
TYPE F:\NCMP\POST\DSTDATE.OUT
ECHO.
PAUSE
CLS
ECHO === C26: POST /S Copy SUB ===
TYPE F:\NCMP\POST\SCPYSUB.OUT
ECHO.
PAUSE
CLS
ECHO === C27: POST /E Copy SUB inklusive leer ===
TYPE F:\NCMP\POST\ECPYSUB.OUT
ECHO.
PAUSE
CLS
ECHO === C28: POST Archive Copy SUB ===
TYPE F:\NCMP\POST\ARCHSUB.OUT
ECHO.
PAUSE
CLS
ECHO === C29: POST Source nach /M ===
TYPE F:\NCMP\POST\SRCNDIR.OUT
ECHO.
PAUSE
CLS
ECHO === C30: Cleanup Attribute ===
NPUBLIC\FLAG F:\TCOPY\SRC\A.TXT N
NPUBLIC\FLAG F:\TCOPY\SRC\B.TXT N
NPUBLIC\FLAG F:\TCOPY\SRC\SUB\C.TXT N
NPUBLIC\FLAG F:\TCOPY\DST\A.TXT N
NPUBLIC\FLAG F:\TCOPY\DST\A1.TXT N
NPUBLIC\FLAG F:\TCOPY\DST\B.TXT N
ECHO.
PAUSE
CLS
ECHO === NCPTSTN fertig ===
ECHO.
ECHO Vergleichsdateien:
ECHO F:\NCMP\PRE\*.OUT
ECHO F:\NCMP\POST\*.OUT
ECHO.
ECHO Im Serverlog pruefen:
ECHO open/create/read/write/close
ECHO overwrites
ECHO directory scans
ECHO Subdir copy /S und /S /E
ECHO Archive-bit Verhalten /A und /M
ECHO keine unerwarteten Completion Codes
ECHO.