freebsd-skq/lib/libarchive/test
Tim Kientzle e2421f7667 Merge from libarchive.googlecode.com: Mostly a bunch of
corrections to the Windows support to reconcile differences
between Visual Studio and Cygwin.  Includes parts of
revisions 757, 774, 787, 815, 817, 819, 820, 844, and 886.

Of particular note, r886 overhauled the UTF-8/Unicode conversions to
work correctly regardless of whether the local system uses 16-bit
or 32-bit wchar_t.  (I assume that systems with 16-bit wchar_t
use UTF-16 and those with 32-bit wchar_t use UCS-4.)  This revision
also added a preference for wcrtomb() (which is thread-safe) on
platforms that support it.
2009-04-12 05:33:34 +00:00
..
.cvsignore
main.c Merge from libarchive.googlecode.com: Mostly a bunch of 2009-04-12 05:33:34 +00:00
Makefile Merge r658 from libarchive.googlecode.com: Only flush and close the 2009-03-07 02:09:21 +00:00
read_open_memory.c Merge r714,r715 from libarchive.googlecode.com: Fix Debian bug #516577. 2009-03-07 01:21:46 +00:00
README
test_acl_basic.c Style: Mark private data 'static', correct an old comment. 2008-10-19 00:13:57 +00:00
test_acl_freebsd.c Merge r394,r396 from libarchive.googlecode.com: Plug some memory 2009-03-06 04:21:23 +00:00
test_acl_pax.c Merge r294:337,r348:350 from libarchive.googlecode.com: A lot 2009-03-03 17:02:51 +00:00
test_archive_api_feature.c
test_bad_fd.c
test_compat_bzip2_1.tbz.uu New tests: 2008-12-06 07:08:08 +00:00
test_compat_bzip2_2.tbz.uu New tests: 2008-12-06 07:08:08 +00:00
test_compat_bzip2.c Merge r335,653,676 from libarchive.googlecode.com: Instead of 2009-03-07 03:30:35 +00:00
test_compat_gtar_1.tar.uu Merge r294:337,r348:350 from libarchive.googlecode.com: A lot 2009-03-03 17:02:51 +00:00
test_compat_gtar.c Merge r294:337,r348:350 from libarchive.googlecode.com: A lot 2009-03-03 17:02:51 +00:00
test_compat_gzip_1.tgz.uu New tests: 2008-12-06 07:08:08 +00:00
test_compat_gzip_2.tgz.uu New tests: 2008-12-06 07:08:08 +00:00
test_compat_gzip.c Merge r335,653,676 from libarchive.googlecode.com: Instead of 2009-03-07 03:30:35 +00:00
test_compat_tar_hardlink_1.tar.uu
test_compat_tar_hardlink.c
test_compat_zip_1.zip.uu
test_compat_zip.c Merge r335,653,676 from libarchive.googlecode.com: Instead of 2009-03-07 03:30:35 +00:00
test_empty_write.c Merge r294:337,r348:350 from libarchive.googlecode.com: A lot 2009-03-03 17:02:51 +00:00
test_entry_strmode.c
test_entry.c Merge r294:337,r348:350 from libarchive.googlecode.com: A lot 2009-03-03 17:02:51 +00:00
test_extattr_freebsd.c Merge the rest of r453 from libarchive.googlecode.com: Test using 2009-03-07 01:12:01 +00:00
test_fuzz_1.iso.uu New tests: 2008-12-06 07:08:08 +00:00
test_fuzz.c Merge r335,653,676 from libarchive.googlecode.com: Instead of 2009-03-07 03:30:35 +00:00
test_link_resolver.c
test_pax_filename_encoding.c Merge r348 from libarchive.googlecode.com: Suppress testing invalid 2009-03-07 03:41:29 +00:00
test_pax_filename_encoding.tar.uu Merge r294:337,r348:350 from libarchive.googlecode.com: A lot 2009-03-03 17:02:51 +00:00
test_read_compress_program.c Merge r280,281,496,595,675,712 from libarchive.googlecode.com: Various 2009-03-07 03:16:16 +00:00
test_read_data_large.c
test_read_disk.c Merge from libarchive.googlecode.com: Mostly a bunch of 2009-04-12 05:33:34 +00:00
test_read_extract.c Merge from libarchive.googlecode.com: Mostly a bunch of 2009-04-12 05:33:34 +00:00
test_read_file_nonexistent.c Merge r658 from libarchive.googlecode.com: Only flush and close the 2009-03-07 02:09:21 +00:00
test_read_format_ar.c
test_read_format_cpio_bin_bz2.c Merge r335,653,676 from libarchive.googlecode.com: Instead of 2009-03-07 03:30:35 +00:00
test_read_format_cpio_bin_gz.c Merge r335,653,676 from libarchive.googlecode.com: Instead of 2009-03-07 03:30:35 +00:00
test_read_format_cpio_bin_Z.c Merge r659 from libarchive.googlecode.com: Correctly report "none" 2009-03-07 00:25:33 +00:00
test_read_format_cpio_bin.c
test_read_format_cpio_odc.c
test_read_format_cpio_svr4_gzip.c Merge r335,653,676 from libarchive.googlecode.com: Instead of 2009-03-07 03:30:35 +00:00
test_read_format_cpio_svr4c_Z.c Merge r341,r345,r346,347 from libarchive.googlecode.com: Style 2009-03-05 00:31:48 +00:00
test_read_format_empty.c Merge r294:337,r348:350 from libarchive.googlecode.com: A lot 2009-03-03 17:02:51 +00:00
test_read_format_gtar_gz.c Merge r335,653,676 from libarchive.googlecode.com: Instead of 2009-03-07 03:30:35 +00:00
test_read_format_gtar_sparse_1_13.tar.uu Merge r294:337,r348:350 from libarchive.googlecode.com: A lot 2009-03-03 17:02:51 +00:00
test_read_format_gtar_sparse_1_17_posix00.tar.uu Merge r294:337,r348:350 from libarchive.googlecode.com: A lot 2009-03-03 17:02:51 +00:00
test_read_format_gtar_sparse_1_17_posix01.tar.uu Merge r294:337,r348:350 from libarchive.googlecode.com: A lot 2009-03-03 17:02:51 +00:00
test_read_format_gtar_sparse_1_17_posix10_modified.tar.uu
test_read_format_gtar_sparse_1_17_posix10.tar.uu Merge r294:337,r348:350 from libarchive.googlecode.com: A lot 2009-03-03 17:02:51 +00:00
test_read_format_gtar_sparse_1_17.tar.uu Merge r294:337,r348:350 from libarchive.googlecode.com: A lot 2009-03-03 17:02:51 +00:00
test_read_format_gtar_sparse.c Merge r294:337,r348:350 from libarchive.googlecode.com: A lot 2009-03-03 17:02:51 +00:00
test_read_format_iso_gz.c Merge r335,653,676 from libarchive.googlecode.com: Instead of 2009-03-07 03:30:35 +00:00
test_read_format_isojoliet_bz2.c Merge r558,567,569,571,581,582,583,598 from libarchive.googlecode.com: 2009-03-07 02:24:32 +00:00
test_read_format_isojoliet_bz2.iso.bz2.uu Merge r558,567,569,571,581,582,583,598 from libarchive.googlecode.com: 2009-03-07 02:24:32 +00:00
test_read_format_isojolietrr_bz2.iso.bz2.uu Merge r558,567,569,571,581,582,583,598 from libarchive.googlecode.com: 2009-03-07 02:24:32 +00:00
test_read_format_isorr_bz2.c Merge r357 from libarchive.googlecode.com: bzip2 compression 2009-03-05 00:42:50 +00:00
test_read_format_isorr_bz2.iso.bz2.uu
test_read_format_mtree.c Trying to distinguish different "versions" of mtree files was a silly idea. 2008-09-18 04:13:36 +00:00
test_read_format_pax_bz2.c Merge r335,653,676 from libarchive.googlecode.com: Instead of 2009-03-07 03:30:35 +00:00
test_read_format_tar_empty_filename.c
test_read_format_tar_empty_filename.tar.uu
test_read_format_tar.c Merge r659 from libarchive.googlecode.com: Correctly report "none" 2009-03-07 00:25:33 +00:00
test_read_format_tbz.c Merge r335,653,676 from libarchive.googlecode.com: Instead of 2009-03-07 03:30:35 +00:00
test_read_format_tgz.c Merge r335,653,676 from libarchive.googlecode.com: Instead of 2009-03-07 03:30:35 +00:00
test_read_format_tz.c Merge r341,r345,r346,347 from libarchive.googlecode.com: Style 2009-03-05 00:31:48 +00:00
test_read_format_zip.c Merge r335,653,676 from libarchive.googlecode.com: Instead of 2009-03-07 03:30:35 +00:00
test_read_format_zip.zip.uu If we don't know the file size, leave the file size unset. 2008-10-21 05:08:35 +00:00
test_read_large.c Merge r294:337,r348:350 from libarchive.googlecode.com: A lot 2009-03-03 17:02:51 +00:00
test_read_pax_truncated.c Merge r596,r690 from libarchive.googlecode.com: Minor style and compile 2009-03-07 03:34:34 +00:00
test_read_position.c Merge r364, r378, r379, r393, and r539 from libarchive.googlecode.com: 2009-03-05 02:19:42 +00:00
test_read_truncated.c
test_tar_filenames.c
test_tar_large.c Merge from libarchive.googlecode.com: Mostly a bunch of 2009-04-12 05:33:34 +00:00
test_ustar_filenames.c Merge r294:337,r348:350 from libarchive.googlecode.com: A lot 2009-03-03 17:02:51 +00:00
test_write_compress_program.c Merge r335,653,676 from libarchive.googlecode.com: Instead of 2009-03-07 03:30:35 +00:00
test_write_compress.c Merge r294:337,r348:350 from libarchive.googlecode.com: A lot 2009-03-03 17:02:51 +00:00
test_write_disk_failures.c Merge from libarchive.googlecode.com: Mostly a bunch of 2009-04-12 05:33:34 +00:00
test_write_disk_hardlink.c Merge from libarchive.googlecode.com: Mostly a bunch of 2009-04-12 05:33:34 +00:00
test_write_disk_perms.c Merge from libarchive.googlecode.com: Mostly a bunch of 2009-04-12 05:33:34 +00:00
test_write_disk_secure.c Merge from libarchive.googlecode.com: Mostly a bunch of 2009-04-12 05:33:34 +00:00
test_write_disk_sparse.c Fix ARCHIVE_EXTRACT_SPARSE handling in libarchive. 2009-01-26 05:44:40 +00:00
test_write_disk_times.c MfP4: restore birth time data to disk + more thorough tests for 2008-09-30 04:02:36 +00:00
test_write_disk.c Merge from libarchive.googlecode.com: Mostly a bunch of 2009-04-12 05:33:34 +00:00
test_write_format_ar.c Merge r294:337,r348:350 from libarchive.googlecode.com: A lot 2009-03-03 17:02:51 +00:00
test_write_format_cpio_empty.c
test_write_format_cpio_newc.c Merge r294:337,r348:350 from libarchive.googlecode.com: A lot 2009-03-03 17:02:51 +00:00
test_write_format_cpio_odc.c Merge r294:337,r348:350 from libarchive.googlecode.com: A lot 2009-03-03 17:02:51 +00:00
test_write_format_cpio.c Recover after test failure. 2008-12-06 06:02:26 +00:00
test_write_format_pax.c MfP4: Store/read birthtime data in pax format. 2008-09-30 03:57:07 +00:00
test_write_format_shar_empty.c
test_write_format_tar_empty.c Merge r294:337,r348:350 from libarchive.googlecode.com: A lot 2009-03-03 17:02:51 +00:00
test_write_format_tar_ustar.c Merge r294:337,r348:350 from libarchive.googlecode.com: A lot 2009-03-03 17:02:51 +00:00
test_write_format_tar.c Merge r294:337,r348:350 from libarchive.googlecode.com: A lot 2009-03-03 17:02:51 +00:00
test_write_open_memory.c Merge r294:337,r348:350 from libarchive.googlecode.com: A lot 2009-03-03 17:02:51 +00:00
test.h Merge from libarchive.googlecode.com: Mostly a bunch of 2009-04-12 05:33:34 +00:00

$FreeBSD$

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