tests: record AFP smoke suite success
All checks were successful
Source release / source-package (push) Successful in 52s

Document the green Linux AFP smoke-suite report after the FinderInfo Set File Information payload-alignment fix.

The report covers the WebSDK/NWAFP smoke path for Entry ID by path, Entry ID from a live NetWare handle, Get File Information, Scan File Information, Alloc Temporary Directory Handle, Open File Fork, FinderInfo Set File Information, and Finder Invisible set/clear.  Record the suite-level failures=0 result for SYS:PUBLIC/pmdflts.ini so the current AFP compatibility baseline is captured in a single place.

Also record the Linux xattr evidence that matters for the metadata write paths: the FinderInfo value now starts with TEXTMARS without the previous leading padding byte, the attributes xattr reflects Invisible clear as 0x01000000 after the set/clear round-trip, and the cached mars_nwe AFP entry-id xattr stores 0x33f9a1ed in the versioned payload format.

Tests: external runtime report from tests/linux/afp_smoke_suite.sh against MARS/SUPERVISOR with SYS:PUBLIC/pmdflts.ini showed failures=0.
This commit is contained in:
Mario Fetka
2026-05-30 10:46:56 +00:00
parent 6fcd5c294e
commit c57af8c7dc
2 changed files with 32 additions and 8 deletions

21
TODO.md
View File

@@ -254,14 +254,19 @@ Current status:
`TEXT` and creator `MARS`. The helper writes 32 bytes of FinderInfo to
`org.mars-nwe.afp.finder-info`, stores the narrow attribute word in
`org.mars-nwe.afp.attributes`, and verifies the result through AFP 2.0 Get
File Information. The first
stat-derived AFP entry id for a path is now cached in the versioned
`org.mars-nwe.afp.entry-id` xattr; a `fallback` marker on that first
verification Get File Information diagnostic describes the entry-id origin,
not the FinderInfo write result. Follow-up probes should read the cached
mars_nwe entry id and omit the fallback marker. All other Set File
Information bits remain rejected until their write semantics are explicitly
designed.
File Information. The smoke-suite report helper now has a green
`failures=0` run for `SYS:PUBLIC/pmdflts.ini`; that run confirms the corrected
FinderInfo payload alignment by reading
`user.org.mars-nwe.afp.finder-info=0x544558544d415253...` (`TEXTMARS` with no
leading padding byte), confirms Invisible set/clear via the versioned
attributes xattr (`0x01000001` then `0x01000000`), and confirms the cached
Entry ID xattr (`0x0100000033f9a1ed`). The first stat-derived AFP entry id
for a path is now cached in the versioned `org.mars-nwe.afp.entry-id` xattr; a
`fallback` marker on that first verification Get File Information diagnostic
describes the entry-id origin, not the FinderInfo write result. Follow-up
probes should read the cached mars_nwe entry id and omit the fallback marker.
All other Set File Information bits remain rejected until their write
semantics are explicitly designed.
- The AFP dispatcher now decodes the WebSDK/NWAFP subfunction number in
diagnostics so real client probes can be mapped to the corresponding AFP
call before implementation work starts.

View File

@@ -70,6 +70,25 @@ collected separately. Use `--stop-on-failure` for strict bisect-style runs; by
default the script keeps going so one failing endpoint does not hide later AFP
output from the report.
A verified suite run after the FinderInfo payload-alignment fix completed with
`failures=0` for `SYS:PUBLIC/pmdflts.ini`. The report covered Entry ID by path,
Entry ID from NetWare handle, Get File Information, Scan File Information,
Alloc Temporary Directory Handle, Open File Fork, FinderInfo Set File
Information, and Finder Invisible set/clear. The relevant Linux xattr checks
from that run were:
```text
user.org.mars-nwe.afp.finder-info=0x544558544d415253000000000000000000000000000000000000000000000000
user.org.mars-nwe.afp.attributes=0x01000000
user.org.mars-nwe.afp.entry-id=0x0100000033f9a1ed
```
The FinderInfo value starts with `TEXTMARS` without a leading padding byte, so
the smoke helper and server now agree on the WebSDK/NWAFP Set File Information
payload alignment. The server log excerpt for the same run showed all AFP
operations returning successfully, including `mask=0x0020` for FinderInfo and
`mask=0x0001` for the Invisible set/clear probes.
## AFP Entry ID smoke test
`afp_entry_id_smoke` sends the WebSDK-documented NetWare AFP request: