xref: /openbsd/regress/usr.bin/apply/Makefile (revision 76d0caae)
1# $OpenBSD: Makefile,v 1.2 2018/04/01 11:07:52 bluhm Exp $
2
3APPLY?=		/usr/bin/apply
4CLEANFILES=	*.res
5
6REGRESS_TARGETS=t1 t2 t3 t4 t5 t6
7
8# .in: input file
9# .out: desired output
10
11# t1: uses arguments multiple times (from FreeBSD bin/95079)
12# t2: overflows ARG_MAX (from FreeBSD bin/95079)
13# t3: debugs -0 call
14# t4: debugs -2 call
15# t5: uses magic character '&'
16# t6: uses magic character ' ' with command starting with a number
17
18t1:
19	@echo ${*}
20	${APPLY} "echo %1 %1 %1 %1" `cat ${.CURDIR}/${*}.in` > ${*}.res
21	@cmp -s ${.CURDIR}/${*}.out ${*}.res || \
22	    (echo "XXX ${*} failed" && false)
23
24t2:
25	@echo ${*}
26	ARG_MAX=`getconf ARG_MAX`;\
27	    ARG_MAX_HALF=$$((ARG_MAX / 2)); \
28	    ! ${APPLY} "echo %1 %1 %1" \
29	    `jot $$ARG_MAX_HALF 1 1 | tr -d '\n'` > ${*}.res 2>&1
30
31t3:
32	@echo ${*}
33	${APPLY} -0 -d who 1 2 3 4 5 > ${*}.res
34	@cmp -s ${.CURDIR}/${*}.out ${*}.res || \
35	    (echo "XXX ${*} failed" && false)
36
37t4:
38	@echo ${*}
39	${APPLY} -2 -d cmp a1 b1 a2 b2 a3 b3 > ${*}.res
40	@cmp -s ${.CURDIR}/${*}.out ${*}.res || \
41	    (echo "XXX ${*} failed" && false)
42
43t5:
44	@echo ${*}
45	${APPLY} -a "&" "echo &2 &1" hello world > ${*}.res
46	@cmp -s ${.CURDIR}/${*}.out ${*}.res || \
47	    (echo "XXX ${*} failed" && false)
48
49t6:
50	@echo ${*}
51	${APPLY} -a " " -d "2to3  1" test.py > ${*}.res
52	@cmp -s ${.CURDIR}/${*}.out ${*}.res || \
53	    (echo "XXX ${*} failed" && false)
54
55.include <bsd.regress.mk>
56