diff options
| author | Martin Matuska <mm@FreeBSD.org> | 2016-05-12 10:16:16 +0000 |
|---|---|---|
| committer | Martin Matuska <mm@FreeBSD.org> | 2016-05-12 10:16:16 +0000 |
| commit | cdf63a700c77204252e3c2e38d7106965559f3c6 (patch) | |
| tree | b8221b5b091ffc72b700d5da57daaa86ae023d82 /usr.bin | |
| parent | 15c98ff2f1159f39e6c8fc585893734e4f74aa81 (diff) | |
| parent | 4e579f6c9425c995106fbf72667f4ec7e5d5db85 (diff) | |
Notes
Diffstat (limited to 'usr.bin')
| -rw-r--r-- | usr.bin/Makefile | 1 | ||||
| -rw-r--r-- | usr.bin/bsdcat/Makefile | 31 | ||||
| -rw-r--r-- | usr.bin/bsdcat/tests/Makefile | 68 | ||||
| -rwxr-xr-x | usr.bin/bsdcat/tests/functional_test.sh | 56 | ||||
| -rw-r--r-- | usr.bin/cpio/Makefile | 4 | ||||
| -rw-r--r-- | usr.bin/cpio/tests/Makefile | 5 | ||||
| -rw-r--r-- | usr.bin/tar/Makefile | 5 | ||||
| -rw-r--r-- | usr.bin/tar/tests/Makefile | 7 |
8 files changed, 173 insertions, 4 deletions
diff --git a/usr.bin/Makefile b/usr.bin/Makefile index 3918f0f0419f..9d29b4f0602d 100644 --- a/usr.bin/Makefile +++ b/usr.bin/Makefile @@ -16,6 +16,7 @@ SUBDIR= alias \ banner \ basename \ brandelf \ + bsdcat \ bsdiff \ bzip2 \ bzip2recover \ diff --git a/usr.bin/bsdcat/Makefile b/usr.bin/bsdcat/Makefile new file mode 100644 index 000000000000..ce435b62d263 --- /dev/null +++ b/usr.bin/bsdcat/Makefile @@ -0,0 +1,31 @@ +# $FreeBSD$ + +.include <src.opts.mk> + +_LIBARCHIVEDIR= ${.CURDIR}/../../contrib/libarchive +_LIBARCHIVECONFDIR= ${.CURDIR}/../../lib/libarchive + +PROG= bsdcat +BSDCAT_VERSION_STRING= 3.2.0 + +.PATH: ${_LIBARCHIVEDIR}/cat +SRCS= bsdcat.c cmdline.c + +.PATH: ${_LIBARCHIVEDIR}/libarchive_fe +SRCS+= err.c + +CFLAGS+= -DBSDCAT_VERSION_STRING=\"${BSDCAT_VERSION_STRING}\" +CFLAGS+= -DPLATFORM_CONFIG_H=\"${_LIBARCHIVECONFDIR}/config_freebsd.h\" +CFLAGS+= -I${_LIBARCHIVEDIR}/cat -I${_LIBARCHIVEDIR}/libarchive_fe + +LIBADD= archive + +.if ${MK_ICONV} != "no" +CFLAGS+= -DHAVE_ICONV=1 -DHAVE_ICONV_H=1 -DICONV_CONST=const +.endif + +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif + +.include <bsd.prog.mk> diff --git a/usr.bin/bsdcat/tests/Makefile b/usr.bin/bsdcat/tests/Makefile new file mode 100644 index 000000000000..1fbaa9b0b854 --- /dev/null +++ b/usr.bin/bsdcat/tests/Makefile @@ -0,0 +1,68 @@ +# $FreeBSD$ + +PACKAGE= tests + +_LIBARCHIVEDIR= ${SRCTOP}/contrib/libarchive + +ATF_TESTS_SH+= functional_test + +BINDIR= ${TESTSDIR} + +PROGS+= bsdcat_test + +CFLAGS+= -DPLATFORM_CONFIG_H=\"${SRCTOP}/lib/libarchive/config_freebsd.h\" +CFLAGS+= -I${SRCTOP}/lib/libarchive -I${.OBJDIR} + +CFLAGS+= -I${.OBJDIR} +CFLAGS+= -I${_LIBARCHIVEDIR}/cat -I${_LIBARCHIVEDIR}/libarchive_fe +CFLAGS+= -I${_LIBARCHIVEDIR}/test_utils + +# Uncomment to link against dmalloc +#LDADD+= -L/usr/local/lib -ldmalloc +#CFLAGS+= -I/usr/local/include -DUSE_DMALLOC + +.PATH: ${_LIBARCHIVEDIR}/cat/test +TESTS_SRCS= \ + test_0.c \ + test_empty_gz.c \ + test_empty_lz4.c \ + test_empty_xz.c \ + test_error.c \ + test_error_mixed.c \ + test_expand_Z.c \ + test_expand_bz2.c \ + test_expand_gz.c \ + test_expand_lz4.c \ + test_expand_mixed.c \ + test_expand_plain.c \ + test_expand_xz.c \ + test_help.c \ + test_version.c + +SRCS.bsdcat_test= list.h \ + ${TESTS_SRCS} \ + main.c + +.PATH: ${_LIBARCHIVEDIR}/test_utils +SRCS.bsdcat_test+= test_utils.c + +LIBADD.bsdcat_test= archive + +list.h: ${TESTS_SRCS} Makefile + @(cd ${_LIBARCHIVEDIR}/tar/test && \ + grep -h DEFINE_TEST ${.ALLSRC:N*Makefile}) > ${.TARGET}.tmp + @mv ${.TARGET}.tmp ${.TARGET} + +CLEANFILES+= list.h list.h.tmp + +${PACKAGE}FILES+= test_empty.gz.uu +${PACKAGE}FILES+= test_empty.lz4.uu +${PACKAGE}FILES+= test_empty.xz.uu +${PACKAGE}FILES+= test_expand.Z.uu +${PACKAGE}FILES+= test_expand.bz2.uu +${PACKAGE}FILES+= test_expand.gz.uu +${PACKAGE}FILES+= test_expand.lz4.uu +${PACKAGE}FILES+= test_expand.plain.uu +${PACKAGE}FILES+= test_expand.xz.uu + +.include <bsd.test.mk> diff --git a/usr.bin/bsdcat/tests/functional_test.sh b/usr.bin/bsdcat/tests/functional_test.sh new file mode 100755 index 000000000000..ae5307d07089 --- /dev/null +++ b/usr.bin/bsdcat/tests/functional_test.sh @@ -0,0 +1,56 @@ +# +# Copyright 2015 EMC Corp. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# $FreeBSD$ + +SRCDIR=$(atf_get_srcdir) +TESTER="${SRCDIR}/bsdcat_test" +export BSDCAT=$(which bsdcat) + +check() +{ + local testcase=${1}; shift + + # For some odd reason /bin/sh spuriously writes + # "write error on stdout" with some of the testcases + # + # Probably an issue with how they're written as it calls system(3) to + # clean up directories.. + atf_check -e ignore -o ignore -s exit:0 ${TESTER} -d -r "${SRCDIR}" -v "${testcase}" +} + +atf_init_test_cases() +{ + # Redirect stderr to stdout for the usage message because if you don't + # kyua list/kyua test will break: + # https://github.com/jmmv/kyua/issues/149 + testcases=$(${TESTER} -h 2>&1 | awk 'p != 0 && $1 ~ /^[0-9]+:/ { print $NF } /Available tests:/ { p=1 }') + for testcase in ${testcases}; do + atf_test_case ${testcase} + eval "${testcase}_body() { check ${testcase}; }" + atf_add_test_case ${testcase} + done +} diff --git a/usr.bin/cpio/Makefile b/usr.bin/cpio/Makefile index a0578226be1c..539f44eac2b9 100644 --- a/usr.bin/cpio/Makefile +++ b/usr.bin/cpio/Makefile @@ -6,13 +6,13 @@ _LIBARCHIVEDIR= ${.CURDIR}/../../contrib/libarchive _LIBARCHIVECONFDIR= ${.CURDIR}/../../lib/libarchive PROG= bsdcpio -BSDCPIO_VERSION_STRING= 3.1.2 +BSDCPIO_VERSION_STRING= 3.2.0 .PATH: ${_LIBARCHIVEDIR}/cpio SRCS= cpio.c cmdline.c .PATH: ${_LIBARCHIVEDIR}/libarchive_fe -SRCS+= err.c line_reader.c +SRCS+= err.c line_reader.c passphrase.c CFLAGS+= -DBSDCPIO_VERSION_STRING=\"${BSDCPIO_VERSION_STRING}\" CFLAGS+= -DPLATFORM_CONFIG_H=\"${_LIBARCHIVECONFDIR}/config_freebsd.h\" diff --git a/usr.bin/cpio/tests/Makefile b/usr.bin/cpio/tests/Makefile index a2a3c11dec61..2a23f17a17ed 100644 --- a/usr.bin/cpio/tests/Makefile +++ b/usr.bin/cpio/tests/Makefile @@ -38,6 +38,7 @@ TESTS_SRCS= \ test_extract_cpio_gz.c \ test_extract_cpio_lrz.c \ test_extract_cpio_lz.c \ + test_extract_cpio_lz4.c \ test_extract_cpio_lzma.c \ test_extract_cpio_lzo.c \ test_extract_cpio_xz.c \ @@ -58,9 +59,11 @@ TESTS_SRCS= \ test_option_help.c \ test_option_l.c \ test_option_lrzip.c \ + test_option_lz4.c \ test_option_lzma.c \ test_option_lzop.c \ test_option_m.c \ + test_option_passphrase.c \ test_option_t.c \ test_option_u.c \ test_option_uuencode.c \ @@ -95,6 +98,7 @@ ${PACKAGE}FILES+= test_extract.cpio.grz.uu ${PACKAGE}FILES+= test_extract.cpio.gz.uu ${PACKAGE}FILES+= test_extract.cpio.lrz.uu ${PACKAGE}FILES+= test_extract.cpio.lz.uu +${PACKAGE}FILES+= test_extract.cpio.lz4.uu ${PACKAGE}FILES+= test_extract.cpio.lzma.uu ${PACKAGE}FILES+= test_extract.cpio.lzo.uu ${PACKAGE}FILES+= test_extract.cpio.xz.uu @@ -108,6 +112,7 @@ ${PACKAGE}FILES+= test_gcpio_compat_ref_nosym.newc.uu ${PACKAGE}FILES+= test_gcpio_compat_ref_nosym.ustar.uu ${PACKAGE}FILES+= test_option_f.cpio.uu ${PACKAGE}FILES+= test_option_m.cpio.uu +${PACKAGE}FILES+= test_option_passphrase.zip.uu ${PACKAGE}FILES+= test_option_t.cpio.uu ${PACKAGE}FILES+= test_option_t.stdout.uu ${PACKAGE}FILES+= test_option_tv.stdout.uu diff --git a/usr.bin/tar/Makefile b/usr.bin/tar/Makefile index 8ac2005caa03..1ee7bc5ea75b 100644 --- a/usr.bin/tar/Makefile +++ b/usr.bin/tar/Makefile @@ -4,7 +4,7 @@ _LIBARCHIVEDIR= ${.CURDIR}/../../contrib/libarchive PROG= bsdtar -BSDTAR_VERSION_STRING= 3.1.2 +BSDTAR_VERSION_STRING= 3.2.0 .PATH: ${_LIBARCHIVEDIR}/tar SRCS= bsdtar.c \ @@ -17,7 +17,8 @@ SRCS= bsdtar.c \ .PATH: ${_LIBARCHIVEDIR}/libarchive_fe SRCS+= err.c \ - line_reader.c + line_reader.c \ + passphrase.c LIBADD= archive diff --git a/usr.bin/tar/tests/Makefile b/usr.bin/tar/tests/Makefile index 588aa4d75d51..58c11cfe12e3 100644 --- a/usr.bin/tar/tests/Makefile +++ b/usr.bin/tar/tests/Makefile @@ -30,11 +30,13 @@ TESTS_SRCS= \ test_extract_tar_gz.c \ test_extract_tar_lrz.c \ test_extract_tar_lz.c \ + test_extract_tar_lz4.c \ test_extract_tar_lzma.c \ test_extract_tar_lzo.c \ test_extract_tar_xz.c \ test_format_newc.c \ test_help.c \ + test_leading_slash.c \ test_option_C_upper.c \ test_option_H_upper.c \ test_option_L_upper.c \ @@ -52,12 +54,14 @@ TESTS_SRCS= \ test_option_k.c \ test_option_keep_newer_files.c \ test_option_lrzip.c \ + test_option_lz4.c \ test_option_lzma.c \ test_option_lzop.c \ test_option_n.c \ test_option_newer_than.c \ test_option_nodump.c \ test_option_older_than.c \ + test_option_passphrase.c \ test_option_q.c \ test_option_r.c \ test_option_s.c \ @@ -95,10 +99,13 @@ ${PACKAGE}FILES+= test_extract.tar.grz.uu ${PACKAGE}FILES+= test_extract.tar.gz.uu ${PACKAGE}FILES+= test_extract.tar.lrz.uu ${PACKAGE}FILES+= test_extract.tar.lz.uu +${PACKAGE}FILES+= test_extract.tar.lz4.uu ${PACKAGE}FILES+= test_extract.tar.lzma.uu ${PACKAGE}FILES+= test_extract.tar.lzo.uu ${PACKAGE}FILES+= test_extract.tar.xz.uu +${PACKAGE}FILES+= test_leading_slash.tar.uu ${PACKAGE}FILES+= test_option_keep_newer_files.tar.Z.uu +${PACKAGE}FILES+= test_option_passphrase.zip.uu ${PACKAGE}FILES+= test_option_s.tar.Z.uu ${PACKAGE}FILES+= test_patterns_2.tar.uu ${PACKAGE}FILES+= test_patterns_3.tar.uu |
