Skip to content

Commit b26f93a

Browse files
committed
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
1 parent a7fa987 commit b26f93a

File tree

5 files changed

+197
-40
lines changed

5 files changed

+197
-40
lines changed

ObsoleteFiles.inc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,10 @@
5151
# xargs -n1 | sort | uniq -d;
5252
# done
5353

54-
# 20250726: Test case renamed
54+
# 20250726: xargs tests rewritten
55+
OLD_FILES+=usr/tests/usr.bin/xargs/legacy_test
5556
OLD_FILES+=usr/tests/usr.bin/xargs/regress.n2147483647.out
57+
OLD_FILES+=usr/tests/usr.bin/xargs/regress.sh
5658

5759
# 20250726: This file is now installed in /etc/dma
5860
OLD_FILES+=usr/share/examples/dma/auth.conf

usr.bin/xargs/tests/Makefile

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
PACKAGE= tests
22

3-
TAP_TESTS_SH= legacy_test
3+
ATF_TESTS_SH= xargs_test
44

55
${PACKAGE}FILES+= regress.0.in
66
${PACKAGE}FILES+= regress.0.out
@@ -23,6 +23,5 @@ ${PACKAGE}FILES+= regress.n3.out
2323
${PACKAGE}FILES+= regress.normal.out
2424
${PACKAGE}FILES+= regress.quotes.in
2525
${PACKAGE}FILES+= regress.quotes.out
26-
${PACKAGE}FILES+= regress.sh
2726

2827
.include <bsd.test.mk>

usr.bin/xargs/tests/legacy_test.sh

Lines changed: 0 additions & 5 deletions
This file was deleted.

usr.bin/xargs/tests/regress.sh

Lines changed: 0 additions & 32 deletions
This file was deleted.

usr.bin/xargs/tests/xargs_test.sh

