Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F163401213
D51537.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
7 KB
Referenced Files
None
Subscribers
None
D51537.diff
View Options
diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc
--- a/ObsoleteFiles.inc
+++ b/ObsoleteFiles.inc
@@ -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
diff --git a/usr.bin/xargs/tests/Makefile b/usr.bin/xargs/tests/Makefile
--- a/usr.bin/xargs/tests/Makefile
+++ b/usr.bin/xargs/tests/Makefile
@@ -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.normal.out
${PACKAGE}FILES+= regress.quotes.in
${PACKAGE}FILES+= regress.quotes.out
-${PACKAGE}FILES+= regress.sh
.include <bsd.test.mk>
diff --git a/usr.bin/xargs/tests/legacy_test.sh b/usr.bin/xargs/tests/legacy_test.sh
deleted file mode 100644
--- a/usr.bin/xargs/tests/legacy_test.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-SRCDIR="$(dirname "${0}")"; export SRCDIR
-
-m4 "${SRCDIR}/../regress.m4" "${SRCDIR}/regress.sh" | sh
diff --git a/usr.bin/xargs/tests/regress.sh b/usr.bin/xargs/tests/regress.sh
deleted file mode 100644
--- a/usr.bin/xargs/tests/regress.sh
+++ /dev/null
@@ -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()
diff --git a/usr.bin/xargs/tests/xargs_test.sh b/usr.bin/xargs/tests/xargs_test.sh
new file mode 100755
--- /dev/null
+++ b/usr.bin/xargs/tests/xargs_test.sh
@@ -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
+}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, Jul 23, 9:25 PM (22 h, 3 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
35386364
Default Alt Text
D51537.diff (7 KB)
Attached To
Mode
D51537: xargs: Convert tests to ATF
Attached
Detach File
Event Timeline
Log In to Comment