Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/contrib/libarchive/unzip/test/test_d.c
106924 views
1
/*
2
* SPDX-License-Identifier: BSD-2-Clause
3
*
4
* Copyright (c) 2023 Adrian Vovk
5
* All rights reserved.
6
*/
7
#include "test.h"
8
9
/* Test d arg - extract to target dir - before zipfile argument */
10
DEFINE_TEST(test_d_before_zipfile)
11
{
12
#ifdef HAVE_LIBZ
13
const char *reffile = "test_basic.zip";
14
int r;
15
16
extract_reference_file(reffile);
17
r = systemf("%s -d foobar %s >test.out 2>test.err", testprog, reffile);
18
assertEqualInt(0, r);
19
assertNonEmptyFile("test.out");
20
assertEmptyFile("test.err");
21
22
assertTextFileContents("contents a\n", "foobar/test_basic/a");
23
assertTextFileContents("contents b\n", "foobar/test_basic/b");
24
assertTextFileContents("contents c\n", "foobar/test_basic/c");
25
assertTextFileContents("contents CAPS\n", "foobar/test_basic/CAPS");
26
#else
27
skipping("zlib not available");
28
#endif
29
}
30
31
/* Test d arg - extract to target dir - after zipfile argument */
32
DEFINE_TEST(test_d_after_zipfile)
33
{
34
#ifdef HAVE_LIBZ
35
const char *reffile = "test_basic.zip";
36
int r;
37
38
extract_reference_file(reffile);
39
r = systemf("%s %s -d foobar >test.out 2>test.err", testprog, reffile);
40
assertEqualInt(0, r);
41
assertNonEmptyFile("test.out");
42
assertEmptyFile("test.err");
43
44
assertTextFileContents("contents a\n", "foobar/test_basic/a");
45
assertTextFileContents("contents b\n", "foobar/test_basic/b");
46
assertTextFileContents("contents c\n", "foobar/test_basic/c");
47
assertTextFileContents("contents CAPS\n", "foobar/test_basic/CAPS");
48
#else
49
skipping("zlib not available");
50
#endif
51
}
52
53