Skip to content

Please allow to configure if reprotest uses eatmydata or not (eatmydata causes test suite failures due to unexpected "ERROR: ld.so: object 'libeatmydata.so' from LD_PRELOAD cannot be preloaded" STDERR output)

One of the reasons, zsh's reprotest fails on Salsa CI but not locally for me is the usage of eatmydata. (Actually I can't even reproduce this with eatmydata locally, but reprotest uses pbuilder on my machine and my pbuilder instance has eatmydata installed by default — which kinda proofs that installing eatmydata inside those chroots will help. :-)

Citing from https://salsa.debian.org/debian/zsh/-/jobs/1066149#L7616:

Running test: PRIVILEGED automatically enabled when RUID != EUID
--- /tmp/zsh.ztst.15097/ztst.err        2020-10-12 05:43:42.052156929 -1200
+++ /tmp/zsh.ztst.15097/ztst.terr       2020-10-12 05:43:42.064159863 -1200
@@ -0,0 +1 @@
+ERROR: ld.so: object 'libeatmydata.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
Test ../../Test/P01privileged.ztst failed: error output differs from expected as shown above for:
  re_zsh $ruid $ruid -1 -1 'echo $UID/$EUID $options[privileged]'
  re_zsh $euid $euid -1 -1 'echo $UID/$EUID $options[privileged]'
  re_zsh $ruid $euid -1 -1 'echo $UID/$EUID $options[privileged]'
Was testing: PRIVILEGED automatically enabled when RUID != EUID
../../Test/P01privileged.ztst: test failed.

So it would be nice if either there would be an option to turn off the usage of eatmydata for reprotest or if eatmydata would be installed in the chroots reprotest creates to avoid such false positives.

(If there is already such an option, it would be nice if it could be documented. :-)

P.S.: I wonder if the other, more obscure test suite failure—which only happens inside the reprotest check on Salsa CI, too—is also related to eatmydata. Unfortunately the upstream debug output is not as verbose as in the case above: https://salsa.debian.org/debian/zsh/-/jobs/1066149#L6632

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information