tests: record AFP fork close lifecycle smoke success

This commit is contained in:
OAI
2026-05-31 05:22:46 +00:00
committed by Mario Fetka
parent 1bf4889200
commit b52c52e421
2 changed files with 41 additions and 0 deletions

16
TODO.md
View File

@@ -638,6 +638,22 @@ AFP Get/Scan AccessPrivileges convergence:
fallback AFP IDs because the existing directory-number reverse mapper is not
a reliable file-entry reverse mapper on DOS namespace volumes.
### AFP file fork handle lifecycle
AFP Open File Fork returns a normal mars_nwe/NetWare file handle for the data
fork. File I/O uses the existing NetWare read/write handlers, and handle
lifetime is closed through the normal `NCP 0x42 Close File` path backed by
`nw_close_file()`. There is no separate AFP-private close operation and no
parallel POSIX close path in the AFP frontend.
Runtime status: the full AFP smoke suite is verified with `failures=0` after
adding close-lifecycle probes. The suite opens the AFP data fork, performs a
read or write through the returned NetWare handle, closes that handle through
`NCP 0x42`, and verifies that later I/O on the old handle is rejected. The
same run keeps Resource Fork opens unsupported with the existing completion
code.
### Final AFP endpoint audit before declaring compatibility slice complete
After the current AFP smoke-covered endpoint set is otherwise complete, perform

View File

@@ -1250,6 +1250,31 @@ NCP and verify that later reads or writes on the old handle fail. Resource Fork
opens remain covered by the separate negative smoke and continue to return the
unsupported completion.
## AFP File Fork Close lifecycle smoke success
AFP does not need a separate close-fork endpoint in the current compatibility
slice. AFP Open File Fork returns a normal mars_nwe/NetWare file handle, and
that handle is closed through the existing `NCP 0x42 Close File` implementation
which routes to `nw_close_file()`.
Verified smoke run:
```text
AFP File Fork Close rejects old read handle
AFP File Fork I/O read path=SYS:PUBLIC/pmdflts.ini entry_id=0x00000000 offset=0 requested=16 read=16 fork_len=8161 close-verified
AFP File Fork Close rejects old write handle
AFP File Fork I/O write path=SYS:PUBLIC/atst3 entry_id=0x00000000 offset=0 size=14 verified close-verified
Summary: failures=0
```
The helper verifies the close by attempting I/O with the old handle after the
close call and requiring that operation to fail. This confirms that the AFP
fork handle participates in the normal mars_nwe handle lifecycle instead of
requiring an AFP-specific close path.
## Final AFP endpoint audit TODO
Before the AFP compatibility slice is marked complete, do one last audit of all