swig/Examples/python/import_packages/namespace_pkg/nstest.py
William S Fulton ff93f2e26e 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
2018-12-06 06:50:57 +00:00

51 lines
1.4 KiB
Python

import sys
import os
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']
# Clean out any old package paths
for d in dirs:
if os.path.isdir(d):
shutil.rmtree(d)
for d in dirs:
os.mkdir(d)
os.mkdir(os.path.join(d, 'brave'))
shutil.copy('robin.py', os.path.join('path1', 'brave'))
subprocess.check_call('cp _robin.* ' + os.path.join('path1', 'brave'), shell=True)
shutil.copy('robin.py', os.path.join('path2', 'brave'))
subprocess.check_call('cp _robin.* ' + os.path.join('path3', 'brave'), shell=True)
mkzip()
def mkzip():
zf = zipfile.ZipFile("path4.zip", "w")
zf.writestr("brave/", b'')
zf.write('robin.py', 'brave/robin.py')
zf.close()
def main():
copyMods()
# Run each test with a separate interpreter
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__":
main()