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