tests: document AFP entry id smoke coverage
All checks were successful
Source release / source-package (push) Successful in 45s

Document the Linux AFP Entry ID smoke-test coverage after the endpoint was verified against the standard SYS volume paths.

The test exercises the WebSDK-documented NCP 0x23/0x0c AFP Get Entry ID From Path Name request by logging in through libncp, allocating a temporary directory handle for the volume root, and sending the relative path to the AFP endpoint.

Record the verified SYS:, SYS:PUBLIC, SYS:SYSTEM, and SYS:BURST cases, and describe the current stat-derived fallback Entry ID diagnostics so the result is not confused with persistent CNID/AppleDouble storage.

Keep the remaining AFP work tracked in TODO.md, including replacing the fallback with persistent CNID/directory-id mapping and extending tests when additional AFP subfunctions are implemented.

This is documentation-only and does not change AFP protocol behavior.
This commit is contained in:
Mario Fetka
2026-05-30 01:37:22 +00:00
parent 04e098efef
commit f6861ba3d6
2 changed files with 31 additions and 2 deletions

View File

@@ -28,13 +28,36 @@ transport stack as other Linux ncpfs utilities.
Example:
```sh
./tests/linux/afp_entry_id_smoke -S MARS -U SUPERVISOR -P secret SYS:LOGIN
./tests/linux/afp_entry_id_smoke -S MARS -U SUPERVISOR -P secret SYS:PUBLIC
```
The test accepts NetWare-style `VOL:PATH` arguments. It logs in through
libncp, allocates a temporary directory handle for the volume root, and sends
only the relative path to `AFP Get Entry ID From Path Name`, matching the
WebSDK request layout of `DirectoryHandle + Path String`.
Useful smoke cases for a standard MARS-NWE `SYS` volume are:
```sh
./tests/linux/afp_entry_id_smoke -S MARS -U SUPERVISOR -P secret SYS:
./tests/linux/afp_entry_id_smoke -S MARS -U SUPERVISOR -P secret SYS:PUBLIC
./tests/linux/afp_entry_id_smoke -S MARS -U SUPERVISOR -P secret SYS:SYSTEM
./tests/linux/afp_entry_id_smoke -S MARS -U SUPERVISOR -P secret SYS:BURST
```
A successful reply prints the temporary directory handle, the relative request
path, and the returned 32-bit AFP Entry ID. Server-side diagnostics currently
mark stat-derived temporary IDs with `fallback`; that means the endpoint is
reachable, but persistent CNID/AppleDouble entry-id storage is still future
Mac-namespace work.
If the server was built without the optional Netatalk/libatalk backend, the
endpoint is expected to return invalid namespace. To treat that as a successful
negative smoke test, use:
```sh
./tests/linux/afp_entry_id_smoke --allow-invalid-namespace -S MARS SYS:LOGIN
./tests/linux/afp_entry_id_smoke --allow-invalid-namespace -S MARS -U SUPERVISOR -P secret SYS:PUBLIC
```
For path-resolution negative tests, use `--allow-invalid-path` to accept the
expected `0x9c` Invalid Path completion.