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
This commit is contained in:
William S Fulton 2018-12-05 19:43:13 +00:00
commit ff93f2e26e
15 changed files with 121 additions and 60 deletions

View file

@ -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)

View file

@ -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"})

View file

@ -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__":

View file

@ -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"})

View file

@ -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"})