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/cygwin/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") import pkg2.foo print(" Finished importing pkg2.foo") var2 = pkg2.foo.Pkg2_Foo() classname = str(type(var2)) if classname.find("pkg2.foo.Pkg2_Foo") == -1: raise RuntimeError("failed type checking: " + classname) print(" Successfully created object pkg2.foo.Pkg2_Foo") commandline = sys.executable + " -m pkg2.foo" run_except_on_windows(commandline)