1*185becb1SMartin Matuska /* 2*185becb1SMartin Matuska * SPDX-License-Identifier: BSD-2-Clause 3*185becb1SMartin Matuska * 4*185becb1SMartin Matuska * Copyright (c) 2026 Tobias Stoeckmann 5*185becb1SMartin Matuska * All rights reserved. 6*185becb1SMartin Matuska */ 7*185becb1SMartin Matuska #include "test.h" 8*185becb1SMartin Matuska 9*185becb1SMartin Matuska /* Test u arg - don't overwrite newer files */ DEFINE_TEST(test_u)10*185becb1SMartin MatuskaDEFINE_TEST(test_u) 11*185becb1SMartin Matuska { 12*185becb1SMartin Matuska const char *reffile1 = "test_u_new.zip"; 13*185becb1SMartin Matuska const char *reffile2 = "test_u_old.zip"; 14*185becb1SMartin Matuska int r; 15*185becb1SMartin Matuska 16*185becb1SMartin Matuska extract_reference_file(reffile1); 17*185becb1SMartin Matuska extract_reference_file(reffile2); 18*185becb1SMartin Matuska 19*185becb1SMartin Matuska /* First run with -u should create file */ 20*185becb1SMartin Matuska r = systemf("%s -u %s >test.out 2>test.err", testprog, reffile1); 21*185becb1SMartin Matuska assertEqualInt(0, r); 22*185becb1SMartin Matuska assertNonEmptyFile("test.out"); 23*185becb1SMartin Matuska assertEmptyFile("test.err"); 24*185becb1SMartin Matuska assertTextFileContents("world\n", "test.txt"); 25*185becb1SMartin Matuska 26*185becb1SMartin Matuska /* Second run with -u should not overwrite newer file */ 27*185becb1SMartin Matuska r = systemf("%s -u %s >test.out 2>test.err", testprog, reffile2); 28*185becb1SMartin Matuska assertEqualInt(0, r); 29*185becb1SMartin Matuska assertNonEmptyFile("test.out"); 30*185becb1SMartin Matuska assertEmptyFile("test.err"); 31*185becb1SMartin Matuska assertTextFileContents("world\n", "test.txt"); 32*185becb1SMartin Matuska } 33