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.
master
Ludovic Courtès 2015-06-16 00:27:27 +02:00
parent 25cc3fe703
commit d3b4c1358c
3 changed files with 36 additions and 1 deletions

View File

@ -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 \

View File

@ -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

View File

@ -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