From: Roman Neuhauser Date: Sun, 10 Apr 2011 09:13:52 +0000 (-0400) Subject: torture test archive_read_support_format_XXX as well X-Git-Tag: v3.0.0a~490 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=acc4a47139b538a4771322b5f45eeec5803bce1c;p=thirdparty%2Flibarchive.git torture test archive_read_support_format_XXX as well SVN-Revision: 3196 --- diff --git a/Makefile.am b/Makefile.am index b515c44f9..84070e5e2 100644 --- a/Makefile.am +++ b/Makefile.am @@ -254,6 +254,7 @@ libarchive_test_SOURCES= \ libarchive/test/test_archive_read_set_option.c \ libarchive/test/test_archive_read_set_options.c \ libarchive/test/test_archive_read_support_filter_torture.c \ + libarchive/test/test_archive_read_support_format_torture.c \ libarchive/test/test_archive_set_error.c \ libarchive/test/test_archive_string.c \ libarchive/test/test_archive_write_set_filter_option.c \ diff --git a/libarchive/archive_read_support_format_all.c b/libarchive/archive_read_support_format_all.c index efe31ead2..ac8517dc7 100644 --- a/libarchive/archive_read_support_format_all.c +++ b/libarchive/archive_read_support_format_all.c @@ -27,10 +27,14 @@ __FBSDID("$FreeBSD: head/lib/libarchive/archive_read_support_format_all.c 174991 2007-12-30 04:58:22Z kientzle $"); #include "archive.h" +#include "archive_private.h" int archive_read_support_format_all(struct archive *a) { + archive_check_magic(a, ARCHIVE_READ_MAGIC, + ARCHIVE_STATE_NEW, "archive_read_support_format_all"); + archive_read_support_format_ar(a); archive_read_support_format_cab(a); archive_read_support_format_cpio(a); diff --git a/libarchive/test/CMakeLists.txt b/libarchive/test/CMakeLists.txt index 523b15f82..0f7dc72e5 100644 --- a/libarchive/test/CMakeLists.txt +++ b/libarchive/test/CMakeLists.txt @@ -25,6 +25,7 @@ IF(ENABLE_TEST) test_archive_read_set_option.c test_archive_read_set_options.c test_archive_read_support_filter_torture.c + test_archive_read_support_format_torture.c test_archive_set_error.c test_archive_string.c test_archive_write_set_filter_option.c diff --git a/libarchive/test/test_archive_read_support_format_torture.c b/libarchive/test/test_archive_read_support_format_torture.c new file mode 100644 index 000000000..890bd1f97 --- /dev/null +++ b/libarchive/test/test_archive_read_support_format_torture.c @@ -0,0 +1,43 @@ +/*- + * Copyright (c) 2011 Tim Kientzle + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#include "test.h" +__FBSDID("$FreeBSD$"); + +#include "test_archive_read_support.h" + +DEFINE_TEST(test_archive_read_support_format_torture) +{ + test_filter_or_format(archive_read_support_format_all); + test_filter_or_format(archive_read_support_format_ar); + test_filter_or_format(archive_read_support_format_cab); + test_filter_or_format(archive_read_support_format_cpio); + test_filter_or_format(archive_read_support_format_empty); + test_filter_or_format(archive_read_support_format_iso9660); + test_filter_or_format(archive_read_support_format_lha); + test_filter_or_format(archive_read_support_format_mtree); + test_filter_or_format(archive_read_support_format_tar); + test_filter_or_format(archive_read_support_format_xar); + test_filter_or_format(archive_read_support_format_zip); +}