]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Issue 696: ppc64le mache ckech failure 807/head
authorCarlos Sánchez de La Lama <csanchezdll@gmail.com>
Wed, 19 Oct 2016 07:12:18 +0000 (09:12 +0200)
committerCarlos Sánchez de La Lama <csanchezdll@gmail.com>
Wed, 19 Oct 2016 10:17:32 +0000 (12:17 +0200)
This issue is not ppc64le specific. I have experienced on my
4.4.22-gnu #1 SMP 1 i686 GNU/Linux. Might be dependant on kernel
version and/or machine load. POSIX says errors after posix_spawnp
returns can be signaled by child exitting with an 127 exit code.

cpio/test/test_option_lz4.c
tar/test/test_option_lz4.c

index d430ac755f4f96803e91c87498ed151f525ebb19..afd683ddc7731da1b88875429585674be93b0896 100644 (file)
@@ -63,6 +63,13 @@ DEFINE_TEST(test_option_lz4)
                            "but no such program is available on this system.");
                        return;
                }
+               /* On some systems the error won't be detected until closing
+                  time, by a 127 exit error returned by waitpid. */
+               if (strstr(p, "Error closing") != NULL && !canLz4()) {
+                       skipping("This version of bsdcpio uses an external lz4 program "
+                           "but no such program is available on this system.");
+                       return;
+               }
                failure("--lz4 option is broken: %s", p);
                assertEqualInt(r, 0);
                return;
index 5dc945216300b63c81b245914ed24c16e9acb59b..01ca6bbd7a5d3dfa9d22180bd8a49bf6e7d98b97 100644 (file)
@@ -63,6 +63,13 @@ DEFINE_TEST(test_option_lz4)
                            "but no such program is available on this system.");
                        return;
                }
+               /* On some systems the error won't be detected until closing
+                  time, by a 127 exit error returned by waitpid. */
+               if (strstr(p, "Error closing") != NULL && !canLz4()) {
+                       skipping("This version of bsdcpio uses an external lz4 program "
+                           "but no such program is available on this system.");
+                       return;
+               }
                failure("--lz4 option is broken: %s", p);
                assertEqualInt(r, 0);
                return;