11.49Srillig#	$NetBSD: Makefile,v 1.49 2023/06/16 23:51:32 rillig Exp $
21.1Skamil
31.1Skamil.include <bsd.own.mk>
41.1Skamil
51.1SkamilTESTSDIR=	${TESTSBASE}/usr.bin/indent
61.14SrilligTESTS_SH=	t_errors
71.15SrilligTESTS_SH+=	t_misc
81.16SrilligTESTS_SH+=	t_options
91.1Skamil
101.1SkamilFILESDIR=	${TESTSDIR}
111.45SrilligFILES+=		edge_cases.c
121.34SrilligFILES+=		fmt_block.c
131.25SrilligFILES+=		fmt_decl.c
141.25SrilligFILES+=		fmt_else_comment.c
151.30SrilligFILES+=		fmt_expr.c
161.45SrilligFILES+=		fmt_init.c
171.24SrilligFILES+=		indent_off_on.c
181.19SrilligFILES+=		label.c
191.34SrilligFILES+=		lex_char.c
201.25SrilligFILES+=		lex_ident.c
211.46SrilligFILES+=		lex_number.c
221.27SrilligFILES+=		lex_string.c
231.34SrilligFILES+=		lsym_binary_op.c
241.34SrilligFILES+=		lsym_case_label.c
251.34SrilligFILES+=		lsym_colon.c
261.34SrilligFILES+=		lsym_comma.c
271.34SrilligFILES+=		lsym_comment.c
281.34SrilligFILES+=		lsym_do.c
291.34SrilligFILES+=		lsym_else.c
301.34SrilligFILES+=		lsym_eof.c
311.34SrilligFILES+=		lsym_for.c
321.34SrilligFILES+=		lsym_form_feed.c
331.34SrilligFILES+=		lsym_funcname.c
341.34SrilligFILES+=		lsym_if.c
351.34SrilligFILES+=		lsym_lbrace.c
361.34SrilligFILES+=		lsym_lparen_or_lbracket.c
371.34SrilligFILES+=		lsym_newline.c
381.34SrilligFILES+=		lsym_offsetof.c
391.34SrilligFILES+=		lsym_period.c
401.34SrilligFILES+=		lsym_postfix_op.c
411.34SrilligFILES+=		lsym_preprocessing.c
421.34SrilligFILES+=		lsym_question.c
431.34SrilligFILES+=		lsym_rbrace.c
441.34SrilligFILES+=		lsym_return.c
451.34SrilligFILES+=		lsym_rparen_or_rbracket.c
461.34SrilligFILES+=		lsym_semicolon.c
471.34SrilligFILES+=		lsym_sizeof.c
481.34SrilligFILES+=		lsym_storage_class.c
491.34SrilligFILES+=		lsym_switch.c
501.34SrilligFILES+=		lsym_tag.c
511.49SrilligFILES+=		lsym_type.c
521.34SrilligFILES+=		lsym_typedef.c
531.34SrilligFILES+=		lsym_unary_op.c
541.34SrilligFILES+=		lsym_while.c
551.34SrilligFILES+=		lsym_word.c
561.27SrilligFILES+=		opt_P.c
571.27SrilligFILES+=		opt_T.c
581.16SrilligFILES+=		opt_bacc.c
591.16SrilligFILES+=		opt_bad.c
601.16SrilligFILES+=		opt_badp.c
611.16SrilligFILES+=		opt_bap.c
621.32SrilligFILES+=		opt_bap_sob.c
631.16SrilligFILES+=		opt_bbb.c
641.16SrilligFILES+=		opt_bc.c
651.27SrilligFILES+=		opt_bl_br.c
661.16SrilligFILES+=		opt_bs.c
671.27SrilligFILES+=		opt_c.c
681.27SrilligFILES+=		opt_cd.c
691.16SrilligFILES+=		opt_cdb.c
701.16SrilligFILES+=		opt_ce.c
711.27SrilligFILES+=		opt_ci.c
721.27SrilligFILES+=		opt_cli.c
731.16SrilligFILES+=		opt_cs.c
741.27SrilligFILES+=		opt_d.c
751.27SrilligFILES+=		opt_di.c
761.16SrilligFILES+=		opt_dj.c
771.16SrilligFILES+=		opt_eei.c
781.16SrilligFILES+=		opt_ei.c
791.16SrilligFILES+=		opt_fbs.c
801.16SrilligFILES+=		opt_fc1.c
811.16SrilligFILES+=		opt_fcb.c
821.27SrilligFILES+=		opt_i.c
831.16SrilligFILES+=		opt_ip.c
841.27SrilligFILES+=		opt_l.c
851.27SrilligFILES+=		opt_lc.c
861.27SrilligFILES+=		opt_ldi.c
871.16SrilligFILES+=		opt_lp.c
881.16SrilligFILES+=		opt_lpl.c
891.16SrilligFILES+=		opt_pcs.c
901.16SrilligFILES+=		opt_psl.c
911.16SrilligFILES+=		opt_sc.c
921.16SrilligFILES+=		opt_sob.c
931.27SrilligFILES+=		opt_ta.c
941.27SrilligFILES+=		opt_ts.c
951.16SrilligFILES+=		opt_ut.c
961.16SrilligFILES+=		opt_v.c
971.31SrilligFILES+=		opt_version.c
981.21SrilligFILES+=		ps_ind_level.c
991.34SrilligFILES+=		psym_decl.c
1001.34SrilligFILES+=		psym_do.c
1011.34SrilligFILES+=		psym_do_stmt.c
1021.34SrilligFILES+=		psym_else.c
1031.34SrilligFILES+=		psym_for_exprs.c
1041.34SrilligFILES+=		psym_if_expr.c
1051.34SrilligFILES+=		psym_if_expr_stmt.c
1061.34SrilligFILES+=		psym_if_expr_stmt_else.c
1071.34SrilligFILES+=		psym_lbrace.c
1081.34SrilligFILES+=		psym_rbrace.c
1091.34SrilligFILES+=		psym_semicolon.c
1101.34SrilligFILES+=		psym_stmt.c
1111.34SrilligFILES+=		psym_switch_expr.c
1121.34SrilligFILES+=		psym_while_expr.c
1131.47SrilligFILES+=		t_options.lua
1141.1Skamil
1151.7Srilligadd-test: .PHONY
1161.7Srillig	@set -eu; \
1171.23Srillig	test=${NAME:Q}.c; \
1181.23Srillig	if [ "$$test" = ".c" ]; then \
1191.7Srillig		echo "usage: ${MAKE} add-test NAME=<name>"; \
1201.7Srillig		exit; \
1211.23Srillig	fi; \
1221.7Srillig	\
1231.7Srillig	if [ -f "$$test" ]; then \
1241.7Srillig		echo "error: test $$test already exists." 1>&2; \
1251.7Srillig		exit 1; \
1261.7Srillig	fi; \
1271.7Srillig	\
1281.7Srillig	echo "=> Adding test $$test"; \
1291.7Srillig	printf '%s\n' \
1301.7Srillig		'/* $$''NetBSD$$ */' \
1311.7Srillig		'' \
1321.7Srillig		'/*' \
1331.7Srillig		' * TODO: Explain the purpose of the test.' \
1341.9Srillig		' */' \
1351.7Srillig		'' \
1361.44Srillig		'//indent input' \
1371.23Srillig		'// TODO: add input' \
1381.44Srillig		'//indent end' \
1391.23Srillig		'' \
1401.44Srillig		'//indent run [-options]' \
1411.23Srillig		'// TODO: add expected output' \
1421.44Srillig		'//indent end' \
1431.7Srillig	> "$$test"; \
1441.23Srillig	cvs add "$$test"; \
1451.7Srillig	printf '%s\n' \
1461.7Srillig		'/^FILES+=/i' \
1471.7Srillig		"FILES+=		$$test" \
1481.7Srillig		'.' 'w' 'q' \
1491.7Srillig	| ed Makefile; \
1501.7Srillig	${MAKE} sync-mi
1511.7Srillig
1521.7Srillig# Note: only works for adding tests.
1531.7Srillig# To remove a test, the $$mi file must be edited manually.
1541.7Srilligsync-mi: .PHONY
1551.7Srillig	@set -eu;							\
1561.7Srillig	cd "${MAKEFILE:tA:H}/../../..";					\
1571.7Srillig	mi="distrib/sets/lists/tests/mi";				\
1581.7Srillig	cvs update "$$mi";						\
1591.7Srillig	fmt="./usr/tests/usr.bin/indent/%s\ttests-usr.bin-tests\tcompattestfile,atf\n"; \
1601.7Srillig	cat "$$mi" > "$$mi.tmp";					\
1611.7Srillig	printf "$$fmt" ${FILES:M${NAME}*} >> "$$mi.tmp";		\
1621.7Srillig	distrib/sets/fmt-list "$$mi.tmp";				\
1631.7Srillig	mv "$$mi.tmp" "$$mi";						\
1641.7Srillig	cvs diff "$$mi" || true
1651.7Srillig
1661.1Skamil.include <bsd.test.mk>
167