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

56
test/ncopy/NCPCMPN.BAT Normal file
View File

@@ -0,0 +1,56 @@
@ECHO OFF
REM NCPCMPN.BAT
REM Repeat comparison/show output for NCOPY test.
CLS
ECHO === NCPCMPN: NCOPY PRE/POST Compare ===
ECHO.
PAUSE
CLS
ECHO === K01 Source A FLAG vor/nach ===
FC F:\NCMP\PRE\SRCA.OUT F:\NCMP\POST\SRCA.OUT
ECHO.
PAUSE
CLS
ECHO === K02 Source B FLAG vor/nach ===
FC F:\NCMP\PRE\SRCB.OUT F:\NCMP\POST\SRCB.OUT
ECHO.
PAUSE
CLS
ECHO === K03 Source C FLAG vor/nach ===
FC F:\NCMP\PRE\SRCC.OUT F:\NCMP\POST\SRCC.OUT
ECHO.
PAUSE
CLS
ECHO === K04 Destination NDIR ===
TYPE F:\NCMP\POST\DSTNDIR.OUT
ECHO.
PAUSE
CLS
ECHO === K05 Destination DATES ===
TYPE F:\NCMP\POST\DSTDATE.OUT
ECHO.
PAUSE
CLS
ECHO === K06 /S Copy SUB ===
TYPE F:\NCMP\POST\SCPYSUB.OUT
ECHO.
PAUSE
CLS
ECHO === K07 /E Copy SUB ===
TYPE F:\NCMP\POST\ECPYSUB.OUT
ECHO.
PAUSE
CLS
ECHO === K08 Archive SUB Output ===
TYPE F:\NCMP\POST\ARCHSUB.OUT
ECHO.
PAUSE

171
test/ncopy/NCPTSTA.BAT Normal file
View File

