tests: record standalone AFP xattr backend smoke success

This commit is contained in:
Mario Fetka
2026-05-31 04:35:31 +00:00
parent aa041a405b
commit 711dceb42a
2 changed files with 45 additions and 3 deletions

11
TODO.md
View File

@@ -282,9 +282,10 @@ Current status:
The covered bitmaps are FinderInfo (`0x4000`), Attributes (`0x0100`), Access
Date/Time (`0x0400`), Create Date/Time (`0x0800`), Modify Date/Time
(`0x1000`), and Backup Date/Time (`0x2000`). FinderInfo is stored in
`org.mars-nwe.afp.finder-info`; AFP-only Hidden/System metadata is stored in
`org.mars-nwe.afp.attributes`; Archive is mapped to the existing NetWare
`FILE_ATTR_A` attribute path; Create and Backup Date/Time use the existing
`org.mars-nwe.afp.finder-info`; Hidden/System/Archive attributes are mapped
to the existing NetWare attribute path; `org.mars-nwe.afp.attributes` is only
for future AFP-only bits that are not NetWare attributes. Create and Backup
Date/Time use the existing
mars_nwe NetWare metadata helpers; Access Date/Time uses the normal file
`atime` path; and Modify Date/Time uses the shared timestamp helper. Linux
smoke coverage exists in `tests/linux/afp_set_file_info_smoke`, which now
@@ -301,6 +302,10 @@ Current status:
Netatalk/libatalk dependency for Entry ID, FinderInfo, or AFP-only attribute
storage; AFP protocol support remains limited to the endpoints explicitly
implemented in `nwconn.c` and guarded by the existing build configuration.
Runtime status after the standalone backend change: the full AFP smoke suite
completed with `failures=0`, including path-backed and entry-id-only Open File
Fork, FinderInfo xattr verification, absent optional AFP-only attributes xattr,
and NetWare-backed Hidden/System/Archive/timestamp probes.
- Existing mars_nwe private xattr payloads use the `org.mars-nwe.<domain>.*`
namespace (`org.mars-nwe.netware.archive` and `org.mars-nwe.netware.fileinfo`) rather than
the unreleased test-only `user.mars_nwe.*` names. There is no legacy read

View File

@@ -1137,3 +1137,40 @@ This keeps the current policy split intact: directory Entry IDs may use the
existing namespace/basehandle mapping, while regular file Entry IDs are resolved
through AFP metadata only. Resource forks remain unsupported and continue to
return completion 0x9c.
## Standalone AFP xattr backend smoke success
The AFP metadata backend no longer depends on Netatalk/libatalk for the
currently implemented metadata. After the standalone mars_nwe xattr backend
change, the full AFP smoke suite was rerun against `SYS:PUBLIC/pmdflts.ini`
and completed successfully.
Verified smoke run:
```text
AFP Entry ID From Path Name
AFP Entry ID path=SYS:PUBLIC/pmdflts.ini request_path=SYS:PUBLIC/pmdflts.ini dir_handle=0 entry_id=0x05811b2a (92347178)
AFP Open File Fork by Entry ID
AFP Open File Fork path=SYS:PUBLIC/pmdflts.ini entry_id=0x05811b2a handle=1 fork=0 access=0x01 fork_len=8161 entry-id-only
AFP Open File Fork write access by Entry ID
AFP Open File Fork path=SYS:PUBLIC/atst2 entry_id=0x145f0c8a handle=1 fork=0 access=0x02 fork_len=0 entry-id-only
Linux xattr: AFP FinderInfo
user.org.mars-nwe.afp.finder-info=0x544558544d415253000000000000000000000000000000000000000000000000
Linux xattr: AFP Entry ID
user.org.mars-nwe.afp.entry-id=0x0100000005811b2a
AFP-only attributes xattr is absent; this is expected when the tested Hidden/System/Archive bits are stored through the NetWare attribute path.
Summary: failures=0
```
This confirms that Entry ID and FinderInfo metadata are served from the
mars_nwe-owned AFP xattrs, while Hidden/System/Archive attributes and the
timestamp fields continue to use the existing NetWare metadata paths. AFP
remains behind the existing build configuration; this smoke only records that
the implemented AFP endpoints no longer need a Netatalk/libatalk metadata
backend when xattr support is enabled.