From: Tim Kientzle Date: Sun, 6 Feb 2011 05:38:41 +0000 (-0500) Subject: Extend test_open_failure to verify the case documented in Issue 134. X-Git-Tag: v3.0.0a~707 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d16d113dd7ceca32b75ccce268c0e400492c28db;p=thirdparty%2Flibarchive.git Extend test_open_failure to verify the case documented in Issue 134. This tests archive_write_free() after an open failure with zip format. SVN-Revision: 2956 --- diff --git a/libarchive/test/test_open_failure.c b/libarchive/test/test_open_failure.c index 5aa2cefa2..62ae542e3 100644 --- a/libarchive/test/test_open_failure.c +++ b/libarchive/test/test_open_failure.c @@ -176,6 +176,23 @@ DEFINE_TEST(test_open_failure) assertEqualInt(0, private.write_called); assertEqualInt(1, private.close_called); + memset(&private, 0, sizeof(private)); + private.magic = MAGIC; + private.open_return = ARCHIVE_FATAL; + a = archive_write_new(); + assert(a != NULL); + archive_write_add_filter_compress(a); + archive_write_set_format_zip(a); + assertEqualInt(ARCHIVE_FATAL, + archive_write_open(a, &private, my_open, my_write, my_close)); + assertEqualInt(1, private.open_called); + assertEqualInt(0, private.write_called); + assertEqualInt(1, private.close_called); + assertEqualInt(ARCHIVE_OK, archive_write_finish(a)); + assertEqualInt(1, private.open_called); + assertEqualInt(0, private.write_called); + assertEqualInt(1, private.close_called); + memset(&private, 0, sizeof(private)); private.magic = MAGIC; private.open_return = ARCHIVE_FATAL;