1e64fe029SMartin Matuska /* 2*bd66c1b4SMartin Matuska * SPDX-License-Identifier: BSD-2-Clause 3*bd66c1b4SMartin Matuska * 4e64fe029SMartin Matuska * Copyright (c) 2023 Adrian Vovk 5e64fe029SMartin Matuska * All rights reserved. 6e64fe029SMartin Matuska */ 7e64fe029SMartin Matuska #include "test.h" 8e64fe029SMartin Matuska 9058ab969SMartin Matuska /* Test d arg - extract to target dir - before zipfile argument */ 10058ab969SMartin Matuska DEFINE_TEST(test_d_before_zipfile) 11e64fe029SMartin Matuska { 12e64fe029SMartin Matuska const char *reffile = "test_basic.zip"; 13e64fe029SMartin Matuska int r; 14e64fe029SMartin Matuska 15e64fe029SMartin Matuska extract_reference_file(reffile); 16e64fe029SMartin Matuska r = systemf("%s -d foobar %s >test.out 2>test.err", testprog, reffile); 17e64fe029SMartin Matuska assertEqualInt(0, r); 18e64fe029SMartin Matuska assertNonEmptyFile("test.out"); 19e64fe029SMartin Matuska assertEmptyFile("test.err"); 20e64fe029SMartin Matuska 21e64fe029SMartin Matuska assertTextFileContents("contents a\n", "foobar/test_basic/a"); 22e64fe029SMartin Matuska assertTextFileContents("contents b\n", "foobar/test_basic/b"); 23e64fe029SMartin Matuska assertTextFileContents("contents c\n", "foobar/test_basic/c"); 24e64fe029SMartin Matuska assertTextFileContents("contents CAPS\n", "foobar/test_basic/CAPS"); 25e64fe029SMartin Matuska } 26058ab969SMartin Matuska 27058ab969SMartin Matuska /* Test d arg - extract to target dir - after zipfile argument */ 28058ab969SMartin Matuska DEFINE_TEST(test_d_after_zipfile) 29058ab969SMartin Matuska { 30058ab969SMartin Matuska const char *reffile = "test_basic.zip"; 31058ab969SMartin Matuska int r; 32058ab969SMartin Matuska 33058ab969SMartin Matuska extract_reference_file(reffile); 34058ab969SMartin Matuska r = systemf("%s %s -d foobar >test.out 2>test.err", testprog, reffile); 35058ab969SMartin Matuska assertEqualInt(0, r); 36058ab969SMartin Matuska assertNonEmptyFile("test.out"); 37058ab969SMartin Matuska assertEmptyFile("test.err"); 38058ab969SMartin Matuska 39058ab969SMartin Matuska assertTextFileContents("contents a\n", "foobar/test_basic/a"); 40058ab969SMartin Matuska assertTextFileContents("contents b\n", "foobar/test_basic/b"); 41058ab969SMartin Matuska assertTextFileContents("contents c\n", "foobar/test_basic/c"); 42058ab969SMartin Matuska assertTextFileContents("contents CAPS\n", "foobar/test_basic/CAPS"); 43058ab969SMartin Matuska } 44