Skip to content

Commit dcf364d

Browse files
tridgeclaude
andcommitted
testsuite/xattrs: ignore SUNWattr_* in the Solaris xls helper
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>
1 parent d1eff8f commit dcf364d

2 files changed

Lines changed: 4 additions & 6 deletions

File tree

.github/workflows/solaris-build.yml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,6 @@ jobs:
3434
./configure --with-rrsync -disable-zstd --disable-md2man --disable-xxhash --disable-lz4
3535
make
3636
./rsync --version
37-
cat > testsuite/xattrs.test <<'EOF'
38-
#!/bin/sh
39-
. $suitedir/rsync.fns
40-
test_skipped "skipped on Solaris pending xattrs fix"
41-
EOF
4237
make check
4338
./rsync-ssl --no-motd download.samba.org::rsyncftp/ || true
4439
- name: save artifact

testsuite/xattrs.test

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,10 @@ EOF
3838
xls() {
3939
for fn in "${@}"; do
4040
runat "$fn" "$SHELL_PATH" <<EOF
41-
for x in *; do echo "\$x=\`cat \$x\`"; done
41+
for x in *; do
42+
case "\$x" in SUNWattr_*) continue;; esac
43+
echo "\$x=\`cat \$x\`"
44+
done
4245
EOF
4346
done
4447
}

0 commit comments

Comments
 (0)