@@ -0,0 +1,171 @@
@ECHO OFF
REM NCPTSTA.BAT
REM Automated Novell NCOPY baseline for MARS NWE.
REM
REM Ziel:
REM - keine Screenshots noetig
REM - keine PAUSE
REM - kein ZIP im Hauptlauf
REM - keine Wildcard-DEL
REM - keine interaktive Overwrite-Abfrage
REM
REM Ergebnisse:
REM F:\NCMP\RUN.LOG
REM F:\NCMP\SUMMARY.TXT
REM F:\NCMP\PRE\*.OUT
REM F:\NCMP\POST\*.OUT
REM F:\NCMP\CMP\*.OUT
F:
CD \
REM --- Clean generated test/result directories (contents only). ---
IF EXIST NCPTEST\NUL DELTREE /Y NCPTEST\*.*
IF EXIST NCPCMP\NUL DELTREE /Y NCPCMP\*.*
REM --- Directory setup, DOS-kompatibel mit DIR\NUL ---
IF NOT EXIST TCOPY\NUL MD TCOPY
IF NOT EXIST TCOPY\SRC\NUL MD TCOPY\SRC
IF NOT EXIST TCOPY\SRC\SUB\NUL MD TCOPY\SRC\SUB
IF NOT EXIST TCOPY\SRC\EMPTY\NUL MD TCOPY\SRC\EMPTY
IF NOT EXIST TCOPY\DST\NUL MD TCOPY\DST
IF NOT EXIST TCOPY\DST\SCPY\NUL MD TCOPY\DST\SCPY
IF NOT EXIST TCOPY\DST\ECPY\NUL MD TCOPY\DST\ECPY
IF NOT EXIST TCOPY\ARCH\NUL MD TCOPY\ARCH
IF NOT EXIST TCOPY\ARCH\ACPY\NUL MD TCOPY\ARCH\ACPY
IF NOT EXIST TCOPY\ARCH\MCPY\NUL MD TCOPY\ARCH\MCPY
IF NOT EXIST NCMP\NUL MD NCMP
IF NOT EXIST NCMP\PRE\NUL MD NCMP\PRE
IF NOT EXIST NCMP\POST\NUL MD NCMP\POST
IF NOT EXIST NCMP\CMP\NUL MD NCMP\CMP
REM --- Einzeldateien loeschen, aber nur wenn vorhanden ---
IF EXIST F:\NCMP\RUN.LOG DEL F:\NCMP\RUN.LOG
IF EXIST F:\NCMP\SUMMARY.TXT DEL F:\NCMP\SUMMARY.TXT
IF EXIST F:\NCMP\ZIP.LOG DEL F:\NCMP\ZIP.LOG
IF EXIST F:\NCMP\NCPTSTA.ZIP DEL F:\NCMP\NCPTSTA.ZIP
IF EXIST F:\NCMP\PRE\SRCA.OUT DEL F:\NCMP\PRE\SRCA.OUT
IF EXIST F:\NCMP\PRE\SRCB.OUT DEL F:\NCMP\PRE\SRCB.OUT
IF EXIST F:\NCMP\PRE\SRCC.OUT DEL F:\NCMP\PRE\SRCC.OUT
IF EXIST F:\NCMP\PRE\SRCNDIR.OUT DEL F:\NCMP\PRE\SRCNDIR.OUT
IF EXIST F:\NCMP\PRE\SRCDATE.OUT DEL F:\NCMP\PRE\SRCDATE.OUT
IF EXIST F:\NCMP\PRE\SRCRGHT.OUT DEL F:\NCMP\PRE\SRCRGHT.OUT
IF EXIST F:\NCMP\PRE\SRCTRST.OUT DEL F:\NCMP\PRE\SRCTRST.OUT
IF EXIST F:\NCMP\POST\SRCA.OUT DEL F:\NCMP\POST\SRCA.OUT
IF EXIST F:\NCMP\POST\SRCB.OUT DEL F:\NCMP\POST\SRCB.OUT
IF EXIST F:\NCMP\POST\SRCC.OUT DEL F:\NCMP\POST\SRCC.OUT
IF EXIST F:\NCMP\POST\DSTA1.OUT DEL F:\NCMP\POST\DSTA1.OUT
IF EXIST F:\NCMP\POST\DSTAV.OUT DEL F:\NCMP\POST\DSTAV.OUT
IF EXIST F:\NCMP\POST\DSTB.OUT DEL F:\NCMP\POST\DSTB.OUT
IF EXIST F:\NCMP\POST\SRCNDIR.OUT DEL F:\NCMP\POST\SRCNDIR.OUT
IF EXIST F:\NCMP\POST\SRCDATE.OUT DEL F:\NCMP\POST\SRCDATE.OUT
IF EXIST F:\NCMP\POST\DSTNDIR.OUT DEL F:\NCMP\POST\DSTNDIR.OUT
IF EXIST F:\NCMP\POST\DSTDATE.OUT DEL F:\NCMP\POST\DSTDATE.OUT
IF EXIST F:\NCMP\POST\SCPYSUB.OUT DEL F:\NCMP\POST\SCPYSUB.OUT
IF EXIST F:\NCMP\POST\ECPYSUB.OUT DEL F:\NCMP\POST\ECPYSUB.OUT
IF EXIST F:\NCMP\POST\ARCHSUB.OUT DEL F:\NCMP\POST\ARCHSUB.OUT
IF EXIST F:\NCMP\CMP\SRCA.OUT DEL F:\NCMP\CMP\SRCA.OUT
IF EXIST F:\NCMP\CMP\SRCB.OUT DEL F:\NCMP\CMP\SRCB.OUT
IF EXIST F:\NCMP\CMP\SRCC.OUT DEL F:\NCMP\CMP\SRCC.OUT
IF EXIST F:\NCMP\CMP\SRCNDIR.OUT DEL F:\NCMP\CMP\SRCNDIR.OUT
IF EXIST F:\NCMP\CMP\SRCDATE.OUT DEL F:\NCMP\CMP\SRCDATE.OUT
ECHO NCPTSTA automated NCOPY test > F:\NCMP\RUN.LOG
DATE >> F:\NCMP\RUN.LOG
TIME >> F:\NCMP\RUN.LOG
ECHO. >> F:\NCMP\RUN.LOG
ECHO === SETUP === >> F:\NCMP\RUN.LOG
ECHO NCOPY TEST A > F:\TCOPY\SRC\A.TXT
ECHO NCOPY TEST B > F:\TCOPY\SRC\B.TXT
ECHO NCOPY TEST C > F:\TCOPY\SRC\SUB\C.TXT
ECHO OLD DEST FILE > F:\TCOPY\DST\A.TXT
ECHO Normalisiere Attribute... >> F:\NCMP\RUN.LOG
NPUBLIC\FLAG F:\TCOPY\SRC\A.TXT N >> F:\NCMP\RUN.LOG
NPUBLIC\FLAG F:\TCOPY\SRC\B.TXT N >> F:\NCMP\RUN.LOG
NPUBLIC\FLAG F:\TCOPY\SRC\SUB\C.TXT N >> F:\NCMP\RUN.LOG
NPUBLIC\FLAG F:\TCOPY\DST\A.TXT N >> F:\NCMP\RUN.LOG
ECHO Setze Testattribute... >> F:\NCMP\RUN.LOG
NPUBLIC\FLAG F:\TCOPY\SRC\A.TXT +H +A >> F:\NCMP\RUN.LOG
NPUBLIC\FLAG F:\TCOPY\SRC\B.TXT +RO +A >> F:\NCMP\RUN.LOG
NPUBLIC\FLAG F:\TCOPY\SRC\SUB\C.TXT +A >> F:\NCMP\RUN.LOG
ECHO === PRE CAPTURE === >> F:\NCMP\RUN.LOG
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 === NCOPY SINGLE FILES === >> F:\NCMP\RUN.LOG
IF EXIST F:\TCOPY\DST\A1.TXT DEL F:\TCOPY\DST\A1.TXT
IF EXIST F:\TCOPY\DST\B.TXT DEL F:\TCOPY\DST\B.TXT
IF EXIST F:\TCOPY\DST\AV.TXT DEL F:\TCOPY\DST\AV.TXT
NPUBLIC\NCOPY F:\TCOPY\SRC\A.TXT TO F:\TCOPY\DST\A1.TXT >> F:\NCMP\RUN.LOG
NPUBLIC\NCOPY F:\TCOPY\SRC\B.TXT TO F:\TCOPY\DST\B.TXT >> F:\NCMP\RUN.LOG
NPUBLIC\NCOPY F:\TCOPY\SRC\A.TXT TO F:\TCOPY\DST\AV.TXT /V >> F:\NCMP\RUN.LOG
ECHO === NCOPY SUBDIRS === >> F:\NCMP\RUN.LOG
NPUBLIC\NCOPY F:\TCOPY\SRC\*.* TO F:\TCOPY\DST\SCPY /S >> F:\NCMP\RUN.LOG
NPUBLIC\NCOPY F:\TCOPY\SRC\*.* TO F:\TCOPY\DST\ECPY /S /E >> F:\NCMP\RUN.LOG
ECHO === NCOPY ARCHIVE MODES === >> F:\NCMP\RUN.LOG
NPUBLIC\NCOPY F:\TCOPY\SRC\*.* TO F:\TCOPY\ARCH\ACPY /A /S >> F:\NCMP\RUN.LOG
NPUBLIC\NCOPY F:\TCOPY\SRC\*.* TO F:\TCOPY\ARCH\MCPY /M /S >> F:\NCMP\RUN.LOG
ECHO === POST CAPTURE === >> F:\NCMP\RUN.LOG
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\AV.TXT > F:\NCMP\POST\DSTAV.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 === COMPARE === >> F:\NCMP\RUN.LOG
FC F:\NCMP\PRE\SRCA.OUT F:\NCMP\POST\SRCA.OUT > F:\NCMP\CMP\SRCA.OUT
FC F:\NCMP\PRE\SRCB.OUT F:\NCMP\POST\SRCB.OUT > F:\NCMP\CMP\SRCB.OUT
FC F:\NCMP\PRE\SRCC.OUT F:\NCMP\POST\SRCC.OUT > F:\NCMP\CMP\SRCC.OUT
FC F:\NCMP\PRE\SRCNDIR.OUT F:\NCMP\POST\SRCNDIR.OUT > F:\NCMP\CMP\SRCNDIR.OUT
FC F:\NCMP\PRE\SRCDATE.OUT F:\NCMP\POST\SRCDATE.OUT > F:\NCMP\CMP\SRCDATE.OUT
ECHO === SUMMARY === > F:\NCMP\SUMMARY.TXT
ECHO NCOPY automated test finished. >> F:\NCMP\SUMMARY.TXT
ECHO. >> F:\NCMP\SUMMARY.TXT
ECHO Expected notes: >> F:\NCMP\SUMMARY.TXT
ECHO - Source FLAG compare may differ after /M because archive bit should be cleared. >> F:\NCMP\SUMMARY.TXT
ECHO - DSTNDIR.OUT should show A1.TXT, AV.TXT, B.TXT and copy directories. >> F:\NCMP\SUMMARY.TXT
ECHO - SCPYSUB.OUT should include copied SUB\C.TXT. >> F:\NCMP\SUMMARY.TXT
ECHO - ECPYSUB.OUT should include copied SUB\C.TXT and possibly EMPTY directory. >> F:\NCMP\SUMMARY.TXT
ECHO - ARCHSUB.OUT should show /A and /M archive-copy result directories. >> F:\NCMP\SUMMARY.TXT
ECHO. >> F:\NCMP\SUMMARY.TXT
ECHO Optional pack results with NCPTZIP.BAT. >> F:\NCMP\SUMMARY.TXT
ECHO === CLEANUP ATTRIBUTES === >> F:\NCMP\RUN.LOG
NPUBLIC\FLAG F:\TCOPY\SRC\A.TXT N >> F:\NCMP\RUN.LOG
NPUBLIC\FLAG F:\TCOPY\SRC\B.TXT N >> F:\NCMP\RUN.LOG
NPUBLIC\FLAG F:\TCOPY\SRC\SUB\C.TXT N >> F:\NCMP\RUN.LOG
NPUBLIC\FLAG F:\TCOPY\DST\A.TXT N >> F:\NCMP\RUN.LOG
NPUBLIC\FLAG F:\TCOPY\DST\A1.TXT N >> F:\NCMP\RUN.LOG
NPUBLIC\FLAG F:\TCOPY\DST\AV.TXT N >> F:\NCMP\RUN.LOG
NPUBLIC\FLAG F:\TCOPY\DST\B.TXT N >> F:\NCMP\RUN.LOG
ECHO.
ECHO NCPTSTA fertig.
ECHO Ergebnisse liegen in F:\NCMP
ECHO Optional: NCPTZIP ausfuehren.
ECHO.

