head	1.4;
access;
symbols
	RELENG_9_1_0_RELEASE:1.3.6.2
	RELENG_9_1:1.3.6.2.0.2
	RELENG_9_1_BP:1.3.6.2
	RELENG_8_3_0_RELEASE:1.3.4.2
	RELENG_8_3:1.3.4.2.0.2
	RELENG_8_3_BP:1.3.4.2
	RELENG_9_0_0_RELEASE:1.3.6.1.2.1
	RELENG_9_0:1.3.6.1.0.2
	RELENG_9_0_BP:1.3.6.1
	RELENG_9:1.3.0.6
	RELENG_9_BP:1.3
	RELENG_7_4_0_RELEASE:1.2.2.1.8.1
	RELENG_8_2_0_RELEASE:1.3.4.1.6.1
	RELENG_7_4:1.2.2.1.0.8
	RELENG_7_4_BP:1.2.2.1
	RELENG_8_2:1.3.4.1.0.6
	RELENG_8_2_BP:1.3.4.1
	RELENG_8_1_0_RELEASE:1.3.4.1.4.1
	RELENG_8_1:1.3.4.1.0.4
	RELENG_8_1_BP:1.3.4.1
	RELENG_7_3_0_RELEASE:1.2.2.1.6.1
	RELENG_7_3:1.2.2.1.0.6
	RELENG_7_3_BP:1.2.2.1
	RELENG_8_0_0_RELEASE:1.3.4.1.2.1
	RELENG_8_0:1.3.4.1.0.2
	RELENG_8_0_BP:1.3.4.1
	RELENG_8:1.3.0.4
	RELENG_8_BP:1.3
	RELENG_7_2_0_RELEASE:1.2.2.1.4.1
	RELENG_7_2:1.2.2.1.0.4
	RELENG_7_2_BP:1.2.2.1
	RELENG_7_1_0_RELEASE:1.2.2.1.2.1
	RELENG_6_4_0_RELEASE:1.3.2.1.2.1
	RELENG_7_1:1.2.2.1.0.2
	RELENG_7_1_BP:1.2.2.1
	RELENG_6_4:1.3.2.1.0.2
	RELENG_6_4_BP:1.3.2.1
	RELENG_6:1.3.0.2
	RELENG_7_0_0_RELEASE:1.2
	RELENG_7_0:1.2.0.4
	RELENG_7_0_BP:1.2
	RELENG_7:1.2.0.2
	RELENG_7_BP:1.2;
locks; strict;
comment	@# @;


1.4
date	2011.12.22.08.42.07;	author mm;	state dead;
branches;
next	1.3;

1.3
date	2008.01.01.22.28.04;	author kientzle;	state Exp;
branches
	1.3.2.1
	1.3.4.1
	1.3.6.1;
next	1.2;

1.2
date	2007.05.29.01.00.20;	author kientzle;	state Exp;
branches
	1.2.2.1;
next	1.1;

1.1
date	2007.03.03.07.37.37;	author kientzle;	state Exp;
branches;
next	;

1.3.2.1
date	2008.08.10.21.18.59;	author kientzle;	state Exp;
branches
	1.3.2.1.2.1;
next	1.3.2.2;

1.3.2.2
date	2012.11.17.07.39.34;	author svnexp;	state Exp;
branches;
next	;

1.3.2.1.2.1
date	2008.10.02.02.57.24;	author kensmith;	state Exp;
branches;
next	;

1.3.4.1
date	2009.08.03.08.13.06;	author kensmith;	state Exp;
branches
	1.3.4.1.2.1
	1.3.4.1.4.1
	1.3.4.1.6.1;
next	1.3.4.2;

1.3.4.2
date	2012.01.05.12.57.14;	author mm;	state dead;
branches;
next	;

1.3.4.1.2.1
date	2009.10.25.01.10.29;	author kensmith;	state Exp;
branches;
next	;

1.3.4.1.4.1
date	2010.06.14.02.09.06;	author kensmith;	state Exp;
branches;
next	;

1.3.4.1.6.1
date	2010.12.21.17.09.25;	author kensmith;	state Exp;
branches;
next	;

1.3.6.1
date	2011.09.23.00.51.37;	author kensmith;	state Exp;
branches
	1.3.6.1.2.1;
next	1.3.6.2;

