1# 2# Copyright (c) 2002 Juli Mallett <jmallett@FreeBSD.org> 3# Copyright (c) 2025 Dag-Erling Smørgrav <des@FreeBSD.org> 4# 5# SPDX-License-Identifier: BSD-2-Clause 6# 7 8SRCDIR=$(atf_get_srcdir) 9 10atf_test_case xargs_normal 11xargs_normal_body() 12{ 13 atf_check -o file:${SRCDIR}/regress.normal.out \ 14 xargs echo The <${SRCDIR}/regress.in 15} 16 17atf_test_case xargs_I 18xargs_I_body() 19{ 20 atf_check -o file:${SRCDIR}/regress.I.out \ 21 xargs -I% echo The % % % %% % % <${SRCDIR}/regress.in 22} 23 24atf_test_case xargs_J 25xargs_J_body() 26{ 27 atf_check -o file:${SRCDIR}/regress.J.out \ 28 xargs -J% echo The % again. <${SRCDIR}/regress.in 29} 30 31atf_test_case xargs_L 32xargs_L_body() 33{ 34 atf_check -o file:${SRCDIR}/regress.L.out \ 35 xargs -L3 echo <${SRCDIR}/regress.in 36} 37 38atf_test_case xargs_P1 39xargs_P1_body() 40{ 41 atf_check -o file:${SRCDIR}/regress.P1.out \ 42 xargs -P1 echo <${SRCDIR}/regress.in 43} 44 45atf_test_case xargs_R 46xargs_R_body() 47{ 48 atf_check -o file:${SRCDIR}/regress.R.out \ 49 xargs -I% -R1 echo The % % % %% % % <${SRCDIR}/regress.in 50} 51 52atf_test_case xargs_R_1 53xargs_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 59atf_test_case xargs_n1 60xargs_n1_body() 61{ 62 atf_check -o file:${SRCDIR}/regress.n1.out \ 63 xargs -n1 echo <${SRCDIR}/regress.in 64} 65 66atf_test_case xargs_n2 67xargs_n2_body() 68{ 69 atf_check -o file:${SRCDIR}/regress.n2.out \ 70 xargs -n2 echo <${SRCDIR}/regress.in 71} 72 73atf_test_case xargs_nargmax 74xargs_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 83atf_test_case xargs_n2P0 84xargs_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 92atf_test_case xargs_n3 93xargs_n3_body() 94{ 95 atf_check -o file:${SRCDIR}/regress.n3.out \ 96 xargs -n3 echo <${SRCDIR}/regress.in 97} 98 99atf_test_case xargs_0 100xargs_0_body() 101{ 102 atf_check -o file:${SRCDIR}/regress.0.out \ 103 xargs -0 -n1 echo <${SRCDIR}/regress.0.in 104} 105 106atf_test_case xargs_0I 107xargs_0I_body() 108{ 109 atf_check -o file:${SRCDIR}/regress.0I.out \ 110 xargs -0 -I% echo The % %% % <${SRCDIR}/regress.0.in 111} 112 113atf_test_case xargs_0J 114xargs_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 120atf_test_case xargs_0L 121xargs_0L_body() 122{ 123 atf_check -o file:${SRCDIR}/regress.0L.out \ 124 xargs -0 -L2 echo <${SRCDIR}/regress.0.in 125} 126 127atf_test_case xargs_0P1 128xargs_0P1_body() 129{ 130 atf_check -o file:${SRCDIR}/regress.0P1.out \ 131 xargs -0 -P1 echo <${SRCDIR}/regress.0.in 132} 133 134atf_test_case xargs_quotes 135xargs_quotes_body() 136{ 137 atf_check -o file:${SRCDIR}/regress.quotes.out \ 138 xargs -n1 echo <${SRCDIR}/regress.quotes.in 139} 140 141atf_test_case xargs_parallel1 142xargs_parallel1_body() 143{ 144 echo /var/empty /var/empty >input 145 atf_check xargs -n1 -P2 test -d <input 146} 147 148atf_test_case xargs_parallel2 149xargs_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 155atf_test_case xargs_parallel3 156xargs_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 162atf_test_case xargs_parallel4 163xargs_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 169atf_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} 194