svn commit: r189464 - in head/lib/libarchive: . test

Tim Kientzle kientzle at FreeBSD.org
Fri Mar 6 16:25:34 PST 2009


Author: kientzle
Date: Sat Mar  7 00:25:33 2009
New Revision: 189464
URL: http://svn.freebsd.org/changeset/base/189464

Log:
  Merge r659 from libarchive.googlecode.com:  Correctly report "none"
  as the compression name when no other read filter bid.  Add some
  assertions to various tests to verify that read filters are properly
  setting the textual name as well as the compression code.

Modified:
  head/lib/libarchive/archive_read.c
  head/lib/libarchive/test/test_compat_bzip2.c
  head/lib/libarchive/test/test_compat_gzip.c
  head/lib/libarchive/test/test_read_format_cpio_bin_Z.c
  head/lib/libarchive/test/test_read_format_tar.c

Modified: head/lib/libarchive/archive_read.c
==============================================================================
--- head/lib/libarchive/archive_read.c	Fri Mar  6 23:32:45 2009	(r189463)
+++ head/lib/libarchive/archive_read.c	Sat Mar  7 00:25:33 2009	(r189464)
@@ -289,12 +289,10 @@ archive_read_open2(struct archive *_a, v
 	filter->read = client_read_proxy;
 	filter->skip = client_skip_proxy;
 	filter->close = client_close_proxy;
+	filter->name = "none";
+	filter->code = ARCHIVE_COMPRESSION_NONE;
 	a->filter = filter;
 
-	/* In case there's no filter. */
-	a->archive.compression_code = ARCHIVE_COMPRESSION_NONE;
-	a->archive.compression_name = "none";
-
 	/* Build out the input pipeline. */
 	e = build_stream(a);
 	if (e == ARCHIVE_OK)

Modified: head/lib/libarchive/test/test_compat_bzip2.c
==============================================================================
--- head/lib/libarchive/test/test_compat_bzip2.c	Fri Mar  6 23:32:45 2009	(r189463)
+++ head/lib/libarchive/test/test_compat_bzip2.c	Sat Mar  7 00:25:33 2009	(r189464)
@@ -69,6 +69,7 @@ compat_bzip2(const char *name)
 
 	/* Verify that the format detection worked. */
 	assertEqualInt(archive_compression(a), ARCHIVE_COMPRESSION_BZIP2);
+	assertEqualString(archive_compression_name(a), "bzip2");
 	assertEqualInt(archive_format(a), ARCHIVE_FORMAT_TAR_USTAR);
 
 	assertEqualInt(ARCHIVE_OK, archive_read_close(a));

Modified: head/lib/libarchive/test/test_compat_gzip.c
==============================================================================
--- head/lib/libarchive/test/test_compat_gzip.c	Fri Mar  6 23:32:45 2009	(r189463)
+++ head/lib/libarchive/test/test_compat_gzip.c	Sat Mar  7 00:25:33 2009	(r189464)
@@ -69,6 +69,7 @@ verify(const char *name)
 
 	/* Verify that the format detection worked. */
 	assertEqualInt(archive_compression(a), ARCHIVE_COMPRESSION_GZIP);
+	assertEqualString(archive_compression_name(a), "gzip");
 	assertEqualInt(archive_format(a), ARCHIVE_FORMAT_TAR_USTAR);
 
 	assertEqualInt(ARCHIVE_OK, archive_read_close(a));

Modified: head/lib/libarchive/test/test_read_format_cpio_bin_Z.c
==============================================================================
--- head/lib/libarchive/test/test_read_format_cpio_bin_Z.c	Fri Mar  6 23:32:45 2009	(r189463)
+++ head/lib/libarchive/test/test_read_format_cpio_bin_Z.c	Sat Mar  7 00:25:33 2009	(r189464)
@@ -46,6 +46,7 @@ DEFINE_TEST(test_read_format_cpio_bin_Z)
 	failure("archive_compression_name(a)=\"%s\"",
 	    archive_compression_name(a));
 	assertEqualInt(archive_compression(a), ARCHIVE_COMPRESSION_COMPRESS);
+	assertEqualString(archive_compression_name(a), "compress (.Z)");
 	failure("archive_format_name(a)=\"%s\"",
 	    archive_format_name(a));
 	assertEqualInt(archive_format(a), ARCHIVE_FORMAT_CPIO_BIN_LE);

Modified: head/lib/libarchive/test/test_read_format_tar.c
==============================================================================
--- head/lib/libarchive/test/test_read_format_tar.c	Fri Mar  6 23:32:45 2009	(r189463)
+++ head/lib/libarchive/test/test_read_format_tar.c	Sat Mar  7 00:25:33 2009	(r189464)
@@ -71,6 +71,7 @@ static void verifyEmpty(void)
 	assertA(0 == archive_read_open_memory(a, archiveEmpty, 512));
 	assertEqualIntA(a, ARCHIVE_EOF, archive_read_next_header(a, &ae));
 	assertEqualInt(archive_compression(a), ARCHIVE_COMPRESSION_NONE);
+	assertEqualString(archive_compression_name(a), "none");
 	failure("512 zero bytes should be recognized as a tar archive.");
 	assertEqualInt(archive_format(a), ARCHIVE_FORMAT_TAR);
 


More information about the svn-src-head mailing list