37 lines
1.6 KiB
Python
37 lines
1.6 KiB
Python
#!/usr/bin/env python3
|
||
"""Erforderlicher Phase-6-Abnahmesatz; keine Downloads oder Golden-Erzeugung."""
|
||
import argparse
|
||
import os
|
||
from pathlib import Path
|
||
import subprocess
|
||
|
||
|
||
def main():
|
||
parser = argparse.ArgumentParser(description=__doc__)
|
||
parser.add_argument("--vbdos-repo", type=Path, required=True,
|
||
help="lokaler cout/vbdos-Git-Bestand in der in foreign.rs fixierten Revision")
|
||
args = parser.parse_args()
|
||
env = dict(os.environ, TB_VBDOS_REPO=str(args.vbdos_repo.resolve()))
|
||
root = Path(__file__).resolve().parents[2]
|
||
commands = [
|
||
["cargo", "test", "--locked", "-p", "tb-cli", "--test", "foreign", "--",
|
||
"--include-ignored", "--nocapture"],
|
||
["cargo", "test", "--locked", "--workspace"],
|
||
["cargo", "test", "--locked", "-p", "tb-cli", "--test", "inventar", "--",
|
||
"--exact", "abdeckungsstand_wird_ausgewiesen", "--nocapture"],
|
||
["cargo", "fmt", "--all", "--", "--check"],
|
||
["cargo", "clippy", "--locked", "--workspace", "--all-targets", "--", "-D", "warnings"],
|
||
["cargo", "bench", "--locked", "-p", "tb-vm", "--bench", "compile", "--bench", "vm"],
|
||
]
|
||
for command in commands:
|
||
print("+ " + " ".join(command), flush=True)
|
||
result = subprocess.run(command, cwd=root, env=env, check=False)
|
||
if result.returncode:
|
||
return result.returncode if result.returncode > 0 else 1
|
||
print("Phase-6-Grundabnahme bestanden; native Ziel-/Releaseabnahme folgt in Changes 02–07.")
|
||
return 0
|
||
|
||
|
||
if __name__ == "__main__":
|
||
raise SystemExit(main())
|