summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-06-16 00:27:27 +0200
committerLudovic Courtès <ludo@gnu.org>2015-06-16 00:27:27 +0200
commitd3b4c1358c620135c577eca81c05e09bc1f4bc4a (patch)
tree5efd76adbaeed1fea8042d6d53b43e71b49b9e51
parent25cc3fe7032274f9cb6a6f584cd7190be33a40e1 (diff)
downloadguix-d3b4c1358c620135c577eca81c05e09bc1f4bc4a.tar.gz
gnu: tar: Skip tests that rely on undefined unlinkat(2) behavior.
Fixes <http://bugs.gnu.org/20597>.
Reported by Andrew Patterson <ajpatter@uwaterloo.ca>.

* gnu/packages/patches/tar-skip-unreliable-tests.patch: New file.
* gnu/packages/base.scm (tar)[source](patches): Add it.
* gnu-system.am (dist_patch_DATA): Add it.
-rw-r--r--gnu-system.am1
-rw-r--r--gnu/packages/base.scm4
-rw-r--r--gnu/packages/patches/tar-skip-unreliable-tests.patch32
3 files changed, 36 insertions, 1 deletions
diff --git a/gnu-system.am b/gnu-system.am
index ad9348fb9a..247aff8ac7 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -559,6 +559,7 @@ dist_patch_DATA =						\
   gnu/packages/patches/subversion-sqlite-3.8.9-fix.patch	\
   gnu/packages/patches/superlu-dist-scotchmetis.patch		\
   gnu/packages/patches/tar-d_ino_in_dirent-fix.patch		\
+  gnu/packages/patches/tar-skip-unreliable-tests.patch		\
   gnu/packages/patches/tcsh-fix-autotest.patch			\
   gnu/packages/patches/teckit-cstdio.patch			\
   gnu/packages/patches/texi2html-document-encoding.patch	\
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index fa7c9e884a..31331a1080 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -138,7 +138,9 @@ implementation offers several extensions over the standard utility.")
             (sha256
              (base32
               "1wi2zwm4c9r3h3b8y4w0nm0qq897kn8kyj9k22ba0iqvxj48vvk4"))
-            (patches (list (search-patch "tar-d_ino_in_dirent-fix.patch")))))
+            (patches (map search-patch
+                          '("tar-d_ino_in_dirent-fix.patch"
+                            "tar-skip-unreliable-tests.patch")))))
    (build-system gnu-build-system)
    (synopsis "Managing tar archives")
    (description
diff --git a/gnu/packages/patches/tar-skip-unreliable-tests.patch b/gnu/packages/patches/tar-skip-unreliable-tests.patch
new file mode 100644
index 0000000000..27f0d7df11
--- /dev/null
+++ b/gnu/packages/patches/tar-skip-unreliable-tests.patch
@@ -0,0 +1,32 @@
+Skip tests that rely on unlinkat(2) behavior that varies between
+kernel versions and is unspecified.
+
+See <http://bugs.gnu.org/20597>
+and <http://lists.gnu.org/archive/html/bug-tar/2015-06/msg00000.html>.
+
+--- tar-1.28/tests/testsuite	2014-07-27 22:35:27.000000000 +0200
++++ tar-1.28/tests/testsuite	2015-06-16 00:21:16.906380739 +0200
+@@ -34680,6 +34680,7 @@ find .
+ )"
+ at_fn_check_prepare_notrace 'an embedded newline' "remfiles08a.at:31"
+ ( $at_check_trace;
++exit 77
+ mkdir gnu
+ (cd gnu
+ TEST_TAR_FORMAT=gnu
+@@ -34762,6 +34763,7 @@ find .
+ )"
+ at_fn_check_prepare_notrace 'an embedded newline' "remfiles08b.at:36"
+ ( $at_check_trace;
++exit 77
+ mkdir gnu
+ (cd gnu
+ TEST_TAR_FORMAT=gnu
+@@ -34850,6 +34852,7 @@ find .
+ )"
+ at_fn_check_prepare_notrace 'a `...` command substitution' "remfiles08c.at:31"
+ ( $at_check_trace;
++exit 77
+ mkdir gnu
+ (cd gnu
+ TEST_TAR_FORMAT=gnu