1 /*-
2  * SPDX-License-Identifier: BSD-2-Clause
3  *
4  * Copyright (c) 2012 Michihiro NAKAJIMA
5  * All rights reserved.
6  */
7 #include "test.h"
8 
DEFINE_TEST(test_option_nodump)9 DEFINE_TEST(test_option_nodump)
10 {
11 
12           if (!canNodump()) {
13                     skipping("Can't test nodump on this filesystem");
14                     return;
15           }
16 
17           assertMakeFile("file1", 0644, "file1");
18           assertMakeFile("file2", 0644, "file2");
19           assertMakeFile("file3", 0644, "file3");
20           assertSetNodump("file2");
21 
22           /* Test 1: Without --nodump */
23           assertEqualInt(0, systemf("%s -cf test1.tar file1 file2 file3",
24               testprog));
25           assertMakeDir("test1", 0755);
26           assertChdir("test1");
27           assertEqualInt(0,
28               systemf("%s -xf ../test1.tar >test.out 2>test.err", testprog));
29           assertFileContents("file1", 5, "file1");
30           assertFileContents("file2", 5, "file2");
31           assertFileContents("file3", 5, "file3");
32           assertEmptyFile("test.out");
33           assertEmptyFile("test.err");
34           assertChdir("..");
35 
36           /* Test 2: With --nodump */
37           assertEqualInt(0, systemf("%s -cf test2.tar --nodump file1 file2 file3",
38               testprog));
39           assertMakeDir("test2", 0755);
40           assertChdir("test2");
41           assertEqualInt(0,
42               systemf("%s -xf ../test2.tar >test.out 2>test.err", testprog));
43           assertFileContents("file1", 5, "file1");
44           assertFileNotExists("file2");
45           assertFileContents("file3", 5, "file3");
46           assertEmptyFile("test.out");
47           assertEmptyFile("test.err");
48           assertChdir("..");
49 }
50