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_lzma) 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 lzma compression. */ 20 r = systemf("%s -cf - --lzma f >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, "Unsupported compression") != NULL) { 26 skipping("This version of bsdtar was compiled " 27 "without lzma support"); 28 free(p); 29 return; 30 } 31 failure("--lzma option is broken"); 32 assertEqualInt(r, 0); 33 goto done; 34 } 35 free(p); 36 /* Check that the archive file has an lzma signature. */ 37 p = slurpfile(&s, "archive.out"); 38 assert(s > 2); 39 assertEqualMem(p, "\x5d\00\00", 3); 40 done: 41 free(p); 42 } 43