]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Separate test_read_format_mtree to know easily which tests failed.
authorMichihiro NAKAJIMA <ggcueroad@gmail.com>
Thu, 20 Sep 2012 03:09:59 +0000 (12:09 +0900)
committerMichihiro NAKAJIMA <ggcueroad@gmail.com>
Thu, 20 Sep 2012 03:09:59 +0000 (12:09 +0900)
libarchive/test/test_read_format_mtree.c

index 67466cd6242172f4a0c5ae4467731b63347005cd..419e7c27046da96ef535e240b1f90563bc741887 100644 (file)
@@ -224,9 +224,14 @@ test_read_format_mtree3(void)
        assertChdir("..");
 }
 
+DEFINE_TEST(test_read_format_mtree)
+{
+       test_read_format_mtree1();
+       test_read_format_mtree2();
+       test_read_format_mtree3();
+}
 
-static void
-test_read_format_mtree4(void)
+DEFINE_TEST(test_read_format_mtree_nomagic_v1_form)
 {
        const char reffile[] = "test_read_format_mtree_nomagic.mtree";
        char buff[16];
@@ -234,9 +239,6 @@ test_read_format_mtree4(void)
        struct archive *a;
        FILE *f;
 
-       assertMakeDir("mtree4", 0777);
-       assertChdir("mtree4");
-
        extract_reference_file(reffile);
 
        assert((a = archive_read_new()) != NULL);
@@ -302,50 +304,12 @@ test_read_format_mtree4(void)
        assertEqualInt(12, archive_file_count(a));
        assertEqualInt(ARCHIVE_OK, archive_read_close(a));
        assertEqualInt(ARCHIVE_OK, archive_read_free(a));
-
-       assertChdir("..");
-}
-
-/*
- * We should get a warning if the contents file doesn't exist.
- */
-static void
-test_read_format_mtree5(void)
-{
-       static char archive[] =
-           "#mtree\n"
-           "a type=file contents=nonexistent_file\n";
-       struct archive_entry *ae;
-       struct archive *a;
-
-       assertMakeDir("mtree5", 0777);
-       assertChdir("mtree5");
-
-       assert((a = archive_read_new()) != NULL);
-       assertEqualIntA(a, ARCHIVE_OK,
-           archive_read_support_filter_all(a));
-       assertEqualIntA(a, ARCHIVE_OK,
-           archive_read_support_format_all(a));
-       assertEqualIntA(a, ARCHIVE_OK,
-           archive_read_open_memory(a, archive, sizeof(archive)));
-       assertEqualIntA(a, ARCHIVE_WARN, archive_read_next_header(a, &ae));
-       assert(strlen(archive_error_string(a)) > 0);
-       assertEqualString(archive_entry_pathname(ae), "a");
-       assertEqualInt(archive_entry_filetype(ae), AE_IFREG);
-
-       assertEqualIntA(a, ARCHIVE_EOF, archive_read_next_header(a, &ae));
-       assertEqualInt(1, archive_file_count(a));
-       assertEqualInt(ARCHIVE_OK, archive_read_close(a));
-       assertEqualInt(ARCHIVE_OK, archive_read_free(a));
-
-       assertChdir("..");
 }
 
 /*
  * Test for a format that NetBSD mtree -C generates.
  */
-static void
-test_read_format_mtree6(void)
+DEFINE_TEST(test_read_format_mtree_nomagic_v2_form)
 {
        const char reffile[] = "test_read_format_mtree_nomagic2.mtree";
        char buff[16];
@@ -353,9 +317,6 @@ test_read_format_mtree6(void)
        struct archive *a;
        FILE *f;
 
-       assertMakeDir("mtree6", 0777);
-       assertChdir("mtree6");
-
        extract_reference_file(reffile);
 
        assert((a = archive_read_new()) != NULL);
@@ -407,15 +368,12 @@ test_read_format_mtree6(void)
        assertEqualInt(6, archive_file_count(a));
        assertEqualInt(ARCHIVE_OK, archive_read_close(a));
        assertEqualInt(ARCHIVE_OK, archive_read_free(a));
-
-       assertChdir("..");
 }
 
 /*
  * Test for a format that NetBSD mtree -D generates.
  */
-static void
-test_read_format_mtree7(void)
+DEFINE_TEST(test_read_format_mtree_nomagic_v2_netbsd_form)
 {
        const char reffile[] = "test_read_format_mtree_nomagic3.mtree";
        char buff[16];
@@ -423,9 +381,6 @@ test_read_format_mtree7(void)
        struct archive *a;
        FILE *f;
 
-       assertMakeDir("mtree7", 0777);
-       assertChdir("mtree7");
-
        extract_reference_file(reffile);
 
        assert((a = archive_read_new()) != NULL);
@@ -477,17 +432,34 @@ test_read_format_mtree7(void)
        assertEqualInt(6, archive_file_count(a));
        assertEqualInt(ARCHIVE_OK, archive_read_close(a));
        assertEqualInt(ARCHIVE_OK, archive_read_free(a));
-
-       assertChdir("..");
 }
 
-DEFINE_TEST(test_read_format_mtree)
+/*
+ * We should get a warning if the contents file doesn't exist.
+ */
+DEFINE_TEST(test_read_format_mtree_nonexistent_contents_file)
 {
-       test_read_format_mtree1();
-       test_read_format_mtree2();
-       test_read_format_mtree3();
-       test_read_format_mtree4();
-       test_read_format_mtree5();
-       test_read_format_mtree6();
-       test_read_format_mtree7();
+       static char archive[] =
+           "#mtree\n"
+           "a type=file contents=nonexistent_file\n";
+       struct archive_entry *ae;
+       struct archive *a;
+
+       assert((a = archive_read_new()) != NULL);
+       assertEqualIntA(a, ARCHIVE_OK,
+           archive_read_support_filter_all(a));
+       assertEqualIntA(a, ARCHIVE_OK,
+           archive_read_support_format_all(a));
+       assertEqualIntA(a, ARCHIVE_OK,
+           archive_read_open_memory(a, archive, sizeof(archive)));
+       assertEqualIntA(a, ARCHIVE_WARN, archive_read_next_header(a, &ae));
+       assert(strlen(archive_error_string(a)) > 0);
+       assertEqualString(archive_entry_pathname(ae), "a");
+       assertEqualInt(archive_entry_filetype(ae), AE_IFREG);
+
+       assertEqualIntA(a, ARCHIVE_EOF, archive_read_next_header(a, &ae));
+       assertEqualInt(1, archive_file_count(a));
+       assertEqualInt(ARCHIVE_OK, archive_read_close(a));
+       assertEqualInt(ARCHIVE_OK, archive_read_free(a));
 }
+