From 3a459b3f27d51d0af1b3175ef24005a58433f6b9 Mon Sep 17 00:00:00 2001 From: Mike Romberg Date: Thu, 2 Jun 2016 14:17:38 -0600 Subject: [PATCH] Tests/Examples for the use case of splitting the wrapper. Half of the wrapper in a package and 1/2 is global. --- .../import_packages/split_wrapper/Makefile | 25 +++++++++++++++++++ .../import_packages/split_wrapper/README | 14 +++++++++++ .../split_wrapper/builtin/Makefile | 18 +++++++++++++ .../split_wrapper/builtin/pkg1/Makefile | 19 ++++++++++++++ .../split_wrapper/builtin/pkg1/README | 0 .../split_wrapper/builtin/pkg1/__init__.py | 0 .../split_wrapper/builtin/pkg1/foo.i | 10 ++++++++ .../split_wrapper/builtin/runme.py | 3 +++ .../split_wrapper/builtin_split/Makefile | 22 ++++++++++++++++ .../split_wrapper/builtin_split/foo.i | 10 ++++++++ .../split_wrapper/builtin_split/pkg1/README | 0 .../builtin_split/pkg1/__init__.py | 0 .../split_wrapper/builtin_split/runme.py | 3 +++ .../split_wrapper/vanilla/Makefile | 18 +++++++++++++ .../split_wrapper/vanilla/pkg1/Makefile | 18 +++++++++++++ .../split_wrapper/vanilla/pkg1/README | 0 .../split_wrapper/vanilla/pkg1/__init__.py | 0 .../split_wrapper/vanilla/pkg1/foo.i | 10 ++++++++ .../split_wrapper/vanilla/runme.py | 3 +++ .../split_wrapper/vanilla_split/Makefile | 22 ++++++++++++++++ .../split_wrapper/vanilla_split/foo.i | 10 ++++++++ .../split_wrapper/vanilla_split/pkg1/README | 0 .../vanilla_split/pkg1/__init__.py | 0 .../split_wrapper/vanilla_split/runme.py | 3 +++ 24 files changed, 208 insertions(+) create mode 100644 Examples/python/import_packages/split_wrapper/Makefile create mode 100644 Examples/python/import_packages/split_wrapper/README create mode 100644 Examples/python/import_packages/split_wrapper/builtin/Makefile create mode 100644 Examples/python/import_packages/split_wrapper/builtin/pkg1/Makefile create mode 100644 Examples/python/import_packages/split_wrapper/builtin/pkg1/README create mode 100644 Examples/python/import_packages/split_wrapper/builtin/pkg1/__init__.py create mode 100644 Examples/python/import_packages/split_wrapper/builtin/pkg1/foo.i create mode 100644 Examples/python/import_packages/split_wrapper/builtin/runme.py create mode 100644 Examples/python/import_packages/split_wrapper/builtin_split/Makefile create mode 100644 Examples/python/import_packages/split_wrapper/builtin_split/foo.i create mode 100644 Examples/python/import_packages/split_wrapper/builtin_split/pkg1/README create mode 100644 Examples/python/import_packages/split_wrapper/builtin_split/pkg1/__init__.py create mode 100644 Examples/python/import_packages/split_wrapper/builtin_split/runme.py create mode 100644 Examples/python/import_packages/split_wrapper/vanilla/Makefile create mode 100644 Examples/python/import_packages/split_wrapper/vanilla/pkg1/Makefile create mode 100644 Examples/python/import_packages/split_wrapper/vanilla/pkg1/README create mode 100644 Examples/python/import_packages/split_wrapper/vanilla/pkg1/__init__.py create mode 100644 Examples/python/import_packages/split_wrapper/vanilla/pkg1/foo.i create mode 100644 Examples/python/import_packages/split_wrapper/vanilla/runme.py create mode 100644 Examples/python/import_packages/split_wrapper/vanilla_split/Makefile create mode 100644 Examples/python/import_packages/split_wrapper/vanilla_split/foo.i create mode 100644 Examples/python/import_packages/split_wrapper/vanilla_split/pkg1/README create mode 100644 Examples/python/import_packages/split_wrapper/vanilla_split/pkg1/__init__.py create mode 100644 Examples/python/import_packages/split_wrapper/vanilla_split/runme.py diff --git a/Examples/python/import_packages/split_wrapper/Makefile b/Examples/python/import_packages/split_wrapper/Makefile new file mode 100644 index 000000000..09d5c4cf2 --- /dev/null +++ b/Examples/python/import_packages/split_wrapper/Makefile @@ -0,0 +1,25 @@ +TOP = ../../.. +LIBS = + +subdirs = builtin vanilla builtin_split vanilla_split + +check: build + for s in $(subdirs); do \ + (cd $$s && $(MAKE) check); \ + done + +build: + for s in $(subdirs); do \ + (cd $$s && $(MAKE) SWIGOPT='$(SWIGOPT)' LIBS='$(LIBS)' build); \ + done + +static: + for s in $(subdirs); do \ + (cd $$s && $(MAKE) SWIGOPT='$(SWIGOPT)' LIBS='$(LIBS)' static); \ + done + +clean: + $(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' python_clean + for s in $(subdirs); do \ + (cd $$s && $(MAKE) clean); \ + done diff --git a/Examples/python/import_packages/split_wrapper/README b/Examples/python/import_packages/split_wrapper/README new file mode 100644 index 000000000..ac945cfa3 --- /dev/null +++ b/Examples/python/import_packages/split_wrapper/README @@ -0,0 +1,14 @@ + These examples/tests are for when the swig generated wrapper module is split +between two packages. Specifically the pure python part is part of a package +and the C/C++ part is not in any package at all. Historically swig has +supported this sort of thing. + + + The -builtin option is tested as well because additional import code +is generated by swig when it is used. The builtin tests are for this +additional code in the python wrappers. + +vanilla # "plane Jane" module both halves in pkg1 +vanilla_split # python 1/2 in pkg1 C 1/2 in global namespace +builtin # both halves in pkg1 (-builtin passed to swig) +builtin # python 1/2 in pkg1 C 1/2 in global namespace (with -builtin) diff --git a/Examples/python/import_packages/split_wrapper/builtin/Makefile b/Examples/python/import_packages/split_wrapper/builtin/Makefile new file mode 100644 index 000000000..b679d60a0 --- /dev/null +++ b/Examples/python/import_packages/split_wrapper/builtin/Makefile @@ -0,0 +1,18 @@ +TOP = ../../../.. +SWIGEXE = $(TOP)/../swig +SWIG_LIB_DIR = $(TOP)/../$(TOP_BUILDDIR_TO_TOP_SRCDIR)Lib +SWIGOPT = +LIBS = + +check: build + $(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' python_run + +build: + cd pkg1 && $(MAKE) build + +static: + cd pkg1 && $(MAKE) static + +clean: + $(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' TARGET='foo' python_clean + cd pkg1 && $(MAKE) -f $(TOP)/../Makefile SRCDIR='$(SRCDIR)' TARGET='foo' python_clean diff --git a/Examples/python/import_packages/split_wrapper/builtin/pkg1/Makefile b/Examples/python/import_packages/split_wrapper/builtin/pkg1/Makefile new file mode 100644 index 000000000..02692dfab --- /dev/null +++ b/Examples/python/import_packages/split_wrapper/builtin/pkg1/Makefile @@ -0,0 +1,19 @@ +TOP = ../../../../.. +SWIGEXE = $(TOP)/../swig +SWIG_LIB_DIR = $(TOP)/../$(TOP_BUILDDIR_TO_TOP_SRCDIR)Lib +SWIGOPT = -builtin +LIBS = + +build: + $(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' \ + SWIG_LIB_DIR='$(SWIG_LIB_DIR)' SWIGEXE='$(SWIGEXE)' \ + SWIGOPT='$(SWIGOPT)' LIBS='$(LIBS)' TARGET='foo' INTERFACE='foo.i' python_cpp + +static: + $(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' \ + SWIG_LIB_DIR='$(SWIG_LIB_DIR)' SWIGEXE='$(SWIGEXE)' \ + SWIGOPT='$(SWIGOPT)' LIBS='$(LIBS)' TARGET='foo' INTERFACE='foo.i' python_cpp_static + +clean: + $(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' TARGET='foo' python_clean + diff --git a/Examples/python/import_packages/split_wrapper/builtin/pkg1/README b/Examples/python/import_packages/split_wrapper/builtin/pkg1/README new file mode 100644 index 000000000..e69de29bb diff --git a/Examples/python/import_packages/split_wrapper/builtin/pkg1/__init__.py b/Examples/python/import_packages/split_wrapper/builtin/pkg1/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/Examples/python/import_packages/split_wrapper/builtin/pkg1/foo.i b/Examples/python/import_packages/split_wrapper/builtin/pkg1/foo.i new file mode 100644 index 000000000..00df2d009 --- /dev/null +++ b/Examples/python/import_packages/split_wrapper/builtin/pkg1/foo.i @@ -0,0 +1,10 @@ +%module(package="pkg1") foo +%{ +static unsigned count(void) + { + return 3; + } +%} + +unsigned count(void); + diff --git a/Examples/python/import_packages/split_wrapper/builtin/runme.py b/Examples/python/import_packages/split_wrapper/builtin/runme.py new file mode 100644 index 000000000..8a6055bf1 --- /dev/null +++ b/Examples/python/import_packages/split_wrapper/builtin/runme.py @@ -0,0 +1,3 @@ +import pkg1.foo + +assert(pkg1.foo.count() == 3) diff --git a/Examples/python/import_packages/split_wrapper/builtin_split/Makefile b/Examples/python/import_packages/split_wrapper/builtin_split/Makefile new file mode 100644 index 000000000..5fe9271c4 --- /dev/null +++ b/Examples/python/import_packages/split_wrapper/builtin_split/Makefile @@ -0,0 +1,22 @@ +TOP = ../../../.. +SWIGEXE = $(TOP)/../swig +SWIG_LIB_DIR = $(TOP)/../$(TOP_BUILDDIR_TO_TOP_SRCDIR)Lib +SWIGOPT = -builtin -outdir pkg1 +LIBS = + +check: build + $(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' python_run + +build: + $(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' \ + SWIG_LIB_DIR='$(SWIG_LIB_DIR)' SWIGEXE='$(SWIGEXE)' \ + SWIGOPT='$(SWIGOPT)' LIBS='$(LIBS)' TARGET='foo' INTERFACE='foo.i' python_cpp + +static: + $(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' \ + SWIG_LIB_DIR='$(SWIG_LIB_DIR)' SWIGEXE='$(SWIGEXE)' \ + SWIGOPT='$(SWIGOPT)' LIBS='$(LIBS)' TARGET='foo' INTERFACE='foo.i' python_cpp_static + +clean: + $(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' TARGET='foo' python_clean + cd pkg1 && $(MAKE) -f $(TOP)/../Makefile SRCDIR='$(SRCDIR)' TARGET='foo' python_clean diff --git a/Examples/python/import_packages/split_wrapper/builtin_split/foo.i b/Examples/python/import_packages/split_wrapper/builtin_split/foo.i new file mode 100644 index 000000000..00df2d009 --- /dev/null +++ b/Examples/python/import_packages/split_wrapper/builtin_split/foo.i @@ -0,0 +1,10 @@ +%module(package="pkg1") foo +%{ +static unsigned count(void) + { + return 3; + } +%} + +unsigned count(void); + diff --git a/Examples/python/import_packages/split_wrapper/builtin_split/pkg1/README b/Examples/python/import_packages/split_wrapper/builtin_split/pkg1/README new file mode 100644 index 000000000..e69de29bb diff --git a/Examples/python/import_packages/split_wrapper/builtin_split/pkg1/__init__.py b/Examples/python/import_packages/split_wrapper/builtin_split/pkg1/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/Examples/python/import_packages/split_wrapper/builtin_split/runme.py b/Examples/python/import_packages/split_wrapper/builtin_split/runme.py new file mode 100644 index 000000000..8a6055bf1 --- /dev/null +++ b/Examples/python/import_packages/split_wrapper/builtin_split/runme.py @@ -0,0 +1,3 @@ +import pkg1.foo + +assert(pkg1.foo.count() == 3) diff --git a/Examples/python/import_packages/split_wrapper/vanilla/Makefile b/Examples/python/import_packages/split_wrapper/vanilla/Makefile new file mode 100644 index 000000000..b679d60a0 --- /dev/null +++ b/Examples/python/import_packages/split_wrapper/vanilla/Makefile @@ -0,0 +1,18 @@ +TOP = ../../../.. +SWIGEXE = $(TOP)/../swig +SWIG_LIB_DIR = $(TOP)/../$(TOP_BUILDDIR_TO_TOP_SRCDIR)Lib +SWIGOPT = +LIBS = + +check: build + $(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' python_run + +build: + cd pkg1 && $(MAKE) build + +static: + cd pkg1 && $(MAKE) static + +clean: + $(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' TARGET='foo' python_clean + cd pkg1 && $(MAKE) -f $(TOP)/../Makefile SRCDIR='$(SRCDIR)' TARGET='foo' python_clean diff --git a/Examples/python/import_packages/split_wrapper/vanilla/pkg1/Makefile b/Examples/python/import_packages/split_wrapper/vanilla/pkg1/Makefile new file mode 100644 index 000000000..921bb9951 --- /dev/null +++ b/Examples/python/import_packages/split_wrapper/vanilla/pkg1/Makefile @@ -0,0 +1,18 @@ +TOP = ../../../../.. +SWIGEXE = $(TOP)/../swig +SWIG_LIB_DIR = $(TOP)/../$(TOP_BUILDDIR_TO_TOP_SRCDIR)Lib +SWIGOPT = +LIBS = + +build: + $(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' \ + SWIG_LIB_DIR='$(SWIG_LIB_DIR)' SWIGEXE='$(SWIGEXE)' \ + SWIGOPT='$(SWIGOPT)' LIBS='$(LIBS)' TARGET='foo' INTERFACE='foo.i' python_cpp + +static: + $(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' \ + SWIG_LIB_DIR='$(SWIG_LIB_DIR)' SWIGEXE='$(SWIGEXE)' \ + SWIGOPT='$(SWIGOPT)' LIBS='$(LIBS)' TARGET='foo' INTERFACE='foo.i' python_cpp_static + +clean: + $(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' TARGET='foo' python_clean diff --git a/Examples/python/import_packages/split_wrapper/vanilla/pkg1/README b/Examples/python/import_packages/split_wrapper/vanilla/pkg1/README new file mode 100644 index 000000000..e69de29bb diff --git a/Examples/python/import_packages/split_wrapper/vanilla/pkg1/__init__.py b/Examples/python/import_packages/split_wrapper/vanilla/pkg1/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/Examples/python/import_packages/split_wrapper/vanilla/pkg1/foo.i b/Examples/python/import_packages/split_wrapper/vanilla/pkg1/foo.i new file mode 100644 index 000000000..00df2d009 --- /dev/null +++ b/Examples/python/import_packages/split_wrapper/vanilla/pkg1/foo.i @@ -0,0 +1,10 @@ +%module(package="pkg1") foo +%{ +static unsigned count(void) + { + return 3; + } +%} + +unsigned count(void); + diff --git a/Examples/python/import_packages/split_wrapper/vanilla/runme.py b/Examples/python/import_packages/split_wrapper/vanilla/runme.py new file mode 100644 index 000000000..8a6055bf1 --- /dev/null +++ b/Examples/python/import_packages/split_wrapper/vanilla/runme.py @@ -0,0 +1,3 @@ +import pkg1.foo + +assert(pkg1.foo.count() == 3) diff --git a/Examples/python/import_packages/split_wrapper/vanilla_split/Makefile b/Examples/python/import_packages/split_wrapper/vanilla_split/Makefile new file mode 100644 index 000000000..c322b5aec --- /dev/null +++ b/Examples/python/import_packages/split_wrapper/vanilla_split/Makefile @@ -0,0 +1,22 @@ +TOP = ../../../.. +SWIGEXE = $(TOP)/../swig +SWIG_LIB_DIR = $(TOP)/../$(TOP_BUILDDIR_TO_TOP_SRCDIR)Lib +SWIGOPT = -outdir pkg1 +LIBS = + +check: build + $(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' python_run + +build: + $(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' \ + SWIG_LIB_DIR='$(SWIG_LIB_DIR)' SWIGEXE='$(SWIGEXE)' \ + SWIGOPT='$(SWIGOPT)' LIBS='$(LIBS)' TARGET='foo' INTERFACE='foo.i' python_cpp + +static: + $(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' \ + SWIG_LIB_DIR='$(SWIG_LIB_DIR)' SWIGEXE='$(SWIGEXE)' \ + SWIGOPT='$(SWIGOPT)' LIBS='$(LIBS)' TARGET='foo' INTERFACE='foo.i' python_cpp_static + +clean: + $(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' TARGET='foo' python_clean + cd pkg1 && $(MAKE) -f $(TOP)/../Makefile SRCDIR='$(SRCDIR)' TARGET='foo' python_clean diff --git a/Examples/python/import_packages/split_wrapper/vanilla_split/foo.i b/Examples/python/import_packages/split_wrapper/vanilla_split/foo.i new file mode 100644 index 000000000..00df2d009 --- /dev/null +++ b/Examples/python/import_packages/split_wrapper/vanilla_split/foo.i @@ -0,0 +1,10 @@ +%module(package="pkg1") foo +%{ +static unsigned count(void) + { + return 3; + } +%} + +unsigned count(void); + diff --git a/Examples/python/import_packages/split_wrapper/vanilla_split/pkg1/README b/Examples/python/import_packages/split_wrapper/vanilla_split/pkg1/README new file mode 100644 index 000000000..e69de29bb diff --git a/Examples/python/import_packages/split_wrapper/vanilla_split/pkg1/__init__.py b/Examples/python/import_packages/split_wrapper/vanilla_split/pkg1/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/Examples/python/import_packages/split_wrapper/vanilla_split/runme.py b/Examples/python/import_packages/split_wrapper/vanilla_split/runme.py new file mode 100644 index 000000000..8a6055bf1 --- /dev/null +++ b/Examples/python/import_packages/split_wrapper/vanilla_split/runme.py @@ -0,0 +1,3 @@ +import pkg1.foo + +assert(pkg1.foo.count() == 3)