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