mirror of
https://github.com/elder-plinius/OBLITERATUS.git
synced 2026-08-18 00:47:23 +02:00
test: add Gate 3 numerical oracle contracts
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Run mutmut with prepared coverage and stats artifacts in a fresh interpreter."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import os
|
||||
from pathlib import Path
|
||||
import shutil
|
||||
|
||||
PROJECT_ROOT = Path(__file__).resolve().parents[1]
|
||||
SITECUSTOMIZE = PROJECT_ROOT / "scripts" / "mutmut_coverage_sitecustomize"
|
||||
|
||||
|
||||
def _parser() -> argparse.ArgumentParser:
|
||||
parser = argparse.ArgumentParser(description=__doc__)
|
||||
parser.add_argument("mutmut_args", nargs=argparse.REMAINDER)
|
||||
return parser
|
||||
|
||||
|
||||
def main() -> int:
|
||||
args = _parser().parse_args()
|
||||
mutmut = shutil.which("mutmut")
|
||||
if mutmut is None:
|
||||
print("prepared mutmut runner failed: mutmut executable is not on PATH")
|
||||
return 1
|
||||
|
||||
pythonpath = os.environ.get("PYTHONPATH")
|
||||
prefixes = [str(SITECUSTOMIZE), str(PROJECT_ROOT)]
|
||||
os.environ["PYTHONPATH"] = os.pathsep.join(
|
||||
[*prefixes, *([pythonpath] if pythonpath else [])],
|
||||
)
|
||||
os.environ["OBLITERATUS_MUTMUT_REUSE_COVERAGE"] = "1"
|
||||
os.environ["OBLITERATUS_MUTMUT_REUSE_STATS"] = "1"
|
||||
os.environ["OBLITERATUS_MUTMUT_SUBPROCESS_PREFLIGHT"] = "1"
|
||||
|
||||
command = [mutmut, *(args.mutmut_args or ["run"])]
|
||||
os.execv(mutmut, command)
|
||||
raise AssertionError("os.execv returned unexpectedly")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main())
|
||||
Reference in New Issue
Block a user