Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • tests/Makefile.am

    r107b01a re16797c  
    2828timeouts=
    2929
    30 TEST_PY = python ${builddir}/test.py
     30TEST_PY = python3 ${builddir}/test.py
    3131
    3232# applies to both programs
     
    3636        -Wno-unused-function \
    3737        -quiet @CFA_FLAGS@ \
    38         -DIN_DIR="${srcdir}/.in/"
     38        -DIN_DIR="${abs_srcdir}/.in/"
    3939
    4040AM_CFLAGS += ${DEBUG_FLAGS} ${INSTALL_FLAGS} ${ARCH_FLAGS}
    4141CC = @CFACC@
    4242
    43 PRETTY_PATH=cd ${srcdir} &&
     43PRETTY_PATH=mkdir -p $(dir $(abspath ${@})) && cd ${srcdir} &&
    4444
    4545.PHONY: list .validate
     
    4848
    4949avl_test_SOURCES = avltree/avl_test.cfa avltree/avl0.cfa avltree/avl1.cfa avltree/avl2.cfa avltree/avl3.cfa avltree/avl4.cfa avltree/avl-private.cfa
    50 # automake doesn't know we still need C rules so pretend like we have a C program
    51 _dummy_hack_SOURCES = .dummy_hack.c
     50# automake doesn't know we still need C/CPP rules so pretend like we have a C program
     51_dummy_hack_SOURCES = .dummy_hack.c .dummy_hackxx.cpp
    5252
    5353#----------------------------------------------------------------------------------------------------------------
     
    7474        @echo "int main() { return 0; }" > ${@}
    7575
     76.dummy_hackxx.cpp:
     77        @echo "int bar() { return 0; }" > ${@}
     78
    7679concurrency :
    7780        @+${TEST_PY} --debug=${debug}  --install=${installed} -Iconcurrent
     
    7982#----------------------------------------------------------------------------------------------------------------
    8083
     84# Use for all tests, make sure the path are correct and all flags are added
     85CFACOMPILETEST=$(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) $($(shell echo "${@}_FLAGS" | sed 's/-\|\//_/g'))
     86
     87# Use for tests that either generate an executable, print directyl to stdout or the make command is expected to fail
     88CFATEST_STDOUT=$(CFACOMPILETEST) -o $(abspath ${@})
     89
     90# Use for tests where the make command is expecte to succeed but the expected.txt should be compared to stderr
     91CFATEST_STDERR=$(CFACOMPILETEST) 2> $(abspath ${@})
     92
     93#----------------------------------------------------------------------------------------------------------------
     94
    8195# implicit rule so not all test require a rule
    8296% : %.cfa $(CFACC)
    83         $(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     97        $(CFATEST_STDOUT)
    8498
    85 declarationSpecifier: declarationSpecifier.cfa $(CFACC)
    86         $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     99% : %.cpp
     100        $(PRETTY_PATH) $(CXXCOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    87101
    88 gccExtensions : gccExtensions.cfa $(CFACC)
    89         $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     102#------------------------------------------------------------------------------
     103# TARGET WITH STANDARD RULE BUT CUSTOM FLAGS
     104#------------------------------------------------------------------------------
     105# Expected failures
     106declarationSpecifier_FLAGS= -CFA -XCFA -p
     107gccExtensions_FLAGS= -CFA -XCFA -p
     108extension_FLAGS= -CFA -XCFA -p
     109attributes_FLAGS= -CFA -XCFA -p
     110functions_FLAGS= -CFA -XCFA -p
     111KRfunctions_FLAGS= -CFA -XCFA -p
     112gmp_FLAGS= -lgmp
    90113
    91 extension : extension.cfa $(CFACC)
    92         $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     114#------------------------------------------------------------------------------
     115# Expected failures
     116completeTypeError_FLAGS= -DERR1
    93117
    94 attributes : attributes.cfa $(CFACC)
    95         $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     118#------------------------------------------------------------------------------
     119# CUSTOM TARGET
     120#------------------------------------------------------------------------------
     121typedefRedef-ERR1: typedefRedef.cfa $(CFACC)
     122        $(CFATEST_STDOUT) -DERR1
    96123
    97 functions: functions.cfa $(CFACC)
    98         $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     124alloc-ERROR: alloc.cfa $(CFACC)
     125        $(CFATEST_STDOUT) -DERR1
    99126
    100 KRfunctions : KRfunctions.cfa $(CFACC)
    101         $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     127nested-types-ERR1: nested-types.cfa $(CFACC)
     128        $(CFATEST_STDOUT) -DERR1
    102129
    103 sched-ext-parse : sched-ext-parse.c $(CFACC)
    104         $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     130nested-types-ERR2: nested-types.cfa $(CFACC)
     131        $(CFATEST_STDOUT) -DERR2
    105132
    106 gmp : gmp.cfa $(CFACC)
    107         $(PRETTY_PATH) $(CFACOMPILE) -lgmp $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     133raii/dtor-early-exit-ERR1: raii/dtor-early-exit.cfa $(CFACC)
     134        $(CFATEST_STDOUT) -DERR1
     135
     136raii/dtor-early-exit-ERR2: raii/dtor-early-exit.cfa $(CFACC)
     137        $(CFATEST_STDOUT) -DERR2
     138
     139raii/memberCtors-ERR1: raii/memberCtors.cfa $(CFACC)
     140        $(CFATEST_STDOUT) -DERR1
     141
     142raii/ctor-autogen-ERR1: raii/ctor-autogen.cfa $(CFACC)
     143        $(CFATEST_STDOUT) -DERR1
    108144
    109145#builtins
    110146builtins/sync: builtins/sync.cfa $(CFACC)
    111         $(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only
    112 
    113 #------------------------------------------------------------------------------
    114 
    115 #To make errors path independent we need to cd into the correct directories
    116 completeTypeError : completeTypeError.cfa $(CFACC)
    117         $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    118 
    119 typedefRedef-ERR1: typedefRedef.cfa $(CFACC)
    120         $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    121 
    122 alloc-ERROR: alloc.cfa $(CFACC)
    123         $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    124 
    125 fallthrough-ERROR: fallthrough.cfa $(CFACC)
    126         $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    127 
    128 nested-types-ERR1: nested-types.cfa $(CFACC)
    129         $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    130 
    131 nested-types-ERR2: nested-types.cfa $(CFACC)
    132         $(PRETTY_PATH) $(CFACOMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    133 
    134 # Constructor/destructor tests
    135 raii/dtor-early-exit-ERR1: raii/dtor-early-exit.cfa $(CFACC)
    136         $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    137 
    138 raii/dtor-early-exit-ERR2: raii/dtor-early-exit.cfa $(CFACC)
    139         $(PRETTY_PATH) $(CFACOMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    140 
    141 raii/memberCtors-ERR1: raii/memberCtors.cfa $(CFACC)
    142         $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    143 
    144 raii/ctor-autogen-ERR1: raii/ctor-autogen.cfa $(CFACC)
    145         $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     147        $(CFATEST_STDERR) -fsyntax-only
    146148
    147149# Warnings
    148150warnings/self-assignment: warnings/self-assignment.cfa $(CFACC)
    149         $(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only
     151        $(CFATEST_STDERR) -fsyntax-only
Note: See TracChangeset for help on using the changeset viewer.