/usr.bin/cpio/test/test_option_J_upper.c

https://bitbucket.org/freebsd/freebsd-head/ · C · 56 lines · 26 code · 3 blank · 27 comment · 4 complexity · b85ae90ad3085677d8d07d6d4dba0529 MD5 · raw file

  1. /*-
  2. * Copyright (c) 2003-2009 Tim Kientzle
  3. * All rights reserved.
  4. *
  5. * Redistribution and use in source and binary forms, with or without
  6. * modification, are permitted provided that the following conditions
  7. * are met:
  8. * 1. Redistributions of source code must retain the above copyright
  9. * notice, this list of conditions and the following disclaimer.
  10. * 2. Redistributions in binary form must reproduce the above copyright
  11. * notice, this list of conditions and the following disclaimer in the
  12. * documentation and/or other materials provided with the distribution.
  13. *
  14. * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
  15. * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  16. * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  17. * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
  18. * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  19. * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  20. * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  21. * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  22. * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  23. * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  24. */
  25. #include "test.h"
  26. __FBSDID("$FreeBSD$");
  27. DEFINE_TEST(test_option_J_upper)
  28. {
  29. char *p;
  30. int r;
  31. size_t s;
  32. /* Create a file. */
  33. assertMakeFile("f", 0644, "a");
  34. /* Archive it with xz compression. */
  35. r = systemf("echo f | %s -o -J >archive.out 2>archive.err",
  36. testprog);
  37. p = slurpfile(&s, "archive.err");
  38. p[s] = '\0';
  39. if (r != 0) {
  40. if (strstr(p, "compression not available") != NULL) {
  41. skipping("This version of bsdcpio was compiled "
  42. "without xz support");
  43. return;
  44. }
  45. failure("-J option is broken");
  46. assertEqualInt(r, 0);
  47. return;
  48. }
  49. /* Check that the archive file has an xz signature. */
  50. p = slurpfile(&s, "archive.out");
  51. assert(s > 2);
  52. assertEqualMem(p, "\3757zXZ", 5);
  53. }