diff options
-rw-r--r-- | gnu/local.mk | 1 | ||||
-rw-r--r-- | gnu/packages/linux.scm | 7 | ||||
-rw-r--r-- | gnu/packages/patches/strace-readlink-tests.patch | 46 |
3 files changed, 49 insertions, 5 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index dde9c99a1f..d4022e77b8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1562,6 +1562,7 @@ dist_patch_DATA = \ %D%/packages/patches/sdl-pango-sans-serif.patch \ %D%/packages/patches/smalltalk-multiplication-overflow.patch \ %D%/packages/patches/sqlite-hurd.patch \ + %D%/packages/patches/strace-readlink-tests.patch \ %D%/packages/patches/sunxi-tools-remove-sys-io.patch \ %D%/packages/patches/p11-kit-hurd.patch \ %D%/packages/patches/patchutils-test-perms.patch \ 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 |