Skip to content

Commit fc2b90a

Browse files
committed
Add a "diamond" pattern to multi-impmort test
This tests whether multiple modules can correctly import the same common module. ``` a -> d -> b -> c -> d* ```
1 parent c2c3f96 commit fc2b90a

File tree

10 files changed

+17
-7
lines changed

10 files changed

+17
-7
lines changed

Examples/test-suite/go/Makefile.in

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ multi_import.multicpptest:
6767
if ! test -d gopath/multi_import/src/swigtests; then \
6868
(cd gopath/multi_import/src && ln -s . swigtests); \
6969
fi
70-
for f in multi_import_b multi_import_a; do \
70+
for f in multi_import_d multi_import_b multi_import_a; do \
7171
$(MAKE) -f $(top_builddir)/$(EXAMPLES)/Makefile SRCDIR='$(SRCDIR)' CXXSRCS='$(CXXSRCS)' \
7272
SWIG_LIB_DIR='$(SWIG_LIB_DIR)' SWIGEXE='$(SWIGEXE)' \
7373
LIBS='$(LIBS)' INCLUDES='$(INCLUDES)' SWIGOPT='$(SWIGOPT)' NOLINK=true \
@@ -181,6 +181,7 @@ clean:
181181
rm -f mod_a.go mod_a.gox mod_b.go mod_b.gox
182182
rm -f multi_import_a.go multi_import_a.gox
183183
rm -f multi_import_b.go multi_import_b.gox
184+
rm -f multi_import_d.go multi_import_d.gox
184185
rm -f packageoption_a.go packageoption_a.gox
185186
rm -f packageoption_b.go packageoption_b.gox
186187
rm -f packageoption_c.go packageoption_c.gox

Examples/test-suite/javascript/Makefile.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ clean:
134134
rm -f imports_a$${ext} imports_b$${ext}; \
135135
rm -f import_stl_a$${ext} import_stl_b$${ext}; \
136136
rm -f mod_a$${ext} mod_b$${ext}; \
137-
rm -f multi_import_a$${ext} multi_import_b$${ext}; \
137+
rm -f multi_import_a$${ext} multi_import_b$${ext} multi_import_d$${ext}; \
138138
rm -f packageoption_a$${ext} packageoption_b$${ext} packageoption_c$${ext}; \
139139
rm -f template_typedef_cplx2$${ext}; \
140140
done

Examples/test-suite/multi_import.list

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
1-
multi_import_a
1+
multi_import_d
22
multi_import_b
3+
multi_import_a

Examples/test-suite/multi_import_a.i

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22

33
%module multi_import_a
44

5-
%import multi_import_b.i
5+
%import multi_import_d.i
6+
%import "multi_import_b.i"
67

78
%{
89
#include "multi_import.h"

Examples/test-suite/multi_import_c.i

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
%import "multi_import_d.i"
2+
13
class XXX
24
{
35
public:

Examples/test-suite/multi_import_d.i

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
%module multi_import_d
2+
3+
%constant int myval = 1234;

Examples/test-suite/ocaml/Makefile.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,6 @@ clean:
106106
rm -f import_stl_a.ml import_stl_b.ml
107107
rm -f imports_a.ml imports_b.ml
108108
rm -f mod_a.ml mod_b.ml
109-
rm -f multi_import_a.ml multi_import_b.ml
109+
rm -f multi_import_a.ml multi_import_b.ml multi_import_d.ml
110110
rm -f packageoption_a.ml packageoption_b.ml packageoption_c.ml
111111
rm -f template_typedef_cplx2.ml

Examples/test-suite/php/Makefile.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,6 @@ clean:
8686
rm -f import_stl_a.php import_stl_b.php php_import_stl_a.h php_import_stl_b.h
8787
rm -f imports_a.php imports_b.php php_imports_a.h php_imports_b.h
8888
rm -f mod_a.php mod_b.php php_mod_a.h php_mod_b.h
89-
rm -f multi_import_a.php multi_import_b.php php_multi_import_a.h php_multi_import_b.h
89+
rm -f multi_import_a.php multi_import_b.php multi_import_d.php php_multi_import_a.h php_multi_import_b.h php_multi_import_d.h
9090
rm -f packageoption_a.php packageoption_b.php packageoption_c.php php_packageoption_a.h php_packageoption_b.h php_packageoption_c.h
9191
rm -f template_typedef_cplx2.php php_template_typedef_cplx2.h

Examples/test-suite/python/Makefile.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ clean:
146146
rm -f clientdata_prop_a.py clientdata_prop_b.py import_stl_a.py import_stl_b.py
147147
rm -f hugemod.h hugemod_a.i hugemod_b.i hugemod_a.py hugemod_b.py hugemod_runme.py
148148
rm -f imports_a.py imports_b.py mod_a.py mod_b.py multi_import_a.py
149-
rm -f multi_import_b.py packageoption_a.py packageoption_b.py packageoption_c.py
149+
rm -f multi_import_b.py multi_import_d.py packageoption_a.py packageoption_b.py packageoption_c.py
150150
rm -f template_typedef_cplx2.py
151151

152152
hugemod_runme = hugemod$(SCRIPTPREFIX)

Examples/test-suite/template_typedef_cplx2.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,8 @@ namespace vfncs {
113113
#ifndef SWIG
114114

115115
// Initialize these static class members
116+
// XXX Since this is a header file, the following creates the symbols in *each* SWIG _wrap.cxx file. Linking the resulting SWIG modules together may result in
117+
// duplicate symbol link errors.
116118

117119
const char* const arith_traits< double, double >::arg_type = "double";
118120
const char* const arith_traits< double, double >::res_type = "double";

0 commit comments

Comments
 (0)