xref: /freebsd/contrib/libarchive/tar/test/test_extract_tar_zstd.c (revision 5036d9652a5701d00e9e40ea942c278e9f77d33d)
1 /*-
2  * SPDX-License-Identifier: BSD-2-Clause
3  *
4  * Copyright (c) 2017 Sean Purcell
5  * All rights reserved.
6  */
7 #include "test.h"
8 
9 DEFINE_TEST(test_extract_tar_zstd)
10 {
11 	const char *reffile = "test_extract.tar.zst";
12 	int f;
13 
14 	extract_reference_file(reffile);
15 	f = systemf("%s -tf %s >test.out 2>test.err", testprog, reffile);
16 	if (f == 0 || canZstd()) {
17 		assertEqualInt(0, systemf("%s -xf %s >test.out 2>test.err",
18 		    testprog, reffile));
19 
20 		assertFileExists("file1");
21 		assertTextFileContents("contents of file1.\n", "file1");
22 		assertFileExists("file2");
23 		assertTextFileContents("contents of file2.\n", "file2");
24 		assertEmptyFile("test.out");
25 		assertEmptyFile("test.err");
26 	} else {
27 		skipping("It seems zstd is not supported on this platform");
28 	}
29 }
30