tests: record legacy AFP set file information smoke success
All checks were successful
Source release / source-package (push) Successful in 50s

Document the green Linux AFP smoke-suite run that exercises the legacy WebSDK/NWAFP Set File Information entry point alongside the AFP 2.0 path.

The report now comes from the build-tree copy of afp_smoke_suite.sh after the CMake sync fix, which matters because the tests are normally executed from the build directory. It confirms that subfunction 0x09 routes through the same deliberately narrow metadata-only implementation as subfunction 0x10: FinderInfo writes and Finder Invisible set/clear are verified through AFP Get File Information.

Record the relevant AFP-visible results and the Linux xattr state. FinderInfo remains aligned as TEXT/MARS in org.mars-nwe.afp.finder-info, the metadata attribute payload returns to the clean versioned value after the clear probes, and the cached entry id is visible through org.mars-nwe.afp.entry-id.

Tests:

- ./afp_smoke_suite.sh ... SYS:PUBLIC/pmdflts.ini

- Reported failures=0

- Verified legacy 0x09 FinderInfo and Invisible set/clear probes

TODO:

- Keep Set File Information restricted to metadata-only xattr writes until timestamp, enforcement, DOS/NetWare attribute mapping, fork write, and Entry-ID-only semantics are designed.
This commit is contained in:
OpenAI
2026-05-30 11:42:25 +00:00
committed by Mario Fetka
parent 760468d929
commit 6bcf93fc5d
2 changed files with 35 additions and 11 deletions

15
TODO.md
View File

@@ -257,13 +257,16 @@ Current status:
`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 smoke-suite report helper now includes AFP 2.0 FinderInfo, legacy AFP `0x09` FinderInfo, AFP 2.0 Invisible/System/Backup set/clear probes,
and legacy AFP `0x09` Invisible set/clear probes, and has a green
`failures=0` run for `SYS:PUBLIC/pmdflts.ini`; that run confirms the corrected
FinderInfo payload alignment by reading
and legacy AFP `0x09` Invisible set/clear probes, and has green
`failures=0` runs for `SYS:PUBLIC/pmdflts.ini`; the latest run was from the
build-tree copy of `afp_smoke_suite.sh` after the CMake sync fix and confirms
legacy `0x09` FinderInfo plus legacy `0x09` Invisible set/clear in the same
report as AFP 2.0 `0x10`. It 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
leading padding byte), confirms attribute set/clear via the versioned
attributes xattr ending clean at `0x01000000`, and confirms the cached
Entry ID xattr (`0x010000001ad06d3e` in the latest run). 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

View File

@@ -76,11 +76,11 @@ user.org.mars-nwe.afp.entry-id
The suite now also exercises the additional metadata-only AFP attribute bits that
`afp_set_file_info_smoke` supports: System (`0x0004`) and Backup (`0x0040`).
It additionally runs the legacy AFP `0x09` path for the Invisible attribute so
both Set File Information entry points cover FinderInfo and attribute writes.
It clears both again before the final xattr dump so repeated runs leave the
attribute payload in the clean `0x01000000` state unless a previous command
fails.
It additionally runs the legacy AFP `0x09` path for FinderInfo and the Invisible
attribute so both Set File Information entry points cover the metadata write
path. It clears each attribute bit again before the final xattr dump so repeated
runs leave the attribute payload in the clean `0x01000000` state unless a
previous command fails.
Use `--no-log` when the log file is unavailable or when the server log is being
collected separately. Use `--stop-on-failure` for strict bisect-style runs; by
@@ -106,6 +106,27 @@ 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/System/Backup attribute probes.
A later full-suite run after the smoke-suite copy/sync fix also completed with
`failures=0` from the build-tree script and confirmed that the legacy AFP Set
File Information endpoint (`0x09`) is exercised in the same report as AFP 2.0
`0x10`. The run covered legacy FinderInfo, legacy Invisible set/clear, AFP 2.0
System set/clear, and AFP 2.0 Backup set/clear while leaving the final attribute
xattr clear:
```text
AFP Set File Info subfunction=0x09 path=SYS:PUBLIC/pmdflts.ini bitmap=0x0020 attrs=0x0000 finder_type=TEXT finder_creator=MARS entry_id=0x1ad06d3e verified
AFP Set File Info subfunction=0x09 path=SYS:PUBLIC/pmdflts.ini bitmap=0x0001 attrs=0x0001 finder_type=TEXT finder_creator=MARS entry_id=0x1ad06d3e verified
AFP Set File Info subfunction=0x09 path=SYS:PUBLIC/pmdflts.ini bitmap=0x0001 attrs=0x0000 finder_type=TEXT finder_creator=MARS entry_id=0x1ad06d3e verified
AFP Set File Info subfunction=0x10 path=SYS:PUBLIC/pmdflts.ini bitmap=0x0001 attrs=0x0004 finder_type=TEXT finder_creator=MARS entry_id=0x1ad06d3e verified
AFP Set File Info subfunction=0x10 path=SYS:PUBLIC/pmdflts.ini bitmap=0x0001 attrs=0x0000 finder_type=TEXT finder_creator=MARS entry_id=0x1ad06d3e verified
AFP Set File Info subfunction=0x10 path=SYS:PUBLIC/pmdflts.ini bitmap=0x0001 attrs=0x0040 finder_type=TEXT finder_creator=MARS entry_id=0x1ad06d3e verified
AFP Set File Info subfunction=0x10 path=SYS:PUBLIC/pmdflts.ini bitmap=0x0001 attrs=0x0000 finder_type=TEXT finder_creator=MARS entry_id=0x1ad06d3e verified
user.org.mars-nwe.afp.finder-info=0x544558544d415253000000000000000000000000000000000000000000000000
user.org.mars-nwe.afp.attributes=0x01000000
user.org.mars-nwe.afp.entry-id=0x010000001ad06d3e
```
## AFP Entry ID smoke test
`afp_entry_id_smoke` sends the WebSDK-documented NetWare AFP request: