diff options
author | Simon South <simon@simonsouth.net> | 2021-09-04 15:58:21 -0400 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2021-11-18 14:11:43 +0100 |
commit | b0eaa4f2d73cd7746a41d1f970b95243f2098458 (patch) | |
tree | 1de0979eb5e1e3f5a4b7a0fd837d4ce23427251f /gnu/packages | |
parent | 696b0a3246941f59e334fabbb06d7b69d9ef852c (diff) | |
download | guix-b0eaa4f2d73cd7746a41d1f970b95243f2098458.tar guix-b0eaa4f2d73cd7746a41d1f970b95243f2098458.tar.gz |
gnu: strace: Allow readlink, readlinkat tests to pass.
Modify the invocation of strace's "readlink" and "readlinkat" tests to prevent
them from failing due to an additional system call made by Guix's patched
version of glibc.
* gnu/packages/linux.scm (strace)[source]: Add patch.
[arguments]<#:phases>: Do not disable the "readlink" test now that it can
succeed.
* gnu/packages/patches/strace-readlink-tests.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/linux.scm | 7 | ||||
-rw-r--r-- | gnu/packages/patches/strace-readlink-tests.patch | 46 |
2 files changed, 48 insertions, 5 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index c838958f73..71da82d97d 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -2365,7 +2365,8 @@ Zerofree requires the file system to be unmounted or mounted read-only.") "/strace-" version ".tar.xz")) (sha256 (base32 - "0mmns22bjjvakxj29si0x4dcylcgy26llpcimkb0llcxif439k2s")))) + "0mmns22bjjvakxj29si0x4dcylcgy26llpcimkb0llcxif439k2s")) + (patches (search-patches "strace-readlink-tests.patch")))) (build-system gnu-build-system) (arguments '(#:phases @@ -2378,10 +2379,6 @@ Zerofree requires the file system to be unmounted or mounted read-only.") (add-after 'unpack 'disable-failing-tests (lambda _ (substitute* "tests/Makefile.in" - ;; XXX: This test fails because an extra readlink call is made - ;; by the glibc when using the ld.so cache. - (("readlink.gen.test[^:]") " ") - ;; XXX: These hang forever even if the test time-out is ;; extended. (("^\tstrace-DD?D?\\.test \\\\.*") "") diff --git a/gnu/packages/patches/strace-readlink-tests.patch b/gnu/packages/patches/strace-readlink-tests.patch new file mode 100644 index 0000000000..dd5ee98703 --- /dev/null +++ b/gnu/packages/patches/strace-readlink-tests.patch @@ -0,0 +1,46 @@ +Prevent strace's "readlink" and "readlinkat" tests from failing due to the +additional system call made by glibc with the patch "glibc-dl-cache.patch" +applied (introduced in commit 52564e9). + +These changes cause strace to report during these tests only system calls on +files contained in the test directory, effectively filtering out the +additional readlink/readlinkat call on "/proc/self/exe" and allowing the tests +to complete as normal. + +diff --git a/tests/gen_tests.in b/tests/gen_tests.in +index 8b4e2e9..cc3ca63 100644 +--- a/tests/gen_tests.in ++++ b/tests/gen_tests.in +@@ -623,8 +623,8 @@ quotactl-xfs-v -v -e trace=quotactl + read-write -a15 -eread=0,5 -ewrite=1,4 -e trace=read,write -P read-write-tmpfile -P /dev/zero -P /dev/null + readahead -a1 + readdir -a16 +-readlink -xx +-readlinkat -xx ++readlink -xx --trace-path=test.readlink.link ++readlinkat -xx --trace-path=test.readlinkat.link + reboot -s 256 + recv-MSG_TRUNC -a26 -e trace=recv + recvfrom -a35 +diff --git a/tests/readlink.gen.test b/tests/readlink.gen.test +index 4263234..418691b 100755 +--- a/tests/readlink.gen.test ++++ b/tests/readlink.gen.test +@@ -1,4 +1,4 @@ + #!/bin/sh -efu +-# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (readlink -xx ); do not edit. ++# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (readlink -xx --trace-path=test.readlink.link); do not edit. + . "${srcdir=.}/init.sh" +-run_strace_match_diff -xx ++run_strace_match_diff -xx --trace-path=test.readlink.link +diff --git a/tests/readlinkat.gen.test b/tests/readlinkat.gen.test +index d7de993..a48d590 100755 +--- a/tests/readlinkat.gen.test ++++ b/tests/readlinkat.gen.test +@@ -1,4 +1,4 @@ + #!/bin/sh -efu +-# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (readlinkat -xx ); do not edit. ++# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (readlinkat -xx --trace-path=test.readlinkat.link); do not edit. + . "${srcdir=.}/init.sh" +-run_strace_match_diff -xx ++run_strace_match_diff -xx --trace-path=test.readlinkat.link |