]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Issue 685: Just verify the body of the error message; ignore the program name
authorTim Kientzle <kientzle@gmail.com>
Thu, 28 Apr 2016 06:05:19 +0000 (23:05 -0700)
committerTim Kientzle <kientzle@gmail.com>
Thu, 28 Apr 2016 06:05:19 +0000 (23:05 -0700)
tar/test/test_leading_slash.c

index 52646d00c216a9549678bd210fc259038dfd28d7..a390e11fe98097d5dd9907a373ba4f353c649b0c 100644 (file)
@@ -28,6 +28,9 @@ __FBSDID("$FreeBSD$");
 DEFINE_TEST(test_leading_slash)
 {
        const char *reffile = "test_leading_slash.tar";
+       char *errfile;
+       size_t errfile_size;
+       const char *expected_errmsg = "Removing leading '/' from member names";
 
        extract_reference_file(reffile);
        assertEqualInt(0, systemf("%s -xf %s >test.out 2>test.err", testprog, reffile));
@@ -36,10 +39,11 @@ DEFINE_TEST(test_leading_slash)
        assertTextFileContents("foo\x0a", "foo/hardlink");
        assertIsHardlink("foo/file", "foo/hardlink");
        assertEmptyFile("test.out");
-#ifdef _WIN32
-       assertTextFileContents("bsdtar.exe: Removing leading '/' from member names\x0a", "test.err");
-#else
-       assertTextFileContents("bsdtar: Removing leading '/' from member names\x0a", "test.err");
-#endif
+
+       /* Verify the error output contains the expected text somewhere in it */
+       if (assertFileExists("test.err")) {
+               errfile = slurpfile(&errfile_size, "test.err");
+               assert(strstr(errfile, expected_errmsg));
+       }
 }