summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/linux.scm7
-rw-r--r--gnu/packages/patches/strace-readlink-tests.patch46
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