Public bug reported:
While preparing a potential update of util-linux (LP#2142862) and doing a test
build in PPA,
I noticed that one test case fails (on all platforms).
"
1 tests of 337 FAILED
setpriv/landlock
make[5]: *** [Makefile:19529: check-local-tests] Error 1
...
dh_auto_test: error: make -j1 check ... returned exit code 2
"
The The failing sub-test is setpriv/landlock → partial-access-fail, and the
"failure" is a string mismatch (stonking_s390x.txt:12227):
The test case seems to expect cp output from GNU coreutils, since it works with
it.
It looks for:
cp: cannot create regular file '/dev/zero': Permission denied
But the coreutils-from-uutils cp produces in the same test case this:
cp: '/dev/null' -> '/dev/zero': Permission denied
Which leads to a failed test.
The chroot that is used while building in PPA for stonking has
coreutils-from-uutils 0.0.0~ubuntu27 (Rust).
While rebuilding the stonking package again in PPA with -proposed
disabled, the test is again successful.
This is the PPA where -proposed is enabled and where the util-linux test case
fails:
rust-coreutils amd64 0.8.0-0ubuntu4 [4219 kB]
coreutils all 9.5-1ubuntu2+0.0.0~ubuntu27 [3234 B]
coreutils-from-uutils all 0.0.0~ubuntu27 [7246 B]
gnu-coreutils amd64 9.7-3ubuntu2 [1340 kB]
This is the PPA where -proposed is NOT enabled and hwre the util-linux test
case succeeds:
https://launchpad.net/~fheimes/+archive/ubuntu/lp2142862-non-proposed/+packages
coreutils all 9.5-1ubuntu2+0.0.0~ubuntu25 [3060 B]
coreutils-from-uutils all 0.0.0~ubuntu25 [7124 B]
gnu-coreutils amd64 9.7-3ubuntu2 [1340 kB]
rust-coreutils amd64 0.8.0-0ubuntu3 [4235 kB]
/usr/bin/cp is from coreutils-from-uutils.
So the suspicious package is therefore coreutils-from-uutils / rust-
coreutils.
A potential patch for the test case itself could be:
--- a/tests/ts/setpriv/landlock
+++ b/tests/ts/setpriv/landlock
@@ -38,6 +38,12 @@
"$TS_CMD_SETPRIV" --landlock-access \
fs:write cp /dev/null /dev/zero \
&> "$TS_OUTPUT"
+# GNU coreutils and uutils-coreutils word the cp(1) failure differently, e.g.
+# GNU: cp: cannot create regular file '/dev/zero': Permission denied
+# uutils: cp: '/dev/null' -> '/dev/zero': Permission denied
+# Normalize so the test passes with either implementation, while still
+# asserting that writing /dev/zero was denied by landlock.
+sed -i "s|^cp:.*'/dev/zero'.*Permission denied\$|cp: '/dev/zero': Permission
denied|"
"$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "partial-access-success"
--- a/tests/expected/setpriv/landlock-partial-access-fail
+++ b/tests/expected/setpriv/landlock-partial-access-fail
@@ -1 +1 @@
-cp: cannot create regular file '/dev/zero': Permission denied
+cp: '/dev/zero': Permission denied
But since the new Rust coreutils is supposed to be a drop-in
replacement, and since this works on the previous version (the one not
in -proposed), this is a regression and sould be fixed in coreutils.
** Affects: rust-coreutils (Ubuntu)
Importance: Undecided
Status: New
** Tags: rls-ss-incoming stonking
** Tags added: rls-ss-incoming
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2157011
Title:
changes in behaviour of cp in coreutils-from-uutils break test case in
util-linux
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/rust-coreutils/+bug/2157011/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs