mirror of
https://git.freebsd.org/src.git
synced 2026-01-11 19:57:22 +00:00
xargs: Convert tests to ATF
Also add license and copyright statement, with permission from the original author. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D51537
This commit is contained in:
parent
a7fa987abe
commit
b26f93a465
5 changed files with 197 additions and 40 deletions
|
|
@ -51,8 +51,10 @@
|
|||
# xargs -n1 | sort | uniq -d;
|
||||
# done
|
||||
|
||||
# 20250726: Test case renamed
|
||||
# 20250726: xargs tests rewritten
|
||||
OLD_FILES+=usr/tests/usr.bin/xargs/legacy_test
|
||||
OLD_FILES+=usr/tests/usr.bin/xargs/regress.n2147483647.out
|
||||
OLD_FILES+=usr/tests/usr.bin/xargs/regress.sh
|
||||
|
||||
# 20250726: This file is now installed in /etc/dma
|
||||
OLD_FILES+=usr/share/examples/dma/auth.conf
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
PACKAGE= tests
|
||||
|
||||
TAP_TESTS_SH= legacy_test
|
||||
ATF_TESTS_SH= xargs_test
|
||||
|
||||
${PACKAGE}FILES+= regress.0.in
|
||||
${PACKAGE}FILES+= regress.0.out
|
||||
|
|
@ -23,6 +23,5 @@ ${PACKAGE}FILES+= regress.n3.out
|
|||
${PACKAGE}FILES+= regress.normal.out
|
||||
${PACKAGE}FILES+= regress.quotes.in
|
||||
${PACKAGE}FILES+= regress.quotes.out
|
||||
${PACKAGE}FILES+= regress.sh
|
||||
|
||||
.include <bsd.test.mk>
|
||||
|
|
|
|||
|
|
@ -1,5 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
SRCDIR="$(dirname "${0}")"; export SRCDIR
|
||||
|
||||
m4 "${SRCDIR}/../regress.m4" "${SRCDIR}/regress.sh" | sh
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
|
||||
echo 1..23
|
||||
|
||||
REGRESSION_START($1)
|
||||
|
||||
REGRESSION_TEST(`normal', `xargs echo The <${SRCDIR}/regress.in')
|
||||
REGRESSION_TEST(`I', `xargs -I% echo The % % % %% % % <${SRCDIR}/regress.in')
|
||||
REGRESSION_TEST(`J', `xargs -J% echo The % again. <${SRCDIR}/regress.in')
|
||||
REGRESSION_TEST(`L', `xargs -L3 echo <${SRCDIR}/regress.in')
|
||||
REGRESSION_TEST(`P1', `xargs -P1 echo <${SRCDIR}/regress.in')
|
||||
REGRESSION_TEST(`R', `xargs -I% -R1 echo The % % % %% % % <${SRCDIR}/regress.in')
|
||||
REGRESSION_TEST(`R-1', `xargs -I% -R-1 echo The % % % %% % % <${SRCDIR}/regress.in')
|
||||
REGRESSION_TEST(`n1', `xargs -n1 echo <${SRCDIR}/regress.in')
|
||||
REGRESSION_TEST(`n2', `xargs -n2 echo <${SRCDIR}/regress.in')
|
||||
argmax=$(sysctl -n kern.argmax)
|
||||
REGRESSION_TEST(`nargmax', `xargs -n$argmax <${SRCDIR}/regress.in')
|
||||
REGRESSION_TEST(`n2P0',`xargs -n2 -P0 echo <${SRCDIR}/regress.in | sort')
|
||||
REGRESSION_TEST(`n3', `xargs -n3 echo <${SRCDIR}/regress.in')
|
||||
REGRESSION_TEST(`0', `xargs -0 -n1 echo <${SRCDIR}/regress.0.in')
|
||||
REGRESSION_TEST(`0I', `xargs -0 -I% echo The % %% % <${SRCDIR}/regress.0.in')
|
||||
REGRESSION_TEST(`0J', `xargs -0 -J% echo The % again. <${SRCDIR}/regress.0.in')
|
||||
REGRESSION_TEST(`0L', `xargs -0 -L2 echo <${SRCDIR}/regress.0.in')
|
||||
REGRESSION_TEST(`0P1', `xargs -0 -P1 echo <${SRCDIR}/regress.0.in')
|
||||
REGRESSION_TEST(`quotes', `xargs -n1 echo <${SRCDIR}/regress.quotes.in')
|
||||
|
||||
REGRESSION_TEST_FREEFORM(`parallel1', `echo /var/empty /var/empty | xargs -n1 -P2 test -d; [ $? = 0 ]')
|
||||
REGRESSION_TEST_FREEFORM(`parallel2', `echo /var/empty /var/empty/nodir | xargs -n1 -P2 test -d; [ $? = 1 ]')
|
||||
REGRESSION_TEST_FREEFORM(`parallel3', `echo /var/empty/nodir /var/empty | xargs -n1 -P2 test -d; [ $? = 1 ]')
|
||||
REGRESSION_TEST_FREEFORM(`parallel4', `echo /var/empty/nodir /var/empty/nodir | xargs -n1 -P2 test -d; [ $? = 1 ]')
|
||||
REGRESSION_TEST_FREEFORM(`ntoobig', `seq 42 | xargs -n$((argmax+1)); [ $? = 1 ]')
|
||||
|
||||
REGRESSION_END()
|
||||
193
usr.bin/xargs/tests/xargs_test.sh
Executable file
193
usr.bin/xargs/tests/xargs_test.sh
Executable file
|
|
@ -0,0 +1,193 @@
|
|||
#
|
||||
# Copyright (c) 2002 Juli Mallett <jmallett@FreeBSD.org>
|
||||
# Copyright (c) 2025 Dag-Erling Smørgrav <des@FreeBSD.org>
|
||||
#
|
||||
# SPDX-License-Identifier: BSD-2-Clause
|
||||
#
|
||||
|
||||
SRCDIR=$(atf_get_srcdir)
|
||||
|
||||
atf_test_case xargs_normal
|
||||
xargs_normal_body()
|
||||
{
|
||||
atf_check -o file:${SRCDIR}/regress.normal.out \
|
||||
xargs echo The <${SRCDIR}/regress.in
|
||||
}
|
||||
|
||||
atf_test_case xargs_I
|
||||
xargs_I_body()
|
||||
{
|
||||
atf_check -o file:${SRCDIR}/regress.I.out \
|
||||
xargs -I% echo The % % % %% % % <${SRCDIR}/regress.in
|
||||
}
|
||||
|
||||
atf_test_case xargs_J
|
||||
xargs_J_body()
|
||||
{
|
||||
atf_check -o file:${SRCDIR}/regress.J.out \
|
||||
xargs -J% echo The % again. <${SRCDIR}/regress.in
|
||||
}
|
||||
|
||||
atf_test_case xargs_L
|
||||
xargs_L_body()
|
||||
{
|
||||
atf_check -o file:${SRCDIR}/regress.L.out \
|
||||
xargs -L3 echo <${SRCDIR}/regress.in
|
||||
}
|
||||
|
||||
atf_test_case xargs_P1
|
||||
xargs_P1_body()
|
||||
{
|
||||
atf_check -o file:${SRCDIR}/regress.P1.out \
|
||||
xargs -P1 echo <${SRCDIR}/regress.in
|
||||
}
|
||||
|
||||
atf_test_case xargs_R
|
||||
xargs_R_body()
|
||||
{
|
||||
atf_check -o file:${SRCDIR}/regress.R.out \
|
||||
xargs -I% -R1 echo The % % % %% % % <${SRCDIR}/regress.in
|
||||
}
|
||||
|
||||
atf_test_case xargs_R_1
|
||||
xargs_R_1_body()
|
||||
{
|
||||
atf_check -o file:${SRCDIR}/regress.R-1.out \
|
||||
xargs -I% -R-1 echo The % % % %% % % <${SRCDIR}/regress.in
|
||||
}
|
||||
|
||||
atf_test_case xargs_n1
|
||||
xargs_n1_body()
|
||||
{
|
||||
atf_check -o file:${SRCDIR}/regress.n1.out \
|
||||
xargs -n1 echo <${SRCDIR}/regress.in
|
||||
}
|
||||
|
||||
atf_test_case xargs_n2
|
||||
xargs_n2_body()
|
||||
{
|
||||
atf_check -o file:${SRCDIR}/regress.n2.out \
|
||||
xargs -n2 echo <${SRCDIR}/regress.in
|
||||
}
|
||||
|
||||
atf_test_case xargs_nargmax
|
||||
xargs_nargmax_body()
|
||||
{
|
||||
argmax=$(sysctl -n kern.argmax)
|
||||
atf_check -o file:${SRCDIR}/regress.nargmax.out \
|
||||
xargs -n$((argmax)) <${SRCDIR}/regress.in
|
||||
atf_check -s exit:1 -e match:"too large" \
|
||||
xargs -n$((argmax+1)) <${SRCDIR}/regress.in
|
||||
}
|
||||
|
||||
atf_test_case xargs_n2P0
|
||||
xargs_n2P0_body()
|
||||
{
|
||||
atf_check -o save:regress.out \
|
||||
xargs -n2 -P0 echo <${SRCDIR}/regress.in
|
||||
atf_check -o file:${SRCDIR}/regress.n2P0.out \
|
||||
sort regress.out
|
||||
}
|
||||
|
||||
atf_test_case xargs_n3
|
||||
xargs_n3_body()
|
||||
{
|
||||
atf_check -o file:${SRCDIR}/regress.n3.out \
|
||||
xargs -n3 echo <${SRCDIR}/regress.in
|
||||
}
|
||||
|
||||
atf_test_case xargs_0
|
||||
xargs_0_body()
|
||||
{
|
||||
atf_check -o file:${SRCDIR}/regress.0.out \
|
||||
xargs -0 -n1 echo <${SRCDIR}/regress.0.in
|
||||
}
|
||||
|
||||
atf_test_case xargs_0I
|
||||
xargs_0I_body()
|
||||
{
|
||||
atf_check -o file:${SRCDIR}/regress.0I.out \
|
||||
xargs -0 -I% echo The % %% % <${SRCDIR}/regress.0.in
|
||||
}
|
||||
|
||||
atf_test_case xargs_0J
|
||||
xargs_0J_body()
|
||||
{
|
||||
atf_check -o file:${SRCDIR}/regress.0J.out \
|
||||
xargs -0 -J% echo The % again. <${SRCDIR}/regress.0.in
|
||||
}
|
||||
|
||||
atf_test_case xargs_0L
|
||||
xargs_0L_body()
|
||||
{
|
||||
atf_check -o file:${SRCDIR}/regress.0L.out \
|
||||
xargs -0 -L2 echo <${SRCDIR}/regress.0.in
|
||||
}
|
||||
|
||||
atf_test_case xargs_0P1
|
||||
xargs_0P1_body()
|
||||
{
|
||||
atf_check -o file:${SRCDIR}/regress.0P1.out \
|
||||
xargs -0 -P1 echo <${SRCDIR}/regress.0.in
|
||||
}
|
||||
|
||||
atf_test_case xargs_quotes
|
||||
xargs_quotes_body()
|
||||
{
|
||||
atf_check -o file:${SRCDIR}/regress.quotes.out \
|
||||
xargs -n1 echo <${SRCDIR}/regress.quotes.in
|
||||
}
|
||||
|
||||
atf_test_case xargs_parallel1
|
||||
xargs_parallel1_body()
|
||||
{
|
||||
echo /var/empty /var/empty >input
|
||||
atf_check xargs -n1 -P2 test -d <input
|
||||
}
|
||||
|
||||
atf_test_case xargs_parallel2
|
||||
xargs_parallel2_body()
|
||||
{
|
||||
echo /var/empty /var/empty/nodir >input
|
||||
atf_check -s exit:1 xargs -n1 -P2 test -d <input
|
||||
}
|
||||
|
||||
atf_test_case xargs_parallel3
|
||||
xargs_parallel3_body()
|
||||
{
|
||||
echo /var/empty/nodir /var/empty >input
|
||||
atf_check -s exit:1 xargs -n1 -P2 test -d <input
|
||||
}
|
||||
|
||||
atf_test_case xargs_parallel4
|
||||
xargs_parallel4_body()
|
||||
{
|
||||
echo /var/empty/nodir /var/empty/nodir >input
|
||||
atf_check -s exit:1 xargs -n1 -P2 test -d <input
|
||||
}
|
||||
|
||||
atf_init_test_cases()
|
||||
{
|
||||
atf_add_test_case xargs_normal
|
||||
atf_add_test_case xargs_I
|
||||
atf_add_test_case xargs_J
|
||||
atf_add_test_case xargs_L
|
||||
atf_add_test_case xargs_P1
|
||||
atf_add_test_case xargs_R
|
||||
atf_add_test_case xargs_R_1
|
||||
atf_add_test_case xargs_n1
|
||||
atf_add_test_case xargs_n2
|
||||
atf_add_test_case xargs_nargmax
|
||||
atf_add_test_case xargs_n2P0
|
||||
atf_add_test_case xargs_n3
|
||||
atf_add_test_case xargs_0
|
||||
atf_add_test_case xargs_0I
|
||||
atf_add_test_case xargs_0J
|
||||
atf_add_test_case xargs_0L
|
||||
atf_add_test_case xargs_0P1
|
||||
atf_add_test_case xargs_quotes
|
||||
atf_add_test_case xargs_parallel1
|
||||
atf_add_test_case xargs_parallel2
|
||||
atf_add_test_case xargs_parallel3
|
||||
atf_add_test_case xargs_parallel4
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue