diff options
author | mm <mm@FreeBSD.org> | 2012-02-08 12:53:14 +0000 |
---|---|---|
committer | mm <mm@FreeBSD.org> | 2012-02-08 12:53:14 +0000 |
commit | 2f6e434fe4c652da1969314fa57ae21936cec85d (patch) | |
tree | 28a8e9d81eb7ed48e286dfc384e2e0ffccc238b5 /libarchive/test/test_write_open_memory.c | |
parent | 5ae64fdbb237eec1fbe1362330190b974b1a1061 (diff) | |
download | FreeBSD-src-2f6e434fe4c652da1969314fa57ae21936cec85d.zip FreeBSD-src-2f6e434fe4c652da1969314fa57ae21936cec85d.tar.gz |
Update vendor libarchive dist to new "release" branch (post 3.0.3)
Git branch: release
Git commit: 9af87742342aa4f37a22ec12c4cc1c82e00ffa2f
Obtained from: https://github.com/libarchive/libarchive.git
Diffstat (limited to 'libarchive/test/test_write_open_memory.c')
-rw-r--r-- | libarchive/test/test_write_open_memory.c | 42 |
1 files changed, 25 insertions, 17 deletions
diff --git a/libarchive/test/test_write_open_memory.c b/libarchive/test/test_write_open_memory.c index 696db6c..e9a01de 100644 --- a/libarchive/test/test_write_open_memory.c +++ b/libarchive/test/test_write_open_memory.c @@ -45,32 +45,40 @@ DEFINE_TEST(test_write_open_memory) /* Make sure that we get failure on too-small buffers, success on * large enough ones. */ for (i = 100; i < 1600; i++) { - size_t s; + size_t used; size_t blocksize = 94; assert((a = archive_write_new()) != NULL); - assertA(0 == archive_write_set_format_ustar(a)); - assertA(0 == archive_write_set_bytes_in_last_block(a, 1)); - assertA(0 == archive_write_set_bytes_per_block(a, (int)blocksize)); + assertEqualIntA(a, ARCHIVE_OK, + archive_write_set_format_ustar(a)); + assertEqualIntA(a, ARCHIVE_OK, + archive_write_set_bytes_in_last_block(a, 1)); + assertEqualIntA(a, ARCHIVE_OK, + archive_write_set_bytes_per_block(a, (int)blocksize)); buff[i] = 0xAE; - assertA(0 == archive_write_open_memory(a, buff, i, &s)); + assertEqualIntA(a, ARCHIVE_OK, + archive_write_open_memory(a, buff, i, &used)); /* If buffer is smaller than a tar header, this should fail. */ if (i < (511/blocksize)*blocksize) - assertA(ARCHIVE_FATAL == archive_write_header(a,ae)); + assertEqualIntA(a, ARCHIVE_FATAL, + archive_write_header(a,ae)); else - assertA(0 == archive_write_header(a, ae)); + assertEqualIntA(a, ARCHIVE_OK, + archive_write_header(a, ae)); /* If buffer is smaller than a tar header plus 1024 byte * end-of-archive marker, then this should fail. */ + failure("buffer size=%d\n", (int)i); if (i < 1536) - assertA(ARCHIVE_FATAL == archive_write_close(a)); - else - assertA(0 == archive_write_close(a)); -#if ARCHIVE_VERSION_NUMBER < 2000000 - archive_write_finish(a); -#else - assert(0 == archive_write_finish(a)); -#endif - assert(buff[i] == 0xAE); - assert(s <= i); + assertEqualIntA(a, ARCHIVE_FATAL, + archive_write_close(a)); + else { + assertEqualIntA(a, ARCHIVE_OK, archive_write_close(a)); + assertEqualInt(used, archive_position_compressed(a)); + assertEqualInt(archive_position_compressed(a), + archive_position_uncompressed(a)); + } + assertEqualInt(ARCHIVE_OK, archive_write_free(a)); + assertEqualInt(buff[i], 0xAE); + assert(used <= i); } archive_entry_free(ae); } |