Skip to content

testsuite/xattrs: ignore SUNWattr_* in the Solaris xls helper#886

Merged
tridge merged 1 commit intoRsyncProject:masterfrom
tridge:pr-solaris-xattr
Apr 29, 2026
Merged

testsuite/xattrs: ignore SUNWattr_* in the Solaris xls helper#886
tridge merged 1 commit intoRsyncProject:masterfrom
tridge:pr-solaris-xattr

Conversation

@tridge
Copy link
Copy Markdown
Member

@tridge tridge commented Apr 29, 2026

The Solaris xls() function listed every entry in the file's xattr directory, which on Solaris includes OS-managed SUNWattr_ro and SUNWattr_rw pseudo-attributes. SUNWattr_rw embeds the file creation time, so its bytes naturally differ between the source and destination files, making the xattrs and xattrs-hlink tests fail with diffs that have nothing to do with rsync.

Rsync's own listxattr wrapper already filters these out (lib/sysxattrs.c), so the right fix is to filter them in the test display too. Other platforms are unaffected because each has its own xls() branch in the case statement.

With the test now actually passing on Solaris, drop the CI hack that overwrote testsuite/xattrs.test with a skip stub.

The Solaris xls() function listed every entry in the file's xattr
directory, which on Solaris includes OS-managed SUNWattr_ro and
SUNWattr_rw pseudo-attributes. SUNWattr_rw embeds the file creation
time, so its bytes naturally differ between the source and destination
files, making the xattrs and xattrs-hlink tests fail with diffs that
have nothing to do with rsync.

Rsync's own listxattr wrapper already filters these out
(lib/sysxattrs.c), so the right fix is to filter them in the test
display too. Other platforms are unaffected because each has its own
xls() branch in the case statement.

With the test now actually passing on Solaris, drop the CI hack that
overwrote testsuite/xattrs.test with a skip stub.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@tridge tridge merged commit dcf364d into RsyncProject:master Apr 29, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant