xref: /freebsd/contrib/libxo/tests/core/Makefile.am (revision 34b867ca)
131337658SMarcel Moolenaar#
231337658SMarcel Moolenaar# $Id$
331337658SMarcel Moolenaar#
431337658SMarcel Moolenaar# Copyright 2014, Juniper Networks, Inc.
531337658SMarcel Moolenaar# All rights reserved.
631337658SMarcel Moolenaar# This SOFTWARE is licensed under the LICENSE provided in the
731337658SMarcel Moolenaar# ../Copyright file. By downloading, installing, copying, or otherwise
831337658SMarcel Moolenaar# using the SOFTWARE, you agree to be bound by the terms of that
931337658SMarcel Moolenaar# LICENSE.
1031337658SMarcel Moolenaar
1131337658SMarcel MoolenaarAM_CFLAGS = -I${top_srcdir} -I${top_srcdir}/libxo
1231337658SMarcel Moolenaar
1331337658SMarcel Moolenaar# Ick: maintained by hand!
1431337658SMarcel MoolenaarTEST_CASES = \
1531337658SMarcel Moolenaartest_01.c \
1631337658SMarcel Moolenaartest_02.c \
1731337658SMarcel Moolenaartest_03.c \
1831337658SMarcel Moolenaartest_04.c \
1931337658SMarcel Moolenaartest_05.c \
2031337658SMarcel Moolenaartest_06.c \
21545ddfbeSMarcel Moolenaartest_07.c \
22545ddfbeSMarcel Moolenaartest_08.c \
23788ca347SMarcel Moolenaartest_09.c \
24d1a0d267SMarcel Moolenaartest_10.c \
2542ff34c3SPhil Shafertest_11.c \
2642ff34c3SPhil Shafertest_12.c
2731337658SMarcel Moolenaar
2831337658SMarcel Moolenaartest_01_test_SOURCES = test_01.c
2931337658SMarcel Moolenaartest_02_test_SOURCES = test_02.c
3031337658SMarcel Moolenaartest_03_test_SOURCES = test_03.c
3131337658SMarcel Moolenaartest_04_test_SOURCES = test_04.c
3231337658SMarcel Moolenaartest_05_test_SOURCES = test_05.c
3331337658SMarcel Moolenaartest_06_test_SOURCES = test_06.c
3431337658SMarcel Moolenaartest_07_test_SOURCES = test_07.c
35545ddfbeSMarcel Moolenaartest_08_test_SOURCES = test_08.c
36545ddfbeSMarcel Moolenaartest_09_test_SOURCES = test_09.c
37788ca347SMarcel Moolenaartest_10_test_SOURCES = test_10.c
38d1a0d267SMarcel Moolenaartest_11_test_SOURCES = test_11.c
3942ff34c3SPhil Shafertest_12_test_SOURCES = test_12.c
4031337658SMarcel Moolenaar
4131337658SMarcel Moolenaar# TEST_CASES := $(shell cd ${srcdir} ; echo *.c )
4231337658SMarcel Moolenaar
43a0f704ffSMarcel Moolenaarnoinst_PROGRAMS = ${TEST_CASES:.c=.test}
4431337658SMarcel Moolenaar
4531337658SMarcel MoolenaarLDADD = \
4631337658SMarcel Moolenaar    ${top_builddir}/libxo/libxo.la
4731337658SMarcel Moolenaar
48d1a0d267SMarcel Moolenaarif HAVE_HUMANIZE_NUMBER
49d1a0d267SMarcel MoolenaarLDADD += -lutil
50d1a0d267SMarcel Moolenaarendif
51d1a0d267SMarcel Moolenaar
5231337658SMarcel MoolenaarEXTRA_DIST = \
5331337658SMarcel Moolenaar    ${TEST_CASES} \
5434b867caSPhil Shafer    ${addprefix saved/, ${TEST_CASES:.c=.E.err}} \
5534b867caSPhil Shafer    ${addprefix saved/, ${TEST_CASES:.c=.E.out}} \
5631337658SMarcel Moolenaar    ${addprefix saved/, ${TEST_CASES:.c=.H.err}} \
5731337658SMarcel Moolenaar    ${addprefix saved/, ${TEST_CASES:.c=.H.out}} \
5831337658SMarcel Moolenaar    ${addprefix saved/, ${TEST_CASES:.c=.HIPx.err}} \
59f2b7bf8aSPhil Shafer    ${addprefix saved/, ${TEST_CASES:.c=.HIPx.out}} \
6034b867caSPhil Shafer    ${addprefix saved/, ${TEST_CASES:.c=.HP.err}} \
6134b867caSPhil Shafer    ${addprefix saved/, ${TEST_CASES:.c=.HP.out}} \
6234b867caSPhil Shafer    ${addprefix saved/, ${TEST_CASES:.c=.J.err}} \
6334b867caSPhil Shafer    ${addprefix saved/, ${TEST_CASES:.c=.J.out}} \
6434b867caSPhil Shafer    ${addprefix saved/, ${TEST_CASES:.c=.JP.err}} \
6534b867caSPhil Shafer    ${addprefix saved/, ${TEST_CASES:.c=.JP.out}} \
6634b867caSPhil Shafer    ${addprefix saved/, ${TEST_CASES:.c=.JPu.err}} \
6734b867caSPhil Shafer    ${addprefix saved/, ${TEST_CASES:.c=.JPu.out}} \
6834b867caSPhil Shafer    ${addprefix saved/, ${TEST_CASES:.c=.T.err}} \
6934b867caSPhil Shafer    ${addprefix saved/, ${TEST_CASES:.c=.T.out}} \
7034b867caSPhil Shafer    ${addprefix saved/, ${TEST_CASES:.c=.X.err}} \
7134b867caSPhil Shafer    ${addprefix saved/, ${TEST_CASES:.c=.X.out}} \
7234b867caSPhil Shafer    ${addprefix saved/, ${TEST_CASES:.c=.XP.err}} \
7334b867caSPhil Shafer    ${addprefix saved/, ${TEST_CASES:.c=.XP.out}} \
7434b867caSPhil Shafer    ${addprefix saved/, test_01.Ecsv1.out} \
7534b867caSPhil Shafer    ${addprefix saved/, test_01.Ecsv1.err} \
7634b867caSPhil Shafer    ${addprefix saved/, test_01.Ecsv2.out} \
7734b867caSPhil Shafer    ${addprefix saved/, test_01.Ecsv2.err} \
7834b867caSPhil Shafer    ${addprefix saved/, test_01.Ecsv3.out} \
7934b867caSPhil Shafer    ${addprefix saved/, test_01.Ecsv3.err}
8031337658SMarcel Moolenaar
8131337658SMarcel MoolenaarS2O = | ${SED} '1,/@@/d'
8231337658SMarcel Moolenaar
8331337658SMarcel Moolenaarall:
8431337658SMarcel Moolenaar
8531337658SMarcel Moolenaarvalgrind:
8631337658SMarcel Moolenaar	@echo '## Running the regression tests under Valgrind'
8731337658SMarcel Moolenaar	${MAKE} CHECKER='valgrind -q' tests
8831337658SMarcel Moolenaar
8931337658SMarcel Moolenaar#TEST_TRACE = set -x ;
9031337658SMarcel Moolenaar
91d1a0d267SMarcel MoolenaarTEST_JIG = \
92f2b7bf8aSPhil Shafer      ${CHECKER} ./$$base.test --libxo$$xoopts ${TEST_OPTS} \
9331337658SMarcel Moolenaar      > out/$$base.$$fmt.out 2> out/$$base.$$fmt.err ; \
9431337658SMarcel Moolenaar ${DIFF} -Nu ${srcdir}/saved/$$base.$$fmt.out out/$$base.$$fmt.out ${S2O} ; \
9531337658SMarcel Moolenaar ${DIFF} -Nu ${srcdir}/saved/$$base.$$fmt.err out/$$base.$$fmt.err ${S2O}
9631337658SMarcel Moolenaar
9776afb20cSPhil ShaferTEST_JIG2 = \
9876afb20cSPhil Shaferecho "... $$test ... $$fmt ..."; \
995c5819b2SPhil Shaferxoopts==warn,$$csv ; \
10076afb20cSPhil Shafer${TEST_JIG}; true;
10176afb20cSPhil Shafer
10234b867caSPhil ShaferTEST_FORMATS = T XP JP JPu HP X J H HIPx
10331337658SMarcel Moolenaar
10431337658SMarcel Moolenaartest tests: ${bin_PROGRAMS}
10531337658SMarcel Moolenaar	@${MKDIR} -p out
10631337658SMarcel Moolenaar	-@ ${TEST_TRACE} (for test in ${TEST_CASES} ; do \
10731337658SMarcel Moolenaar	    base=`${BASENAME} $$test .c` ; \
10831337658SMarcel Moolenaar            (for fmt in ${TEST_FORMATS}; do \
10931337658SMarcel Moolenaar	        echo "... $$test ... $$fmt ..."; \
110f2b7bf8aSPhil Shafer                xoopts=:W$$fmt ; \
111f2b7bf8aSPhil Shafer	        ${TEST_JIG}; \
11231337658SMarcel Moolenaar                true; \
113d1a0d267SMarcel Moolenaar            done) ; \
114d1a0d267SMarcel Moolenaar            (for fmt in E; do \
115d1a0d267SMarcel Moolenaar	        echo "... $$test ... $$fmt ..."; \
116f2b7bf8aSPhil Shafer                xoopts==warn,encoder=test ; \
117f2b7bf8aSPhil Shafer	        ${TEST_JIG}; \
118d1a0d267SMarcel Moolenaar                true; \
11931337658SMarcel Moolenaar            done) \
12031337658SMarcel Moolenaar	done)
12176afb20cSPhil Shafer	-@ (${TEST_TRACE} test=test_01.c; base=test_01; \
1225c5819b2SPhil Shafer	    (   fmt=Ecsv1; csv=encoder=csv ; \
1235c5819b2SPhil Shafer			${TEST_JIG2} ); \
12434b867caSPhil Shafer	    (   fmt=Ecsv2; csv=encoder=csv:path=top-level/data/item:no-header ; \
1255c5819b2SPhil Shafer			${TEST_JIG2} ); \
1265c5819b2SPhil Shafer	    (   fmt=Ecsv3; csv=@csv:path=item:leafs=sku.sold:no-quotes ; \
1275c5819b2SPhil Shafer			${TEST_JIG2} ); \
12876afb20cSPhil Shafer	)
12976afb20cSPhil Shafer
13031337658SMarcel Moolenaar
13131337658SMarcel Moolenaarone:
13231337658SMarcel Moolenaar	-@(test=${TEST_CASE}; data=${TEST_DATA}; ${TEST_ONE} ; true)
13331337658SMarcel Moolenaar
13431337658SMarcel Moolenaaraccept:
13531337658SMarcel Moolenaar	-@(for test in ${TEST_CASES} ; do \
13631337658SMarcel Moolenaar	    base=`${BASENAME} $$test .c` ; \
137d1a0d267SMarcel Moolenaar            (for fmt in ${TEST_FORMATS} E ; do \
13831337658SMarcel Moolenaar	        echo "... $$test ... $$fmt ..."; \
13931337658SMarcel Moolenaar	        ${CP} out/$$base.$$fmt.out ${srcdir}/saved/$$base.$$fmt.out ; \
14031337658SMarcel Moolenaar	        ${CP} out/$$base.$$fmt.err ${srcdir}/saved/$$base.$$fmt.err ; \
14131337658SMarcel Moolenaar	    done) \
14231337658SMarcel Moolenaar	done)
14376afb20cSPhil Shafer	-@(test=test_01.c; base=test_01; for fmt in Ecsv1 Ecsv2 Ecsv3 ; do \
14476afb20cSPhil Shafer	        echo "... $$test ... $$fmt ..."; \
14576afb20cSPhil Shafer	        ${CP} out/$$base.$$fmt.out ${srcdir}/saved/$$base.$$fmt.out ; \
14676afb20cSPhil Shafer	        ${CP} out/$$base.$$fmt.err ${srcdir}/saved/$$base.$$fmt.err ; \
14776afb20cSPhil Shafer	done)
14831337658SMarcel Moolenaar
14931337658SMarcel Moolenaar.c.test:
15031337658SMarcel Moolenaar	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -o $@ $<
15131337658SMarcel Moolenaar
15231337658SMarcel MoolenaarCLEANFILES = ${TEST_CASES:.c=.test}
15331337658SMarcel MoolenaarCLEANDIRS = out
15431337658SMarcel Moolenaar
15531337658SMarcel Moolenaarclean-local:
15631337658SMarcel Moolenaar	rm -rf ${CLEANDIRS}
157