summaryrefslogtreecommitdiffstats
path: root/libarchive/test/test_write_open_memory.c
diff options
context:
space:
mode:
authormm <mm@FreeBSD.org>2012-02-08 12:53:14 +0000
committermm <mm@FreeBSD.org>2012-02-08 12:53:14 +0000
commit2f6e434fe4c652da1969314fa57ae21936cec85d (patch)
tree28a8e9d81eb7ed48e286dfc384e2e0ffccc238b5 /libarchive/test/test_write_open_memory.c
parent5ae64fdbb237eec1fbe1362330190b974b1a1061 (diff)
downloadFreeBSD-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.c42
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);
}
OpenPOWER on IntegriCloud