aboutsummaryrefslogtreecommitdiff
path: root/Examples/python/import_packages/namespace_pkg/nstest.py
blob: 4d618a6ad40f7ee02e5a00c85babf48d370fbc92 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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()