1 """Paths to compiled binaries, and a few other important environment variables."""
8 "TEST_NAME": os.getenv("TEST_NAME"),
9 "TINC_PATH": os.getenv("TINC_PATH"),
10 "TINCD_PATH": os.getenv("TINCD_PATH"),
11 "SPLICE_PATH": os.getenv("SPLICE_PATH"),
12 "PYTHON_PATH": os.getenv("PYTHON_PATH"),
13 "SPTPS_TEST_PATH": os.getenv("SPTPS_TEST_PATH"),
14 "SPTPS_KEYPAIR_PATH": os.getenv("SPTPS_KEYPAIR_PATH"),
17 # Not strictly necessary, used for better autocompletion and search by reference.
18 TEST_NAME = str(env["TEST_NAME"])
19 TINC_PATH = str(env["TINC_PATH"])
20 TINCD_PATH = str(env["TINCD_PATH"])
21 SPLICE_PATH = str(env["SPLICE_PATH"])
22 PYTHON_PATH = str(env["PYTHON_PATH"])
23 SPTPS_TEST_PATH = str(env["SPTPS_TEST_PATH"])
24 SPTPS_KEYPAIR_PATH = str(env["SPTPS_KEYPAIR_PATH"])
26 PYTHON_CMD = "runpython" if "meson.exe" in PYTHON_PATH.lower() else ""
27 PYTHON_INTERPRETER = f"{PYTHON_PATH} {PYTHON_CMD}".rstrip()
31 """Basic sanity checks on passed environment variables."""
32 for key, val in env.items():
33 if not val or (key != "TEST_NAME" and not os.path.isfile(val)):
40 Please run tests using
45 print(MSG, file=sys.stderr)
48 # Current working directory
51 # Path to the testing library
52 TESTLIB_ROOT = pathlib.Path(__file__).parent
54 # Source root for the integration test suite
55 TEST_SRC_ROOT = TESTLIB_ROOT.parent.resolve()
57 _wd = os.path.join(CWD, "wd")
58 os.makedirs(_wd, exist_ok=True)
60 # Useful when running tests manually
61 _gitignore = os.path.join(_wd, ".gitignore")
62 if not os.path.exists(_gitignore):
63 with open(_gitignore, "w", encoding="utf-8") as f:
66 # Working directory for this test
67 TEST_WD = os.path.join(_wd, TEST_NAME)