summaryrefslogtreecommitdiff
path: root/Examples/python
diff options
context:
space:
mode:
authorWilliam S Fulton <wsf@fultondesigns.co.uk>2018-12-05 19:43:13 +0000
committerWilliam S Fulton <wsf@fultondesigns.co.uk>2018-12-06 06:50:57 +0000
commitff93f2e26ee2b4999f62f576bd69604f75bcb2ba (patch)
tree864b0cfe51daeadcfeb8fe440c448f8a6839decd /Examples/python
parent8d6f3010ea973f6debf81a046dbe4ed0aac5c7cf (diff)
downloadswig-ff93f2e26ee2b4999f62f576bd69604f75bcb2ba.tar.gz
Skip Python subprocess calls in import_packages testcase on Windows
Getting these kind of errors on Appveyor which uses mingw/cygwin to run a Python interpreter: Native windows Python 3.6 running under cygwin and mingw Python 3.7 running under mingw: Fatal Python error: _Py_HashRandomization_Init: failed to get random numbers to initialize Python Cygwin Python 2.7 running under cygwin: 0 [main] python2.7 496 child_info_fork::abort: address space needed by '_foo.dll' (0x6D0000) is already occupied
Diffstat (limited to 'Examples/python')
-rw-r--r--Examples/python/import_packages/from_init1/runme.py18
-rw-r--r--Examples/python/import_packages/from_init2/runme.py12
-rw-r--r--Examples/python/import_packages/from_init3/runme.py12
-rw-r--r--Examples/python/import_packages/namespace_pkg/nonpkg.py9
-rw-r--r--Examples/python/import_packages/namespace_pkg/normal.py9
-rw-r--r--Examples/python/import_packages/namespace_pkg/nstest.py13
-rw-r--r--Examples/python/import_packages/namespace_pkg/split.py9
-rw-r--r--Examples/python/import_packages/namespace_pkg/zipsplit.py9
-rw-r--r--Examples/python/import_packages/relativeimport1/runme.py18
-rw-r--r--Examples/python/import_packages/relativeimport2/runme.py18
-rw-r--r--Examples/python/import_packages/relativeimport3/runme.py18
-rw-r--r--Examples/python/import_packages/same_modnames1/runme.py9
-rw-r--r--Examples/python/import_packages/same_modnames2/runme.py9
-rw-r--r--Examples/python/import_packages/split_modules/vanilla/runme.py9
-rw-r--r--Examples/python/import_packages/split_modules/vanilla_split/runme.py9
15 files changed, 121 insertions, 60 deletions
diff --git a/Examples/python/import_packages/from_init1/runme.py b/Examples/python/import_packages/from_init1/runme.py
index aebe582a2..a663a136b 100644
--- a/Examples/python/import_packages/from_init1/runme.py
+++ b/Examples/python/import_packages/from_init1/runme.py
@@ -2,6 +2,12 @@ import os.path
import subprocess
import sys
+def run_except_on_windows(commandline, env=None):
+ if os.name != "nt" and sys.platform != "cygwin":
+ # Strange failures on windows/cygin/mingw
+ subprocess.check_call(commandline, env=env, shell=True)
+ print(" Finished running: " + commandline)
+
# Test import of modules content from within __init__.py
testname = os.path.basename(os.path.dirname(os.path.abspath(__file__)))
print "Testing " + testname + " - %module(package=...) + python 'import' in __init__.py"
@@ -14,20 +20,16 @@ if sys.version_info < (3, 0):
import py2.pkg2
print " Finished importing py2.pkg2"
commandline = sys.executable + " -m py2.pkg2.bar"
- subprocess.check_call(commandline, shell=True)
- print(" Finished running: " + commandline)
+ run_except_on_windows(commandline)
commandline = sys.executable + " -m py2.pkg2.foo"
- subprocess.check_call(commandline, shell=True)
- print(" Finished running: " + commandline)
+ run_except_on_windows(commandline)
else:
import py3.pkg2
print " Finished importing py3.pkg2"
# commandline = sys.executable + " -m py3.pkg2.bar"
- # subprocess.check_call(commandline, shell=True)
- # print(" Finished running: " + commandline)
+ # run_except_on_windows(commandline)
# commandline = sys.executable + " -m py3.pkg2.foo"
- # subprocess.check_call(commandline, shell=True)
- # print(" Finished running: " + commandline)
+ # run_except_on_windows(commandline)
# TODO: Commented out code above results in (from python-3.6 onwards):
# RuntimeWarning: 'py3.pkg2.bar' found in sys.modules after import of package 'py3.pkg2', but prior to execution of 'py3.pkg2.bar'; this may result in unpredictable behaviour
diff --git a/Examples/python/import_packages/from_init2/runme.py b/Examples/python/import_packages/from_init2/runme.py
index 88694db15..3c7b12693 100644
--- a/Examples/python/import_packages/from_init2/runme.py
+++ b/Examples/python/import_packages/from_init2/runme.py
@@ -2,6 +2,12 @@ import os.path
import subprocess
import sys
+def run_except_on_windows(commandline, env=None):
+ if os.name != "nt" and sys.platform != "cygwin":
+ # Strange failures on windows/cygin/mingw
+ subprocess.check_call(commandline, env=env, shell=True)
+ print(" Finished running: " + commandline)
+
# Test import of modules content from within __init__.py
testname = os.path.basename(os.path.dirname(os.path.abspath(__file__)))
print "Testing " + testname + " - %module(package=...) + python 'import' in __init__.py"
@@ -14,14 +20,12 @@ if sys.version_info < (3, 0):
import py2.pkg2
print " Finished importing py2.pkg2"
commandline = sys.executable + " -m py2.pkg2.bar"
- subprocess.check_call(commandline, shell=True)
- print(" Finished running: " + commandline)
+ run_except_on_windows(commandline)
else:
import py3.pkg2
print " Finished importing py3.pkg2"
# commandline = sys.executable + " -m py3.pkg2.bar"
- # subprocess.check_call(commandline, shell=True)
- # print(" Finished running: " + commandline)
+ # run_except_on_windows(commandline)
# TODO: Commented out code above results in (from python-3.6 onwards):
# RuntimeWarning: 'py3.pkg2.bar' found in sys.modules after import of package 'py3.pkg2', but prior to execution of 'py3.pkg2.bar'; this may result in unpredictable behaviour
diff --git a/Examples/python/import_packages/from_init3/runme.py b/Examples/python/import_packages/from_init3/runme.py
index 88694db15..3c7b12693 100644
--- a/Examples/python/import_packages/from_init3/runme.py
+++ b/Examples/python/import_packages/from_init3/runme.py
@@ -2,6 +2,12 @@ import os.path
import subprocess
import sys
+def run_except_on_windows(commandline, env=None):
+ if os.name != "nt" and sys.platform != "cygwin":
+ # Strange failures on windows/cygin/mingw
+ subprocess.check_call(commandline, env=env, shell=True)
+ print(" Finished running: " + commandline)
+
# Test import of modules content from within __init__.py
testname = os.path.basename(os.path.dirname(os.path.abspath(__file__)))
print "Testing " + testname + " - %module(package=...) + python 'import' in __init__.py"
@@ -14,14 +20,12 @@ if sys.version_info < (3, 0):
import py2.pkg2
print " Finished importing py2.pkg2"
commandline = sys.executable + " -m py2.pkg2.bar"
- subprocess.check_call(commandline, shell=True)
- print(" Finished running: " + commandline)
+ run_except_on_windows(commandline)
else:
import py3.pkg2
print " Finished importing py3.pkg2"
# commandline = sys.executable + " -m py3.pkg2.bar"
- # subprocess.check_call(commandline, shell=True)
- # print(" Finished running: " + commandline)
+ # run_except_on_windows(commandline)
# TODO: Commented out code above results in (from python-3.6 onwards):
# RuntimeWarning: 'py3.pkg2.bar' found in sys.modules after import of package 'py3.pkg2', but prior to execution of 'py3.pkg2.bar'; this may result in unpredictable behaviour
diff --git a/Examples/python/import_packages/namespace_pkg/nonpkg.py b/Examples/python/import_packages/namespace_pkg/nonpkg.py
index 845758247..52be74db4 100644
--- a/Examples/python/import_packages/namespace_pkg/nonpkg.py
+++ b/Examples/python/import_packages/namespace_pkg/nonpkg.py
@@ -2,6 +2,12 @@ import os
import subprocess
import sys
+def run_except_on_windows(commandline, env=None):
+ if os.name != "nt" and sys.platform != "cygwin":
+ # Strange failures on windows/cygin/mingw
+ subprocess.check_call(commandline, env=env, shell=True)
+ print(" Finished running: " + commandline)
+
print(" Starting subtest " + os.path.basename(__file__))
# import robin as a module in the global namespace
@@ -13,5 +19,4 @@ if not(robin.run() == "AWAY!"):
raise RuntimeError("test failed")
commandline = sys.executable + " -m robin"
-subprocess.check_call(commandline, shell=True)
-print(" Finished running: " + commandline)
+run_except_on_windows(commandline)
diff --git a/Examples/python/import_packages/namespace_pkg/normal.py b/Examples/python/import_packages/namespace_pkg/normal.py
index d4bb39ef9..924142f74 100644
--- a/Examples/python/import_packages/namespace_pkg/normal.py
+++ b/Examples/python/import_packages/namespace_pkg/normal.py
@@ -2,6 +2,12 @@ import os
import subprocess
import sys
+def run_except_on_windows(commandline, env=None):
+ if os.name != "nt" and sys.platform != "cygwin":
+ # Strange failures on windows/cygin/mingw
+ subprocess.check_call(commandline, env=env, shell=True)
+ print(" Finished running: " + commandline)
+
print(" Starting subtest " + os.path.basename(__file__))
# Package brave found under one path
@@ -14,5 +20,4 @@ if not(robin.run() == "AWAY!"):
raise RuntimeError("test failed")
commandline = sys.executable + " -m brave.robin"
-subprocess.check_call(commandline, shell=True, env = {"PYTHONPATH": "path1"})
-print(" Finished running: " + commandline)
+run_except_on_windows(commandline, env = {"PYTHONPATH": "path1"})
diff --git a/Examples/python/import_packages/namespace_pkg/nstest.py b/Examples/python/import_packages/namespace_pkg/nstest.py
index b0b146c92..e80289fb1 100644
--- a/Examples/python/import_packages/namespace_pkg/nstest.py
+++ b/Examples/python/import_packages/namespace_pkg/nstest.py
@@ -4,6 +4,11 @@ import shutil
import subprocess
import zipfile
+def run_except_on_windows(commandline, env=None):
+ if os.name != "nt" and sys.platform != "cygwin":
+ # Strange failures on windows/cygin/mingw
+ subprocess.check_call(commandline, env=env, shell=True)
+ print(" Finished running: " + commandline)
def copyMods():
dirs = ['path1', 'path2', 'path3']
@@ -36,10 +41,10 @@ def main():
copyMods()
# Run each test with a separate interpreter
- subprocess.check_call(sys.executable + " nonpkg.py", shell=True)
- subprocess.check_call(sys.executable + " normal.py", shell=True)
- subprocess.check_call(sys.executable + " split.py", shell=True)
- subprocess.check_call(sys.executable + " zipsplit.py", shell=True)
+ run_except_on_windows(sys.executable + " nonpkg.py")
+ run_except_on_windows(sys.executable + " normal.py")
+ run_except_on_windows(sys.executable + " split.py")
+ run_except_on_windows(sys.executable + " zipsplit.py")
if __name__ == "__main__":
diff --git a/Examples/python/import_packages/namespace_pkg/split.py b/Examples/python/import_packages/namespace_pkg/split.py
index e92508db1..8989954cc 100644
--- a/Examples/python/import_packages/namespace_pkg/split.py
+++ b/Examples/python/import_packages/namespace_pkg/split.py
@@ -2,6 +2,12 @@ import os
import subprocess
import sys
+def run_except_on_windows(commandline, env=None):
+ if os.name != "nt" and sys.platform != "cygwin":
+ # Strange failures on windows/cygin/mingw
+ subprocess.check_call(commandline, env=env, shell=True)
+ print(" Finished running: " + commandline)
+
print(" Starting subtest " + os.path.basename(__file__))
# Package brave split into two paths.
@@ -16,5 +22,4 @@ if not(robin.run() == "AWAY!"):
raise RuntimeError("test failed")
commandline = sys.executable + " -m brave.robin"
-subprocess.check_call(commandline, shell=True, env = {"PYTHONPATH": "path2:path3"})
-print(" Finished running: " + commandline)
+run_except_on_windows(commandline , env = {"PYTHONPATH": "path2:path3"})
diff --git a/Examples/python/import_packages/namespace_pkg/zipsplit.py b/Examples/python/import_packages/namespace_pkg/zipsplit.py
index fd24d522b..8af9cf025 100644
--- a/Examples/python/import_packages/namespace_pkg/zipsplit.py
+++ b/Examples/python/import_packages/namespace_pkg/zipsplit.py
@@ -2,6 +2,12 @@ import os
import subprocess
import sys
+def run_except_on_windows(commandline, env=None):
+ if os.name != "nt" and sys.platform != "cygwin":
+ # Strange failures on windows/cygin/mingw
+ subprocess.check_call(commandline, env=env, shell=True)
+ print(" Finished running: " + commandline)
+
print(" Starting subtest " + os.path.basename(__file__))
# Package brave split into two paths.
@@ -16,5 +22,4 @@ if not(robin.run() == "AWAY!"):
raise RuntimeError("test failed")
commandline = sys.executable + " -m brave.robin"
-subprocess.check_call(commandline, shell=True, env = {"PYTHONPATH": "path3:path4.zip"})
-print(" Finished running: " + commandline)
+run_except_on_windows(commandline, env = {"PYTHONPATH": "path3:path4.zip"})
diff --git a/Examples/python/import_packages/relativeimport1/runme.py b/Examples/python/import_packages/relativeimport1/runme.py
index 7de070af6..87101ea46 100644
--- a/Examples/python/import_packages/relativeimport1/runme.py
+++ b/Examples/python/import_packages/relativeimport1/runme.py
@@ -2,6 +2,12 @@ import os.path
import subprocess
import sys
+def run_except_on_windows(commandline, env=None):
+ if os.name != "nt" and sys.platform != "cygwin":
+ # Strange failures on windows/cygin/mingw
+ subprocess.check_call(commandline, env=env, shell=True)
+ print(" Finished running: " + commandline)
+
# Test import of modules content from within __init__.py
testname = os.path.basename(os.path.dirname(os.path.abspath(__file__)))
print "Testing " + testname + " - %module(package=...) with -relativeimport"
@@ -14,17 +20,13 @@ if sys.version_info < (3, 0):
import py2.pkg2.bar
print " Finished importing py2.pkg2.bar"
commandline = sys.executable + " -m py2.pkg2.bar"
- subprocess.check_call(commandline, shell=True)
- print(" Finished running: " + commandline)
+ run_except_on_windows(commandline)
commandline = sys.executable + " -m py2.pkg2.pkg3.foo"
- subprocess.check_call(commandline, shell=True)
- print(" Finished running: " + commandline)
+ run_except_on_windows(commandline)
else:
import py3.pkg2.bar
print " Finished importing py3.pkg2.bar"
commandline = sys.executable + " -m py3.pkg2.bar"
- subprocess.check_call(commandline, shell=True)
- print(" Finished running: " + commandline)
+ run_except_on_windows(commandline)
commandline = sys.executable + " -m py3.pkg2.pkg3.foo"
- subprocess.check_call(commandline, shell=True)
- print(" Finished running: " + commandline)
+ run_except_on_windows(commandline)
diff --git a/Examples/python/import_packages/relativeimport2/runme.py b/Examples/python/import_packages/relativeimport2/runme.py
index f4b5090a1..f5b55782f 100644
--- a/Examples/python/import_packages/relativeimport2/runme.py
+++ b/Examples/python/import_packages/relativeimport2/runme.py
@@ -2,6 +2,12 @@ import os.path
import subprocess
import sys
+def run_except_on_windows(commandline, env=None):
+ if os.name != "nt" and sys.platform != "cygwin":
+ # Strange failures on windows/cygin/mingw
+ subprocess.check_call(commandline, env=env, shell=True)
+ print(" Finished running: " + commandline)
+
# Test import of modules content from within __init__.py
testname = os.path.basename(os.path.dirname(os.path.abspath(__file__)))
print "Testing " + testname + " - %module(package=...) + python 'import' in __init__.py"
@@ -14,17 +20,13 @@ if sys.version_info < (3, 0):
import py2.pkg2.bar
print " Finished importing py2.pkg2.bar"
commandline = sys.executable + " -m py2.pkg2.bar"
- subprocess.check_call(commandline, shell=True)
- print(" Finished running: " + commandline)
+ run_except_on_windows(commandline)
commandline = sys.executable + " -m py2.pkg2.pkg3.pkg4.foo"
- subprocess.check_call(commandline, shell=True)
- print(" Finished running: " + commandline)
+ run_except_on_windows(commandline)
else:
import py3.pkg2.bar
print " Finished importing py3.pkg2.bar"
commandline = sys.executable + " -m py3.pkg2.bar"
- subprocess.check_call(commandline, shell=True)
- print(" Finished running: " + commandline)
+ run_except_on_windows(commandline)
commandline = sys.executable + " -m py3.pkg2.pkg3.pkg4.foo"
- subprocess.check_call(commandline, shell=True)
- print(" Finished running: " + commandline)
+ run_except_on_windows(commandline)
diff --git a/Examples/python/import_packages/relativeimport3/runme.py b/Examples/python/import_packages/relativeimport3/runme.py
index 7de070af6..87101ea46 100644
--- a/Examples/python/import_packages/relativeimport3/runme.py
+++ b/Examples/python/import_packages/relativeimport3/runme.py
@@ -2,6 +2,12 @@ import os.path
import subprocess
import sys
+def run_except_on_windows(commandline, env=None):
+ if os.name != "nt" and sys.platform != "cygwin":
+ # Strange failures on windows/cygin/mingw
+ subprocess.check_call(commandline, env=env, shell=True)
+ print(" Finished running: " + commandline)
+
# Test import of modules content from within __init__.py
testname = os.path.basename(os.path.dirname(os.path.abspath(__file__)))
print "Testing " + testname + " - %module(package=...) with -relativeimport"
@@ -14,17 +20,13 @@ if sys.version_info < (3, 0):
import py2.pkg2.bar
print " Finished importing py2.pkg2.bar"
commandline = sys.executable + " -m py2.pkg2.bar"
- subprocess.check_call(commandline, shell=True)
- print(" Finished running: " + commandline)
+ run_except_on_windows(commandline)
commandline = sys.executable + " -m py2.pkg2.pkg3.foo"
- subprocess.check_call(commandline, shell=True)
- print(" Finished running: " + commandline)
+ run_except_on_windows(commandline)
else:
import py3.pkg2.bar
print " Finished importing py3.pkg2.bar"
commandline = sys.executable + " -m py3.pkg2.bar"
- subprocess.check_call(commandline, shell=True)
- print(" Finished running: " + commandline)
+ run_except_on_windows(commandline)
commandline = sys.executable + " -m py3.pkg2.pkg3.foo"
- subprocess.check_call(commandline, shell=True)
- print(" Finished running: " + commandline)
+ run_except_on_windows(commandline)
diff --git a/Examples/python/import_packages/same_modnames1/runme.py b/Examples/python/import_packages/same_modnames1/runme.py
index a3a579a17..a64551bfd 100644
--- a/Examples/python/import_packages/same_modnames1/runme.py
+++ b/Examples/python/import_packages/same_modnames1/runme.py
@@ -2,6 +2,12 @@ import os.path
import subprocess
import sys
+def run_except_on_windows(commandline, env=None):
+ if os.name != "nt" and sys.platform != "cygwin":
+ # Strange failures on windows/cygin/mingw
+ subprocess.check_call(commandline, env=env, shell=True)
+ print(" Finished running: " + commandline)
+
# Test import of same modules from different packages
testname = os.path.basename(os.path.dirname(os.path.abspath(__file__)))
print "Testing " + testname + " - %module(package=...) + python 'import' in __init__.py"
@@ -17,5 +23,4 @@ if classname.find("pkg2.foo.Pkg2_Foo") == -1:
print " Successfully created object pkg2.foo.Pkg2_Foo"
commandline = sys.executable + " -m pkg2.foo"
-subprocess.check_call(commandline, shell=True)
-print(" Finished running: " + commandline)
+run_except_on_windows(commandline)
diff --git a/Examples/python/import_packages/same_modnames2/runme.py b/Examples/python/import_packages/same_modnames2/runme.py
index cc1370286..c2cf2744c 100644
--- a/Examples/python/import_packages/same_modnames2/runme.py
+++ b/Examples/python/import_packages/same_modnames2/runme.py
@@ -2,6 +2,12 @@ import os.path
import subprocess
import sys
+def run_except_on_windows(commandline, env=None):
+ if os.name != "nt" and sys.platform != "cygwin":
+ # Strange failures on windows/cygin/mingw
+ subprocess.check_call(commandline, env=env, shell=True)
+ print(" Finished running: " + commandline)
+
testname = os.path.basename(os.path.dirname(os.path.abspath(__file__)))
print "Testing " + testname + " - %module(package=...) + python 'import' in __init__.py"
@@ -16,5 +22,4 @@ if classname.find("pkg1.pkg2.foo.Pkg2_Foo") == -1:
print " Successfully created object pkg1.pkg2.foo.Pkg2_Foo"
commandline = sys.executable + " -m pkg1.pkg2.foo"
-subprocess.check_call(commandline, shell=True)
-print(" Finished running: " + commandline)
+run_except_on_windows(commandline)
diff --git a/Examples/python/import_packages/split_modules/vanilla/runme.py b/Examples/python/import_packages/split_modules/vanilla/runme.py
index 35d5118aa..79d79b4c3 100644
--- a/Examples/python/import_packages/split_modules/vanilla/runme.py
+++ b/Examples/python/import_packages/split_modules/vanilla/runme.py
@@ -2,6 +2,12 @@ import os.path
import subprocess
import sys
+def run_except_on_windows(commandline, env=None):
+ if os.name != "nt" and sys.platform != "cygwin":
+ # Strange failures on windows/cygin/mingw
+ subprocess.check_call(commandline, env=env, shell=True)
+ print(" Finished running: " + commandline)
+
testname = os.path.basename(os.path.dirname(os.path.abspath(__file__)))
print "Testing " + testname + " - split modules"
@@ -13,5 +19,4 @@ if not(pkg1.foo.count() == 3):
raise RuntimeError("test failed")
commandline = sys.executable + " -m pkg1.foo"
-subprocess.check_call(commandline, shell=True)
-print(" Finished running: " + commandline)
+run_except_on_windows(commandline)
diff --git a/Examples/python/import_packages/split_modules/vanilla_split/runme.py b/Examples/python/import_packages/split_modules/vanilla_split/runme.py
index 35d5118aa..79d79b4c3 100644
--- a/Examples/python/import_packages/split_modules/vanilla_split/runme.py
+++ b/Examples/python/import_packages/split_modules/vanilla_split/runme.py
@@ -2,6 +2,12 @@ import os.path
import subprocess
import sys
+def run_except_on_windows(commandline, env=None):
+ if os.name != "nt" and sys.platform != "cygwin":
+ # Strange failures on windows/cygin/mingw
+ subprocess.check_call(commandline, env=env, shell=True)
+ print(" Finished running: " + commandline)
+
testname = os.path.basename(os.path.dirname(os.path.abspath(__file__)))
print "Testing " + testname + " - split modules"
@@ -13,5 +19,4 @@ if not(pkg1.foo.count() == 3):
raise RuntimeError("test failed")
commandline = sys.executable + " -m pkg1.foo"
-subprocess.check_call(commandline, shell=True)
-print(" Finished running: " + commandline)
+run_except_on_windows(commandline)