32
test/ncopy/NCPTSTM.TST Normal file
View File

@@ -0,0 +1,32 @@
# NCPTSTM.TST
# MARS/dosutils NCOPY regression notes/spec.
#
# Novell baseline:
# NCPTSTN.BAT
#
# Tool:
# NPUBLIC\NCOPY
#
# Test dirs:
# F:\TCOPY
# F:\NCMP
#
# Coverage:
# - normal file copy
# - overwrite with /V
# - /S subdirectory copy
# - /S /E subdirectory copy including empty dirs
# - /A archive-bit copy
# - /M archive-bit copy and clear source archive bit
# - FLAG/NDIR readback before and after
#
# Important:
# - destination directories for multi-file copies must exist first
# - /E must be used with /S
#
# Expected:
# - destination files exist and are readable
# - /S copies subdir files
# - /S /E also copies empty directories where supported
# - /M clears archive bit on copied source files
# - no unexpected server completion codes

262
test/ncopy/NCPTSTN.BAT Normal file
View File

@@ -0,0 +1,262 @@
@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.

28
test/ncopy/NCPTZIP.BAT Normal file
View File

@@ -0,0 +1,28 @@
@ECHO OFF
REM NCPTZIP.BAT
REM Optional packer for NCPTSTA result files.
REM Requires ZIP.EXE in PATH or current directory.
F:
CD \NCMP
IF EXIST NCPTSTA.ZIP DEL NCPTSTA.ZIP
IF EXIST ZIP.LOG DEL ZIP.LOG
ECHO Creating NCPTSTA.ZIP > ZIP.LOG
ZIP -r NCPTSTA.ZIP RUN.LOG SUMMARY.TXT PRE POST CMP >> ZIP.LOG
REM Cleanup generated test directories after ZIP.
REM Keep the CMP/result directory because it contains the ZIP and ZIP.LOG.
ECHO Cleaning generated test directories... >> ZIP.LOG
IF EXIST \TCOPY\NUL DELTREE /Y \TCOPY >> ZIP.LOG
IF EXIST \TNCOPY\NUL DELTREE /Y \TNCOPY >> ZIP.LOG
IF EXIST \NCPTEST\NUL DELTREE /Y \NCPTEST >> ZIP.LOG
CD \
ECHO.
ECHO ZIP step finished.
ECHO Check:
ECHO F:\NCMP\NCPTSTA.ZIP
ECHO F:\NCMP\ZIP.LOG
ECHO.

