1# tests for the xargs utility
2
3TEST 01 'basics'
4	EXEC echo test
5		INPUT -
6		OUTPUT - $'test'
7	EXEC echo test
8		INPUT - $'first\nlast'
9		OUTPUT - $'test first last'
10
11TEST 02 'arg replacement'
12	EXEC -i echo test {}
13		INPUT - $'first\nlast'
14		OUTPUT - $'test first\ntest last'
15	EXEC -i{} echo test {}
16	EXEC -iARG echo test ARG
17	EXEC -i echo { {} }
18		OUTPUT - $'{ first }\n{ last }'
19	EXEC -i{} echo { {} }
20	EXEC -iARG echo { ARG }
21	EXEC -i echo {{}}
22		OUTPUT - $'{first}\n{last}'
23	EXEC -i echo A{}Z
24		OUTPUT - $'AfirstZ\nAlastZ'
25	EXEC -IARG echo AARGZ
26		OUTPUT - $'AfirstZ\nAlastZ'
27	EXEC -I ARG echo AARGZ
28		OUTPUT - $'AfirstZ\nAlastZ'
29	EXEC -i echo test {}
30		INPUT - $'aaa\tbbb\nyyy zzz'
31		OUTPUT - $'test aaa\tbbb\ntest yyy zzz'
32
33TEST 03 'arg limit'
34	EXEC -n2 echo
35		INPUT - $'1\n2\n3\n4'
36		OUTPUT - $'1 2\n3 4'
37	EXEC -n 2 echo
38	EXEC -n2 echo
39		INPUT - $'1\n2\n3\n4\n5'
40		OUTPUT - $'1 2\n3 4\n5'
41
42#TBD#TEST 04 'size limit'
43#TBD#	EXEC
44#TBD#	size=(
45#TBD#		$($COMMAND -s1 echo 1 </dev/null 2>&1 | sed 's/[^0-9]//g')
46#TBD#		$($COMMAND -s1 echo 1 2 </dev/null 2>&1 | sed 's/[^0-9]//g')
47#TBD#		$($COMMAND -s1 echo 1 2 3 </dev/null 2>&1 | sed 's/[^0-9]//g')
48#TBD#		$($COMMAND -s1 echo 1 2 3 4 </dev/null 2>&1 | sed 's/[^0-9]//g')
49#TBD#	)
50#TBD#	EXEC -s${size[0]} echo
51#TBD#		INPUT - $'1\n2\n3\n4'
52#TBD#		OUTPUT - $'1\n2\n3\n4'
53#TBD#	EXEC -s${size[1]} echo
54#TBD#		INPUT - $'1\n2\n3\n4'
55#TBD#		OUTPUT - $'1 2\n3 4'
56#TBD#	EXEC -s${size[2]} echo
57#TBD#		INPUT - $'1\n2\n3\n4'
58#TBD#		OUTPUT - $'1 2 3\n4'
59#TBD#	EXEC -s${size[3]} echo
60#TBD#		INPUT - $'1\n2\n3\n4'
61#TBD#		OUTPUT - $'1 2 3 4'
62
63TEST 05 'extensions'
64	EXEC -z echo test
65		INPUT -
66		INPUT -
67		OUTPUT -
68