Lines changed: 193 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,193 @@
1+
#
2+
# Copyright (c) 2002 Juli Mallett <[email protected]>
3+
# Copyright (c) 2025 Dag-Erling Smørgrav <[email protected]>
4+
#
5+
# SPDX-License-Identifier: BSD-2-Clause
6+
#
7+
8+
SRCDIR=$(atf_get_srcdir)
9+
10+
atf_test_case xargs_normal
11+
xargs_normal_body()
12+
{
13+
atf_check -o file:${SRCDIR}/regress.normal.out \
14+
xargs echo The <${SRCDIR}/regress.in
15+
}
16+
17+
atf_test_case xargs_I
18+
xargs_I_body()
19+
{
20+
atf_check -o file:${SRCDIR}/regress.I.out \
21+
xargs -I% echo The % % % %% % % <${SRCDIR}/regress.in
22+
}
23+
24+
atf_test_case xargs_J
25+
xargs_J_body()
26+
{
27+
atf_check -o file:${SRCDIR}/regress.J.out \
28+
xargs -J% echo The % again. <${SRCDIR}/regress.in
29+
}
30+
31+
atf_test_case xargs_L
32+
xargs_L_body()
33+
{
34+
atf_check -o file:${SRCDIR}/regress.L.out \
35+
xargs -L3 echo <${SRCDIR}/regress.in
36+
}
37+
38+
atf_test_case xargs_P1
39+
xargs_P1_body()
40+
{
41+
atf_check -o file:${SRCDIR}/regress.P1.out \
42+
xargs -P1 echo <${SRCDIR}/regress.in
43+
}
44+
45+
atf_test_case xargs_R
46+
xargs_R_body()
47+
{
48+
atf_check -o file:${SRCDIR}/regress.R.out \
49+
xargs -I% -R1 echo The % % % %% % % <${SRCDIR}/regress.in
50+
}
51+
52+
atf_test_case xargs_R_1
53+
xargs_R_1_body()
54+
{
55+
atf_check -o file:${SRCDIR}/regress.R-1.out \
56+
xargs -I% -R-1 echo The % % % %% % % <${SRCDIR}/regress.in
57+
}
58+
59+
atf_test_case xargs_n1
60+
xargs_n1_body()
61+
{
62+
atf_check -o file:${SRCDIR}/regress.n1.out \
63+
xargs -n1 echo <${SRCDIR}/regress.in
64+
}
65+
66+
atf_test_case xargs_n2
67+
xargs_n2_body()
68+
{
69+
atf_check -o file:${SRCDIR}/regress.n2.out \
70+
xargs -n2 echo <${SRCDIR}/regress.in
71+
}
72+
73+
atf_test_case xargs_nargmax
74+
xargs_nargmax_body()
75+
{
76+
argmax=$(sysctl -n kern.argmax)
77+
atf_check -o file:${SRCDIR}/regress.nargmax.out \
78+
xargs -n$((argmax)) <${SRCDIR}/regress.in
79+
atf_check -s exit:1 -e match:"too large" \
80+
xargs -n$((argmax+1)) <${SRCDIR}/regress.in
81+
}
82+
83+
atf_test_case xargs_n2P0
84+
xargs_n2P0_body()
85+
{
86+
atf_check -o save:regress.out \
87+
xargs -n2 -P0 echo <${SRCDIR}/regress.in
88+
atf_check -o file:${SRCDIR}/regress.n2P0.out \
89+
sort regress.out
90+
}
91+
92+
atf_test_case xargs_n3
93+
xargs_n3_body()
94+
{
95+
atf_check -o file:${SRCDIR}/regress.n3.out \
96+
xargs -n3 echo <${SRCDIR}/regress.in
97+
}
98+
99+
atf_test_case xargs_0
100+
xargs_0_body()
101+
{
102+
atf_check -o file:${SRCDIR}/regress.0.out \
103+
xargs -0 -n1 echo <${SRCDIR}/regress.0.in
104+
}
105+
106+
atf_test_case xargs_0I
107+
xargs_0I_body()
108+
{
109+
atf_check -o file:${SRCDIR}/regress.0I.out \
110+
xargs -0 -I% echo The % %% % <${SRCDIR}/regress.0.in
111+
}
112+
113+
atf_test_case xargs_0J
114+
xargs_0J_body()
115+
{
116+
atf_check -o file:${SRCDIR}/regress.0J.out \
117+
xargs -0 -J% echo The % again. <${SRCDIR}/regress.0.in
118+
}
119+
120+
atf_test_case xargs_0L
121+
xargs_0L_body()
122+
{
123+
atf_check -o file:${SRCDIR}/regress.0L.out \
124+
xargs -0 -L2 echo <${SRCDIR}/regress.0.in
125+
}
126+
127+
atf_test_case xargs_0P1
128+
xargs_0P1_body()
129+
{
130+
atf_check -o file:${SRCDIR}/regress.0P1.out \
131+
xargs -0 -P1 echo <${SRCDIR}/regress.0.in
132+
}
133+
134+
atf_test_case xargs_quotes
135+
xargs_quotes_body()
136+
{
137+
atf_check -o file:${SRCDIR}/regress.quotes.out \
138+
xargs -n1 echo <${SRCDIR}/regress.quotes.in
139+
}
140+
141+
atf_test_case xargs_parallel1
142+
xargs_parallel1_body()
143+
{
144+
echo /var/empty /var/empty >input
145+
atf_check xargs -n1 -P2 test -d <input
146+
}
147+
148+
atf_test_case xargs_parallel2
149+
xargs_parallel2_body()
150+
{
151+
echo /var/empty /var/empty/nodir >input
152+
atf_check -s exit:1 xargs -n1 -P2 test -d <input
153+
}
154+
155+
atf_test_case xargs_parallel3
156+
xargs_parallel3_body()
157+
{
158+
echo /var/empty/nodir /var/empty >input
159+
atf_check -s exit:1 xargs -n1 -P2 test -d <input
160+
}
161+
162+
atf_test_case xargs_parallel4
163+
xargs_parallel4_body()
164+
{
165+
echo /var/empty/nodir /var/empty/nodir >input
166+
atf_check -s exit:1 xargs -n1 -P2 test -d <input
167+
}
168+
169+
atf_init_test_cases()
170+
{
171+
atf_add_test_case xargs_normal
172+
atf_add_test_case xargs_I
173+
atf_add_test_case xargs_J
174+
atf_add_test_case xargs_L
175+
atf_add_test_case xargs_P1
176+
atf_add_test_case xargs_R
177+
atf_add_test_case xargs_R_1
178+
atf_add_test_case xargs_n1
179+
atf_add_test_case xargs_n2
180+
atf_add_test_case xargs_nargmax
181+
atf_add_test_case xargs_n2P0
182+
atf_add_test_case xargs_n3
183+
atf_add_test_case xargs_0
184+
atf_add_test_case xargs_0I
185+
atf_add_test_case xargs_0J
186+
atf_add_test_case xargs_0L
187+
atf_add_test_case xargs_0P1
188+
atf_add_test_case xargs_quotes
189+
atf_add_test_case xargs_parallel1
190+
atf_add_test_case xargs_parallel2
191+
atf_add_test_case xargs_parallel3
192+
atf_add_test_case xargs_parallel4
193+
}

0 commit comments

Comments
 (0)