diff options
author | grehan <grehan@FreeBSD.org> | 2011-09-15 22:14:35 +0000 |
---|---|---|
committer | grehan <grehan@FreeBSD.org> | 2011-09-15 22:14:35 +0000 |
commit | 2256cbe5692847d9defa97bdd74ce0aa9e74157d (patch) | |
tree | 42ba64b8c25f527cf3d9b56c4ce4c51c11d445d1 /lib/libarchive/test/test_read_format_mtree.c | |
parent | 1823067d93fba5ecf7990fee39428954fa5cbf1b (diff) | |
parent | e6011fb6bc29d6740516409bd2963015c583c2e9 (diff) | |
download | FreeBSD-src-2256cbe5692847d9defa97bdd74ce0aa9e74157d.zip FreeBSD-src-2256cbe5692847d9defa97bdd74ce0aa9e74157d.tar.gz |
IFC @ r225592
sys/dev/bvm/bvm_console.c - move up to the new alt-break order.
Diffstat (limited to 'lib/libarchive/test/test_read_format_mtree.c')
-rw-r--r-- | lib/libarchive/test/test_read_format_mtree.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/lib/libarchive/test/test_read_format_mtree.c b/lib/libarchive/test/test_read_format_mtree.c index 5001e4d..93e658f 100644 --- a/lib/libarchive/test/test_read_format_mtree.c +++ b/lib/libarchive/test/test_read_format_mtree.c @@ -134,10 +134,53 @@ test_read_format_mtree2(void) assertEqualInt(ARCHIVE_OK, archive_read_finish(a)); } +/* + * Reported to libarchive.googlecode.com as Issue 121. + */ +static void +test_read_format_mtree3(void) +{ + static char archive[] = + "#mtree\n" + "a type=file contents=file\n" + "b type=link link=a\n" + "c type=file contents=file\n"; + struct archive_entry *ae; + struct archive *a; + + assertMakeDir("mtree3", 0777); + assertChdir("mtree3"); + assertMakeFile("file", 0644, "file contents"); + + assert((a = archive_read_new()) != NULL); + assertEqualIntA(a, ARCHIVE_OK, + archive_read_support_compression_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_OK, archive_read_next_header(a, &ae)); + assertEqualString(archive_entry_pathname(ae), "a"); + assertEqualInt(archive_entry_filetype(ae), AE_IFREG); + assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae)); + assertEqualString(archive_entry_pathname(ae), "b"); + assertEqualInt(archive_entry_filetype(ae), AE_IFLNK); + assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae)); + assertEqualString(archive_entry_pathname(ae), "c"); + assertEqualInt(archive_entry_filetype(ae), AE_IFREG); + + assertEqualIntA(a, ARCHIVE_EOF, archive_read_next_header(a, &ae)); + assertEqualInt(ARCHIVE_OK, archive_read_close(a)); + assertEqualInt(ARCHIVE_OK, archive_read_finish(a)); + + assertChdir(".."); +} + DEFINE_TEST(test_read_format_mtree) { test_read_format_mtree1(); test_read_format_mtree2(); + test_read_format_mtree3(); } |