]> git.ipfire.org Git - thirdparty/rsync.git/commit
testsuite,ci: mark recv-discard-nullderef CI skip and tighten its check master
authorAndrew Tridgell <andrew@tridgell.net>
Sat, 6 Jun 2026 08:43:06 +0000 (18:43 +1000)
committerAndrew Tridgell <andrew@tridgell.net>
Sat, 6 Jun 2026 08:56:51 +0000 (18:56 +1000)
commit6fad1d7d740a5de1be8474d65dd65b6aee39d45c
tree66e0c97f6d09bf5ec8217900a1c40abe5629345f
parentb8562dbf4a7fc591359d01e632d57882c3e716ac
testsuite,ci: mark recv-discard-nullderef CI skip and tighten its check

The regression test honestly skips when it cannot force the receiver's
output mkstemp() to fail -- as root (root bypasses DAC) and on Cygwin
(chmod 0555 does not deny the owner a write). The ubuntu, ubuntu-22.04,
almalinux and macOS jobs run `make check` as root, and Cygwin can't
enforce the unwritable directory, so the test skips on all of them.
runtests.py fails a run on any skip-set mismatch, so add the test to
those jobs' RSYNC_EXPECT_SKIPPED lists; the BSD/Solaris jobs run as root
too but enforce no expected-skip set, so they need no change.

Also tighten the pass condition. The post-chmod writability probe already
guarantees the receiver discards (mkstemp must fail), so an exit 0 would
mean the file actually transferred and the discard path was never
exercised -- a silent false-pass. Require exactly exit 23 (the forced
discard leaves the file untransferred); 12 remains the pre-fix crash.
.github/workflows/almalinux-8-build.yml
.github/workflows/cygwin-build.yml
.github/workflows/macos-build.yml
.github/workflows/ubuntu-22.04-build.yml
.github/workflows/ubuntu-build.yml
testsuite/recv-discard-nullderef_test.py