mirror of https://github.com/swig/swig
Test swig runtime module contains expected names
This commit is contained in:
parent
831fc60691
commit
d966fd3ba1
|
@ -1,7 +1,24 @@
|
||||||
import python_moduleimport
|
import python_moduleimport
|
||||||
|
|
||||||
|
# Test custom moduleimport in %module
|
||||||
if python_moduleimport.simple_function(99) != 99:
|
if python_moduleimport.simple_function(99) != 99:
|
||||||
raise RuntimeError("simple_function")
|
raise RuntimeError("simple_function")
|
||||||
|
|
||||||
if python_moduleimport.extra_import_variable != "custom import of _python_moduleimport":
|
if python_moduleimport.extra_import_variable != "custom import of _python_moduleimport":
|
||||||
raise RuntimeError("custom import")
|
raise RuntimeError("custom import")
|
||||||
|
|
||||||
|
|
||||||
|
# Test the swig runtime module contains the expected names/types
|
||||||
|
import importlib
|
||||||
|
swig_runtime_version = python_moduleimport.runtime_version()
|
||||||
|
swig_runtime_data = importlib.import_module("swig_runtime_data" + swig_runtime_version) # Equivalent to (for version 5): import swig_runtime_data5 as swig_runtime_data
|
||||||
|
|
||||||
|
names = dir(swig_runtime_data)
|
||||||
|
expected_names = ("SwigPyObject", "SwigPyPacked", "SwigVarLink")
|
||||||
|
for name in expected_names:
|
||||||
|
if name not in names:
|
||||||
|
raise RuntimeError("{} not in {}".format(name, names))
|
||||||
|
|
||||||
|
cvar_type = type(python_moduleimport.cvar)
|
||||||
|
if cvar_type.__name__ != "SwigVarLink":
|
||||||
|
raise RuntimeError("cvar type name is incorrect: {}".format(cvar_type.__name__))
|
||||||
|
|
|
@ -23,4 +23,6 @@ from $module import *
|
||||||
|
|
||||||
%inline %{
|
%inline %{
|
||||||
int simple_function(int i) { return i; }
|
int simple_function(int i) { return i; }
|
||||||
|
int globalvar = 99;
|
||||||
|
const char * runtime_version() { return SWIG_RUNTIME_VERSION; }
|
||||||
%}
|
%}
|
||||||
|
|
Loading…
Reference in New Issue