1*cdf63a70SMartin Matuska /*- 2*cdf63a70SMartin Matuska * Copyright (c) 2003-2007 Tim Kientzle 3*cdf63a70SMartin Matuska * Copyright (c) 2014 Michihiro NAKAJIMA 4*cdf63a70SMartin Matuska * All rights reserved. 5*cdf63a70SMartin Matuska * 6*cdf63a70SMartin Matuska * Redistribution and use in source and binary forms, with or without 7*cdf63a70SMartin Matuska * modification, are permitted provided that the following conditions 8*cdf63a70SMartin Matuska * are met: 9*cdf63a70SMartin Matuska * 1. Redistributions of source code must retain the above copyright 10*cdf63a70SMartin Matuska * notice, this list of conditions and the following disclaimer. 11*cdf63a70SMartin Matuska * 2. Redistributions in binary form must reproduce the above copyright 12*cdf63a70SMartin Matuska * notice, this list of conditions and the following disclaimer in the 13*cdf63a70SMartin Matuska * documentation and/or other materials provided with the distribution. 14*cdf63a70SMartin Matuska * 15*cdf63a70SMartin Matuska * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR 16*cdf63a70SMartin Matuska * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 17*cdf63a70SMartin Matuska * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 18*cdf63a70SMartin Matuska * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, 19*cdf63a70SMartin Matuska * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 20*cdf63a70SMartin Matuska * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21*cdf63a70SMartin Matuska * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22*cdf63a70SMartin Matuska * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23*cdf63a70SMartin Matuska * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24*cdf63a70SMartin Matuska * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25*cdf63a70SMartin Matuska */ 26*cdf63a70SMartin Matuska #include "test.h" 27*cdf63a70SMartin Matuska 28*cdf63a70SMartin Matuska DEFINE_TEST(test_compat_uudecode_large) 29*cdf63a70SMartin Matuska { 30*cdf63a70SMartin Matuska const char *refname = "test_compat_uudecode_large.tar.Z.uu"; 31*cdf63a70SMartin Matuska struct archive_entry *ae; 32*cdf63a70SMartin Matuska struct archive *a; 33*cdf63a70SMartin Matuska 34*cdf63a70SMartin Matuska copy_reference_file(refname); 35*cdf63a70SMartin Matuska assert((a = archive_read_new()) != NULL); 36*cdf63a70SMartin Matuska assertEqualIntA(a, ARCHIVE_OK, archive_read_support_filter_all(a)); 37*cdf63a70SMartin Matuska assertEqualIntA(a, ARCHIVE_OK, archive_read_support_format_all(a)); 38*cdf63a70SMartin Matuska assertEqualIntA(a, ARCHIVE_OK, 39*cdf63a70SMartin Matuska archive_read_open_filename(a, refname, 2)); 40*cdf63a70SMartin Matuska 41*cdf63a70SMartin Matuska assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae)); 42*cdf63a70SMartin Matuska assertEqualString("file1", archive_entry_pathname(ae)); 43*cdf63a70SMartin Matuska assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae)); 44*cdf63a70SMartin Matuska assertEqualString("file2", archive_entry_pathname(ae)); 45*cdf63a70SMartin Matuska assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae)); 46*cdf63a70SMartin Matuska assertEqualString("file3", archive_entry_pathname(ae)); 47*cdf63a70SMartin Matuska assertEqualInt(archive_filter_code(a, 0), ARCHIVE_FILTER_COMPRESS); 48*cdf63a70SMartin Matuska assertEqualInt(archive_filter_code(a, 1), ARCHIVE_FILTER_UU); 49*cdf63a70SMartin Matuska assertEqualInt(archive_format(a), ARCHIVE_FORMAT_TAR_USTAR); 50*cdf63a70SMartin Matuska assertEqualIntA(a, ARCHIVE_OK, archive_read_close(a)); 51*cdf63a70SMartin Matuska assertEqualInt(ARCHIVE_OK, archive_read_free(a)); 52*cdf63a70SMartin Matuska } 53*cdf63a70SMartin Matuska 54