From 60cf64612c1d0a94c15eed3243ef869356e81d79 Mon Sep 17 00:00:00 2001 From: grischka Date: Tue, 5 Feb 2013 13:22:36 +0100 Subject: tests2: move into tests --- tests/tests2/Makefile | 103 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 tests/tests2/Makefile (limited to 'tests/tests2/Makefile') diff --git a/tests/tests2/Makefile b/tests/tests2/Makefile new file mode 100644 index 0000000..d328ce7 --- /dev/null +++ b/tests/tests2/Makefile @@ -0,0 +1,103 @@ +TOP = .. +include $(TOP)/Makefile +VPATH = $(top_srcdir)/tests2 + +ifeq ($(TARGETOS),Darwin) + CFLAGS+=-Wl,-flat_namespace,-undefined,warning + TCCFLAGS=-D_ANSI_SOURCE + export MACOSX_DEPLOYMENT_TARGET:=10.2 +endif + +ifdef CONFIG_WIN32 + TCCFLAGS=-I $(TOP)/win32/include -L$(TOP) +endif + +TESTS= 00_assignment.test \ + 01_comment.test \ + 02_printf.test \ + 03_struct.test \ + 04_for.test \ + 05_array.test \ + 06_case.test \ + 07_function.test \ + 08_while.test \ + 09_do_while.test \ + 10_pointer.test \ + 11_precedence.test \ + 12_hashdefine.test \ + 13_integer_literals.test \ + 14_if.test \ + 15_recursion.test \ + 16_nesting.test \ + 17_enum.test \ + 18_include.test \ + 19_pointer_arithmetic.test \ + 20_pointer_comparison.test \ + 21_char_array.test \ + 22_floating_point.test \ + 23_type_coercion.test \ + 24_math_library.test \ + 25_quicksort.test \ + 26_character_constants.test \ + 27_sizeof.test \ + 28_strings.test \ + 29_array_address.test \ + 31_args.test \ + 32_led.test \ + 33_ternary_op.test \ + 35_sizeof.test \ + 36_array_initialisers.test \ + 37_sprintf.test \ + 38_multiple_array_index.test \ + 39_typedef.test \ + 40_stdio.test \ + 41_hashif.test \ + 42_function_pointer.test \ + 43_void_param.test \ + 44_scoped_declarations.test \ + 45_empty_for.test \ + 47_switch_return.test \ + 48_nested_break.test \ + 49_bracket_evaluation.test \ + 50_logical_second_arg.test \ + 51_static.test \ + 52_unnamed_enum.test \ + 54_goto.test \ + 55_lshift_type.test + + # 30_hanoi.test \ # seg fault in the code, gcc as well + # 34_array_assignment.test \ # array assignment is not in C standard + # 46_grep.test \ # does not compile even with gcc + +# some tests do not pass on all platforms, remove them for now +ifeq ($(TARGETOS),Darwin) + TESTS := $(filter-out 40_stdio.test,$(TESTS)) +endif +ifdef CONFIG_WIN32 + TESTS := $(filter-out 24_math_library.test,$(TESTS)) + TESTS := $(filter-out 28_strings.test,$(TESTS)) +endif + +%.test: %.c %.expect + @echo Test: $*... + @if [ "x`echo $* | grep args`" != "x" ]; \ + then \ + ../tcc -B.. $(TCCFLAGS) -run $< - arg1 arg2 arg3 arg4 2>&1 >$*.output; \ + else \ + ../tcc -B.. $(TCCFLAGS) -run $< 2>&1 >$*.output; \ + fi + @if diff -bu $(<:.c=.expect) $*.output ; \ + then \ + rm -f $*.output \ + else \ + echo "ERROR: test $*"; \ + fi + +all: test + +test: $(TESTS) + +# vim: set expandtab ts=4 sw=4 sts=4 tw=80 : + +clean: + rm -vf fred.txt -- cgit v1.3.1