dosutils: align Novell-compatible tests and stage NCOPY work

Update the DOS utilities and test suite with the current Novell comparison
state.

Validated/updated tool behavior:
- improve CREATOR output by showing Novell-style attribute and rights masks
- extend FLAGDIR handling with old NCP22 directory attribute read/write
  fallback paths
- expand NDIR Novell-style formatting, filtering, /SUB handling, date output,
  DI/RI attribute display and richer metadata collection
- adjust REVOKE output/grammar, recursive /SUBDIRECTORIES behavior and trustee
  update/delete paths to better match Novell tools
- adjust SLIST header/output behavior for logged-in and logged-out cases
- update README status to reflect the currently green/tested tools

Test-suite changes:
- add/refresh Novell comparison tests for CREATOR, NDIR, REVOKE and SLIST
- update NCOPY tests and collection scripts for the current investigation state
- refresh per-tool README files and top-level test documentation
- keep MAP documented as still separately open

NCOPY:
- add the current NCOPY implementation and experimental NCP74/server-side-copy
  scaffolding
- build ncopy.c so it stays compile-tested
- keep NCOPY disabled in the NET multicall dispatch for now because the
  server-side-copy/open-handle path is still unsafe and needs further analysis

Build:
- include ncopy.c in the DOS utility build
- drop the temporary MARS_DOSUTILS_VERSION define wiring from CMake
This commit is contained in:
Mario Fetka
2026-05-29 07:40:04 +02:00
parent 5da600c2a5
commit 4a952b4c4c
36 changed files with 5873 additions and 943 deletions

View File

@@ -1,58 +1,53 @@
# NCOPY tests
Novell-only NCOPY tests.
Automated NCOPY comparison tests for MARS NWE DOS tools.
`NCOPY` is a larger copy/metadata tool. The current test is designed to
capture Novell behaviour first and compare the Open Source DOS utility against
it before the implementation is completed.
## 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. |
| `NCPTSTA.BAT` | Automated Novell-vs-PUBLIC NCOPY comparison. Writes results to `F:\NCMP`. |
| `NCPTZIP.BAT` | Optional packer for `F:\NCMP\NCPTSTA.ZIP`. |
| `README_AUTO.md` | Older notes 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
## Layout
Use:
`NCPTSTA.BAT` uses the same direction as the other tool tests:
| Directory | Meaning |
| --- | --- |
| `OUT` | command output from Novell `NPUBLIC\NCOPY` |
| `PUBOUT` | command output from Open Source `PUBLIC\NCOPY` |
| `POSTNOV` | resulting file state captured with Novell tools |
| `POSTPUB` | resulting file state captured with Open Source tools |
| `COMPARE.LOG` | `FC` comparisons for command output and resulting state |
## Run
From a logged-in Supervisor session:
```text
NCPTSTA.BAT
F:\NCPTSTA
```
Then collect:
Then inspect:
```text
F:\NCMP\NCPTSTA.ZIP
```
or, if ZIP is not installed yet:
```text
F:\NCMP\RUN.LOG
F:\NCMP\COMPARE.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:
Optionally pack the results:
```text
F:\NCMP
```
Upload either the directory contents or run:
```text
NCPTZIP
F:\NCPTZIP
```
and upload:
@@ -61,4 +56,21 @@ and upload:
F:\NCMP\NCPTSTA.ZIP
```
This version avoids wildcard deletes, interactive overwrite prompts, PAUSE, and automatic ZIP.
## Current matrix
The automated comparison covers:
- `NCOPY /?`
- `NCOPY` with no arguments
- single-file copy with `TO`
- copy of hidden/archive and read-only/archive files
- `/V`
- `/S`
- `/S /E`
- `/A /S`
- `/M /S`, including source archive-bit readback
- missing source
- `/E` without `/S`
The resulting destination/source state is checked with the already validated
`FLAG`, `NDIR`, and `RIGHTS` tools.