1.3.6.2
date	2012.01.05.12.52.05;	author mm;	state dead;
branches;
next	;

1.3.6.1.2.1
date	2011.11.11.04.20.22;	author kensmith;	state Exp;
branches;
next	1.3.6.1.2.2;

1.3.6.1.2.2
date	2012.11.17.08.36.16;	author svnexp;	state Exp;
branches;
next	;

1.2.2.1
date	2008.02.11.00.31.08;	author kientzle;	state Exp;
branches
	1.2.2.1.2.1
	1.2.2.1.4.1
	1.2.2.1.6.1
	1.2.2.1.8.1;
next	1.2.2.2;

1.2.2.2
date	2012.11.17.08.01.48;	author svnexp;	state Exp;
branches;
next	;

1.2.2.1.2.1
date	2008.11.25.02.59.29;	author kensmith;	state Exp;
branches;
next	;

1.2.2.1.4.1
date	2009.04.15.03.14.26;	author kensmith;	state Exp;
branches;
next	;

1.2.2.1.6.1
date	2010.02.10.00.26.20;	author kensmith;	state Exp;
branches;
next	;

1.2.2.1.8.1
date	2010.12.21.17.10.29;	author kensmith;	state Exp;
branches;
next	1.2.2.1.8.2;

1.2.2.1.8.2
date	2012.11.17.08.16.41;	author svnexp;	state Exp;
branches;
next	;


desc
@@


1.4
log
@SVN rev 228797 on 2011-12-22 08:42:07Z by mm

Use contrib sources for building libarchive, tar and cpio.
Make "make test" fully operational.

MFC after:	2 weeks
@
text
@$FreeBSD: src/lib/libarchive/test/README,v 1.3 2008/01/01 22:28:04 kientzle Exp $

This is the test harness for libarchive.

It compiles into a single program "libarchive_test" that is intended
to exercise as much of the library as possible.  It is, of course,
very much a work in progress.

Each test is a function named test_foo in a file named test_foo.c.
Note that the file name is the same as the function name.
Each file must start with this line:

  #include "test.h"

The test function must be declared with a line of this form

  DEFINE_TEST(test_foo)

Nothing else should appear on that line.

When you add a test, please update the Makefile to add your
file to the list of tests.  The Makefile and main.c use various
macro trickery to automatically collect a list of test functions
to be invoked.

Each test function can rely on the following:

  * The current directory will be a freshly-created empty directory
    suitable for that test.  (The top-level main() creates a
    directory for each separate test and chdir()s to that directory
    before running the test.)

  * The test function should use assert(), assertA() and similar macros
    defined in test.h.  If you need to add new macros of this form, feel
    free to do so.  The current macro set includes assertEqualInt() and
    assertEqualString() that print out additional detail about their
    arguments if the assertion does fail.  'A' versions also accept
    a struct archive * and display any error message from there on
    failure.

  * You are encouraged to document each assertion with a failure() call
    just before the assert.  The failure() function is a printf-like
    function whose text is displayed only if the assertion fails.  It
    can be used to display additional information relevant to the failure:

       failure("The data read from file %s did not match the data written to that file.", filename);
       assert(strcmp(buff1, buff2) == 0);

  * Tests are encouraged to be economical with their memory and disk usage,
    though this is not essential.  The test is occasionally run under
    a memory debugger to try to locate memory leaks in the library;
    as a result, tests should be careful to release any memory they
    allocate.

  * Disable tests on specific platforms as necessary.  Please don't
    use config.h to adjust feature requirements, as I want the tests
    to also serve as a check on the configure process.  The following
    form is appropriate:

#if !defined(__PLATFORM) && !defined(__Platform2__)
    assert(xxxx)
#endif

@


1.3
log
@Extensive improvements to the libarchive_test test program that
exercises and verifies the libarchive APIs:

* Improved error reporting; hexdumps are now provided for
  many file/memory content differences.
* Overall status more clearly counts "tests" and "assertions"
* Reference files can now be stored on disk instead of having
  to be compiled into the test program itself.  A couple of
  tests have been converted to this more natural structure.
* Several memory leaks corrected so that leaks within libarchive
  itself can be more easily detected and diagnosed.
* New test: GNU tar compatibility
* New test: Zip compatibility
* New test: Zero-byte writes to a compressed archive entry
* New test: archive_entry_strmode() format verification
* New test: mtree reader
* New test: write/read of large (2G - 1TB) entries to tar archives
  (thanks to recent performance work, this test only requires a few seconds)
* New test: detailed format verification of cpio odc and newc writers
* Many minor additions/improvements to existing tests as well.
@
text
@d1 1
a1 1
$FreeBSD$
@


1.3.6.1
log
@SVN rev 225736 on 2011-09-23 00:51:37Z by kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.3.6.2
log
@SVN rev 229595 on 2012-01-05 12:52:05Z by mm

MFC r228797:
Use contrib sources for building libarchive, tar and cpio.
Make "make test" fully operational.
@
text
@d1 1
a1 1
$FreeBSD: src/lib/libarchive/test/README,v 1.3.6.1 2011/09/23 00:51:37 kensmith Exp $
@


1.3.6.1.2.1
log
@SVN rev 227445 on 2011-11-11 04:20:22Z by kensmith

Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release
cycle.

Approved by:	re (implicit)
@
text
@@


1.3.6.1.2.2
log
@Switch importer
@
text
@d1 1
a1 1
$FreeBSD: releng/9.0/lib/libarchive/test/README 175044 2008-01-01 22:28:04Z kientzle $
@


1.3.4.1
log
@SVN rev 196045 on 2009-08-03 08:13:06Z by kensmith

Copy head to stable/8 as part of 8.0 Release cycle.

Approved by:	re (Implicit)
@
text
@@


1.3.4.2
log
@SVN rev 229596 on 2012-01-05 12:57:14Z by mm

MFC r228797:
Use contrib sources for building libarchive, tar and cpio.
Make "make test" fully operational.
@
text
@d1 1
a1 1
$FreeBSD: src/lib/libarchive/test/README,v 1.3.4.1 2009/08/03 08:13:06 kensmith Exp $
@


1.3.4.1.6.1
log
@SVN rev 216617 on 2010-12-21 17:09:25Z by kensmith

Copy stable/8 to releng/8.2 in preparation for FreeBSD-8.2 release.

Approved by:	re (implicit)
@
text
@@


1.3.4.1.4.1
log
@SVN rev 209145 on 2010-06-14 02:09:06Z by kensmith

Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.

Approved by:	re (implicit)
@
text
@@


1.3.4.1.2.1
log
@SVN rev 198460 on 2009-10-25 01:10:29Z by kensmith

Copy stable/8 to releng/8.0 as part of 8.0-RELEASE release procedure.

Approved by:	re (implicit)
@
text
@@


1.3.2.1
log
@SVN rev 181543 on 2008-08-10 21:18:59Z by kientzle

MFC libarchive 2.4.10, including test harness.
@
text
@@


1.3.2.2
log
@Switch importer
@
text
@d1 1
a1 1
$FreeBSD: stable/6/lib/libarchive/test/README 175044 2008-01-01 22:28:04Z kientzle $
@


1.3.2.1.2.1
log
@SVN rev 183531 on 2008-10-02 02:57:24Z by kensmith

Create releng/6.4 from stable/6 in preparation for 6.4-RC1.

Approved by:	re (implicit)
@
text
@@


1.2
log
@libarchive 2.2.3
  * "compression_program" support uses an external program
  * Portability: no longer uses "struct stat" as a primary
    data interchange structure internally
  * Part of the above: refactor archive_entry to separate
    out copy_stat() and stat() functions
  * More complete tests for archive_entry
  * Finish archive_entry_clone()
  * Isolate major()/minor()/makedev() in archive_entry; remove
    these from everywhere else.
  * Bug fix: properly handle decompression look-ahead at end-of-data
  * Bug fixes to 'ar' support
  * Fix memory leak in ZIP reader
  * Portability: better timegm() emulation in iso9660 reader
  * New write_disk flags to suppress auto dir creation and not
    overwrite newer files (for future cpio front-end)
  * Simplify trailing-'/' fixup when writing tar and pax
  * Test enhancements:  fix various compiler warnings, improve
    portability, add lots of new tests.
  * Documentation: document new functions, first draft of
    libarchive_internals.3

MFC after: 14 days
Thanks to: Joerg Sonnenberger (compression_program)
Thanks to: Kai Wang (ar)
Thanks to: Colin Percival (many small fixes)
Thanks to: Many others who sent me various patches and problem reports.
@
text
@d35 5
a39 1
    free to do so.
d50 4
a53 1
    though this is not essential.
d63 1
@


1.2.2.1
log
@MFC: libarchive 2.4.12
 * Formats are now only bid once per file, not once per entry
   (Affects archive_read.c, most format readers, internals manpage)
 * Correct tar/cpio history in libarchive_formats manpage
 * Avoid unnecessary copies in {write,read}_compression_none
   (significant performance boost for uncompressed archives!)
 * Protect against zero-length writes in gzip/bzip2 compressors
 * Tar reader: improve hardlink length heuristics, GNU tar --posix
   --sparse support, related fixes to SCHILY.realsize handling
 * Cpio reader: recover from sync errors
 * Cpio writer: pad symlinks properly in newc format
 * Ar writer: close out empty archive correctly
 * Zip reader: ignore PK00 header, code cleanups from des@@
 * Iso9660 reader: support device node entries
 * archive_write_disk: support hardlinks with bodies, enforce
    maximum file size
 * Reconnect progress callback from archive_read_extract()
 * New: archive_entry_strmode()
 * New: mtree reader
 * New: "linkresolver" makes it easier to do hardlink resolution
 * UUencode test reference files (be nice to CVS)
 * New test: exercise very large entries (2G up to 1T) in tar archives
 * New test: Detailed verification of cpio odc and newc formats
 * New test: Various strategies for restoring multiple links to a file
 * New tests: Various compatibility checks against gzip, zip, old tar, etc.
 * New test: cpio recovery from damaged archives
 * New test: mtree reading
 * Improved statistics reporting from test harness
 * Plus minor portability improvements
@
text
@d35 1
a35 5
    free to do so.  The current macro set includes assertEqualInt() and
    assertEqualString() that print out additional detail about their
    arguments if the assertion does fail.  'A' versions also accept
    a struct archive * and display any error message from there on
    failure.
d46 1
a46 4
    though this is not essential.  The test is occasionally run under
    a memory debugger to try to locate memory leaks in the library;
    as a result, tests should be careful to release any memory they
    allocate.
a55 1

@


1.2.2.2
log
@Switch importer
@
text
@d1 1
a1 1
$FreeBSD: stable/7/lib/libarchive/test/README 176158 2008-02-11 00:31:09Z kientzle $
@


1.2.2.1.8.1
log
@SVN rev 216618 on 2010-12-21 17:10:29Z by kensmith

Copy stable/7 to releng/7.4 in preparation for FreeBSD-7.4 release.

Approved by:	re (implicit)
@
text
@@


1.2.2.1.8.2
log
@Switch importer
@
text
@d1 1
a1 1
$FreeBSD: releng/7.4/lib/libarchive/test/README 176158 2008-02-11 00:31:09Z kientzle $
@


1.2.2.1.6.1
log
@SVN rev 203736 on 2010-02-10 00:26:20Z by kensmith

Copy stable/7 to releng/7.3 as part of the 7.3-RELEASE process.

Approved by:	re (implicit)
@
text
@@


1.2.2.1.4.1
log
@SVN rev 191087 on 2009-04-15 03:14:26Z by kensmith

Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.

Approved by:	re (implicit)
@
text
@@


1.2.2.1.2.1
log
@SVN rev 185281 on 2008-11-25 02:59:29Z by kensmith

Create releng/7.1 in preparation for moving into RC phase of 7.1 release
cycle.

Approved by:	re (implicit)
@
text
@@


1.1
log
@libarchive 2.0
  * libarchive_test program exercises many of the core features
  * Refactored old "read_extract" into new "archive_write_disk", which
    uses archive_write methods to put entries onto disk.  In particular,
    you can now use archive_write_disk to create objects on disk
    without having an archive available.
  * Pushed some security checks from bsdtar down into libarchive, where
    they can be better optimized.
  * Rearchitected the logic for creating objects on disk to reduce
    the number of system calls.  Several common cases now use a
    minimum number of system calls.
  * Virtualized some internal interfaces to provide a clearer separation
    of read and write handling and make it simpler to override key
    methods.
  * New "empty" format reader.
  * Corrected return types (this ABI breakage required the "2.0" version bump)
  * Many bug fixes.
@
text
@d47 9
@

