summaryrefslogtreecommitdiff
path: root/Examples/test-suite/errors/Makefile.in
blob: 601dcd3032fcba3507986c22a5138de5e34da757 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#######################################################################
# Makefile for errors test-suite
#
# This test-suite is for checking SWIG errors and warnings and uses
# Python as the target language.
#
# It compares the stderr output from SWIG to the contents of the .stderr
# file for each test case. The test cases are different to those used by
# the language module test-suites. The .i files in this directory are
# used instead of those in the parent directory.
#
# When adding a new test case, be sure to commit the expected output
# file (.stderr) in addition to the test case itself.
#######################################################################

LANGUAGE     = python
ERROR_EXT    = newerr
# Portable dos2unix / todos for stripping CR
TODOS        = tr -d '\r'
#TODOS        = sed -e 's/\r$$//' # On OSX behaves as if written 's/r$$//'

srcdir       = @srcdir@
top_srcdir   = @top_srcdir@
top_builddir = @top_builddir@

# All .i files with prefix 'cpp_' will be treated as C++ input and remaining .i files as C input
ALL_ERROR_TEST_CASES := $(patsubst %.i,%, $(wildcard *.i))
CPP_ERROR_TEST_CASES := $(filter cpp_%, $(ALL_ERROR_TEST_CASES))
C_ERROR_TEST_CASES := $(filter-out $(CPP_ERROR_TEST_CASES), $(ALL_ERROR_TEST_CASES))

ERROR_TEST_CASES := $(CPP_ERROR_TEST_CASES:=.cpptest) \
	            $(C_ERROR_TEST_CASES:=.ctest)

include $(srcdir)/../common.mk


# Rules for the different types of tests
%.cpptest: 
	echo "$(ACTION)ing errors testcase $*"
	-$(SWIG) -c++ -python -Wall -Fstandard $(SWIGOPT) $*.i 2>&1 | $(TODOS) > $*.$(ERROR_EXT)
	$(COMPILETOOL) diff -c $*.stderr $*.$(ERROR_EXT)

%.ctest:
	echo "$(ACTION)ing errors testcase $*"
	-$(SWIG) -python -Wall -Fstandard $(SWIGOPT) $*.i 2>&1 | $(TODOS) > $*.$(ERROR_EXT)
	$(COMPILETOOL) diff -c $*.stderr $*.$(ERROR_EXT)

%.clean:
	

clean:
	$(MAKE) -f $(top_builddir)/$(EXAMPLES)/Makefile $(LANGUAGE)_clean
	@rm -f *.$(ERROR_EXT) *.py