64
test/ncopy/README.md Normal file
View File

@@ -0,0 +1,64 @@
# NCOPY tests
Novell-only NCOPY tests.
## Files
| File | Purpose |
| --- | --- |
| `NCPTSTA.BAT` | Automated no-pause/no-screenshot NCOPY test. Writes results to `F:\NCMP`. |
| `README_AUTO.md` | Details for the automated test. |
| `NCPTSTN.BAT` | Manual/pause-based NCOPY baseline test. |
| `NCPCMPN.BAT` | Manual repeat selected comparisons/output. |
| `NCPTSTM.TST` | MARS/dosutils regression notes/spec. |
## Recommended now
Use:
```text
NCPTSTA.BAT
```
Then collect:
```text
F:\NCMP\NCPTSTA.ZIP
```
or, if ZIP is not installed yet:
```text
F:\NCMP\RUN.LOG
F:\NCMP\SUMMARY.TXT
F:\NCMP\PRE\*.OUT
F:\NCMP\POST\*.OUT
F:\NCMP\CMP\*.OUT
```
# NCOPY automated BAT test
Run:
```text
NCPTSTA
```
The test writes all useful output to:
```text
F:\NCMP
```
Upload either the directory contents or run:
```text
NCPTZIP
```
and upload:
```text
F:\NCMP\NCPTSTA.ZIP
```
This version avoids wildcard deletes, interactive overwrite prompts, PAUSE, and automatic ZIP.

45
test/ncopy/README_AUTO.md Normal file
View File

@@ -0,0 +1,45 @@
# NCOPY automated test
`NCPTSTA.BAT` is the automated/no-screenshot variant of the NCOPY test.
## Run
```text
NCPTSTA.BAT
```
It does not pause and redirects tool output into result files.
## Result directory
```text
F:\NCMP
```
Important files:
```text
F:\NCMP\RUN.LOG
F:\NCMP\SUMMARY.TXT
F:\NCMP\PRE\*.OUT
F:\NCMP\POST\*.OUT
F:\NCMP\CMP\*.OUT
```
If `ZIP.EXE` is installed and in `PATH`, the script also creates:
```text
F:\NCMP\NCPTSTA.ZIP
```
## Notes
Classic DOS redirection normally captures stdout. Most Novell tools print their
normal output there, so this avoids screenshots and OCR for most tests.
Interactive prompts are avoided in this automated variant. The `/V` verify path
is tested by copying to a fresh destination instead of overwriting an existing
file that would prompt for confirmation.
`/M` is expected to clear the archive bit on copied source files, so PRE/POST
source flag comparisons may intentionally differ.