import os
import subprocess
import sys
from pathlib import Path
def main() -> int:
project_root = Path(__file__).resolve().parent
env = dict(os.environ)
env["NEXTEST_EXPERIMENTAL_LIBTEST_JSON"] = "1"
nextest = subprocess.run(
[
"cargo",
"nextest",
"run",
"--no-fail-fast",
"--message-format",
"libtest-json-plus",
],
stdout=subprocess.PIPE,
cwd=project_root,
env=env,
)
guard = subprocess.run(
[
"tdd-guard-rust",
"--project-root",
str(project_root),
"--passthrough",
"--runner",
"nextest",
],
input=nextest.stdout,
cwd=project_root,
)
return guard.returncode
if __name__ == "__main__":
sys.exit(main())