xref: /freebsd/contrib/libarchive/tar/test/test_missing_file.c (revision bd66c1b43e33540205dbc1187c2f2a15c58b57ba)
1f061a221SMartin Matuska /*-
2*bd66c1b4SMartin Matuska  * SPDX-License-Identifier: BSD-2-Clause
3*bd66c1b4SMartin Matuska  *
4f061a221SMartin Matuska  * Copyright (c) 2016 Tim Kientzle
5f061a221SMartin Matuska  * All rights reserved.
6f061a221SMartin Matuska  */
7f061a221SMartin Matuska #include "test.h"
8f061a221SMartin Matuska 
DEFINE_TEST(test_missing_file)9f061a221SMartin Matuska DEFINE_TEST(test_missing_file)
10f061a221SMartin Matuska {
112a21e8bdSMartin Matuska 	const char * invalid_stderr[] = { "INTERNAL ERROR", NULL };
12f061a221SMartin Matuska 	assertMakeFile("file1", 0644, "file1");
13f061a221SMartin Matuska 	assertMakeFile("file2", 0644, "file2");
14f061a221SMartin Matuska 	assert(0 == systemf("%s -cf archive.tar file1 file2 2>stderr1", testprog));
15f061a221SMartin Matuska 	assertEmptyFile("stderr1");
16f061a221SMartin Matuska 	assert(0 != systemf("%s -cf archive.tar file1 file2 file3 2>stderr2", testprog));
172a21e8bdSMartin Matuska 	assertFileContainsNoInvalidStrings("stderr2", invalid_stderr);
18f061a221SMartin Matuska 	assert(0 != systemf("%s -cf archive.tar 2>stderr3", testprog));
192a21e8bdSMartin Matuska 	assertFileContainsNoInvalidStrings("stderr3", invalid_stderr);
202a21e8bdSMartin Matuska 	assert(0 != systemf("%s -cf archive.tar file3 file4 2>stderr4", testprog));
212a21e8bdSMartin Matuska 	assertFileContainsNoInvalidStrings("stderr4", invalid_stderr);
22f061a221SMartin Matuska }
23