1 /*- 2 * SPDX-License-Identifier: BSD-2-Clause 3 * 4 * Copyright (c) 2003-2007 Tim Kientzle 5 * Copyright (c) 2012 Michihiro NAKAJIMA 6 * All rights reserved. 7 */ 8 #include "test.h" 9 10 DEFINE_TEST(test_option_xz) 11 { 12 char *p; 13 int r; 14 size_t s; 15 16 /* Create a file. */ 17 assertMakeFile("f", 0644, "a"); 18 19 /* Archive it with xz compression. */ 20 r = systemf("echo f | %s -o --xz >archive.out 2>archive.err", 21 testprog); 22 p = slurpfile(&s, "archive.err"); 23 p[s] = '\0'; 24 if (r != 0) { 25 if (strstr(p, "compression not available") != NULL) { 26 skipping("This version of bsdcpio was compiled " 27 "without xz support"); 28 free(p); 29 return; 30 } 31 free(p); 32 failure("--xz option is broken"); 33 assertEqualInt(r, 0); 34 return; 35 } 36 free(p); 37 /* Check that the archive file has an xz signature. */ 38 p = slurpfile(&s, "archive.out"); 39 assert(s > 2); 40 assertEqualMem(p, "\xFD\x37\x7A\x58\x5A\x00", 6); 41 free(p); 42 } 43