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 \ 24788ca347SMarcel Moolenaartest_10.c 2531337658SMarcel Moolenaar 2631337658SMarcel Moolenaartest_01_test_SOURCES = test_01.c 2731337658SMarcel Moolenaartest_02_test_SOURCES = test_02.c 2831337658SMarcel Moolenaartest_03_test_SOURCES = test_03.c 2931337658SMarcel Moolenaartest_04_test_SOURCES = test_04.c 3031337658SMarcel Moolenaartest_05_test_SOURCES = test_05.c 3131337658SMarcel Moolenaartest_06_test_SOURCES = test_06.c 3231337658SMarcel Moolenaartest_07_test_SOURCES = test_07.c 33545ddfbeSMarcel Moolenaartest_08_test_SOURCES = test_08.c 34545ddfbeSMarcel Moolenaartest_09_test_SOURCES = test_09.c 35788ca347SMarcel Moolenaartest_10_test_SOURCES = test_10.c 3631337658SMarcel Moolenaar 3731337658SMarcel Moolenaar# TEST_CASES := $(shell cd ${srcdir} ; echo *.c ) 3831337658SMarcel Moolenaar 39a0f704ffSMarcel Moolenaarnoinst_PROGRAMS = ${TEST_CASES:.c=.test} 4031337658SMarcel Moolenaar 4131337658SMarcel MoolenaarLDADD = \ 4231337658SMarcel Moolenaar ${top_builddir}/libxo/libxo.la 4331337658SMarcel Moolenaar 4431337658SMarcel MoolenaarEXTRA_DIST = \ 4531337658SMarcel Moolenaar ${TEST_CASES} \ 4631337658SMarcel Moolenaar ${addprefix saved/, ${TEST_CASES:.c=.T.err}} \ 4731337658SMarcel Moolenaar ${addprefix saved/, ${TEST_CASES:.c=.T.out}} \ 4831337658SMarcel Moolenaar ${addprefix saved/, ${TEST_CASES:.c=.XP.err}} \ 4931337658SMarcel Moolenaar ${addprefix saved/, ${TEST_CASES:.c=.XP.out}} \ 5031337658SMarcel Moolenaar ${addprefix saved/, ${TEST_CASES:.c=.JP.err}} \ 5131337658SMarcel Moolenaar ${addprefix saved/, ${TEST_CASES:.c=.JP.out}} \ 5231337658SMarcel Moolenaar ${addprefix saved/, ${TEST_CASES:.c=.HP.err}} \ 5331337658SMarcel Moolenaar ${addprefix saved/, ${TEST_CASES:.c=.HP.out}} \ 5431337658SMarcel Moolenaar ${addprefix saved/, ${TEST_CASES:.c=.X.err}} \ 5531337658SMarcel Moolenaar ${addprefix saved/, ${TEST_CASES:.c=.X.out}} \ 5631337658SMarcel Moolenaar ${addprefix saved/, ${TEST_CASES:.c=.J.err}} \ 5731337658SMarcel Moolenaar ${addprefix saved/, ${TEST_CASES:.c=.J.out}} \ 5831337658SMarcel Moolenaar ${addprefix saved/, ${TEST_CASES:.c=.H.err}} \ 5931337658SMarcel Moolenaar ${addprefix saved/, ${TEST_CASES:.c=.H.out}} \ 6031337658SMarcel Moolenaar ${addprefix saved/, ${TEST_CASES:.c=.HIPx.err}} \ 6131337658SMarcel Moolenaar ${addprefix saved/, ${TEST_CASES:.c=.HIPx.out}} 6231337658SMarcel Moolenaar 6331337658SMarcel MoolenaarS2O = | ${SED} '1,/@@/d' 6431337658SMarcel Moolenaar 6531337658SMarcel Moolenaarall: 6631337658SMarcel Moolenaar 6731337658SMarcel Moolenaarvalgrind: 6831337658SMarcel Moolenaar @echo '## Running the regression tests under Valgrind' 6931337658SMarcel Moolenaar ${MAKE} CHECKER='valgrind -q' tests 7031337658SMarcel Moolenaar 7131337658SMarcel Moolenaar#TEST_TRACE = set -x ; 7231337658SMarcel Moolenaar 7331337658SMarcel MoolenaarTEST_ONE = \ 7431337658SMarcel Moolenaar LIBXO_OPTIONS=:W$$fmt \ 75a0f704ffSMarcel Moolenaar ${CHECKER} ./$$base.test ${TEST_OPTS} \ 7631337658SMarcel Moolenaar > out/$$base.$$fmt.out 2> out/$$base.$$fmt.err ; \ 7731337658SMarcel Moolenaar ${DIFF} -Nu ${srcdir}/saved/$$base.$$fmt.out out/$$base.$$fmt.out ${S2O} ; \ 7831337658SMarcel Moolenaar ${DIFF} -Nu ${srcdir}/saved/$$base.$$fmt.err out/$$base.$$fmt.err ${S2O} 7931337658SMarcel Moolenaar 8031337658SMarcel MoolenaarTEST_FORMATS = T XP JP HP X J H HIPx 8131337658SMarcel Moolenaar 8231337658SMarcel Moolenaartest tests: ${bin_PROGRAMS} 8331337658SMarcel Moolenaar @${MKDIR} -p out 8431337658SMarcel Moolenaar -@ ${TEST_TRACE} (for test in ${TEST_CASES} ; do \ 8531337658SMarcel Moolenaar base=`${BASENAME} $$test .c` ; \ 8631337658SMarcel Moolenaar (for fmt in ${TEST_FORMATS}; do \ 8731337658SMarcel Moolenaar echo "... $$test ... $$fmt ..."; \ 8831337658SMarcel Moolenaar ${TEST_ONE}; \ 8931337658SMarcel Moolenaar true; \ 9031337658SMarcel Moolenaar done) \ 9131337658SMarcel Moolenaar done) 9231337658SMarcel Moolenaar 9331337658SMarcel Moolenaarone: 9431337658SMarcel Moolenaar -@(test=${TEST_CASE}; data=${TEST_DATA}; ${TEST_ONE} ; true) 9531337658SMarcel Moolenaar 9631337658SMarcel Moolenaaraccept: 9731337658SMarcel Moolenaar -@(for test in ${TEST_CASES} ; do \ 9831337658SMarcel Moolenaar base=`${BASENAME} $$test .c` ; \ 9931337658SMarcel Moolenaar (for fmt in ${TEST_FORMATS}; do \ 10031337658SMarcel Moolenaar echo "... $$test ... $$fmt ..."; \ 10131337658SMarcel Moolenaar ${CP} out/$$base.$$fmt.out ${srcdir}/saved/$$base.$$fmt.out ; \ 10231337658SMarcel Moolenaar ${CP} out/$$base.$$fmt.err ${srcdir}/saved/$$base.$$fmt.err ; \ 10331337658SMarcel Moolenaar done) \ 10431337658SMarcel Moolenaar done) 10531337658SMarcel Moolenaar 10631337658SMarcel Moolenaar.c.test: 10731337658SMarcel Moolenaar $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -o $@ $< 10831337658SMarcel Moolenaar 10931337658SMarcel MoolenaarCLEANFILES = ${TEST_CASES:.c=.test} 11031337658SMarcel MoolenaarCLEANDIRS = out 11131337658SMarcel Moolenaar 11231337658SMarcel Moolenaarclean-local: 11331337658SMarcel Moolenaar rm -rf ${CLEANDIRS} 114