Fixed tests on Windows (including out-of-tree problems)

Modified tcctest.c so that it uses 'double' in place of 'long double'
with MinGW since this is what TCC does, and what Visual C++ does. Added
an option -norunsrc to tcc to allow argv[0] to be set independently of
the compiled source when using tcc -run, which allows tests that rely on
the value of argv[0] to work in out-of-tree builds.

Also added Makefile rules to automatically update out-of-tree build
Makefiles when in-tree Makefiles have changed.
This commit is contained in:
James Lyon
2013-04-17 20:32:07 +01:00
parent 1d673cbfd6
commit e31579b076
7 changed files with 64 additions and 30 deletions

View File

@ -13,7 +13,7 @@ ifeq ($(TARGETOS),Darwin)
export MACOSX_DEPLOYMENT_TARGET:=10.2
endif
TCC_RUN = $(TOP)/tcc $(TCCFLAGS) -run
TCC = $(TOP)/tcc $(TCCFLAGS)
TESTS = \
00_assignment.test \
@ -84,8 +84,8 @@ endif
%.test: %.c %.expect
@echo Test: $*...
@if [ "x`echo $* | grep args`" != "x" ]; \
then $(TCC_RUN) $< - arg1 arg2 arg3 arg4 >$*.output; \
else $(TCC_RUN) $< >$*.output; \
then $(TCC) $< -norunsrc -run $(notdir $<) - arg1 arg2 arg3 arg4 >$*.output; \
else $(TCC) -run $< >$*.output; \
fi
@if diff -bu $(<:.c=.expect) $*.output ; \
then rm -f $*.output; \
@ -96,3 +96,6 @@ all test: $(TESTS)
clean:
rm -vf fred.txt *.output
Makefile: $(top_srcdir)/tests/tests2/Makefile
cp $< $@