Phase 6: Kompatibilitaetsabnahme abschliessen und archivieren
This commit is contained in:
36
tests/support/release-abnahme.py
Normal file
36
tests/support/release-abnahme.py
Normal file
@@ -0,0 +1,36 @@
|
||||
#!/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())
|
||||
Reference in New Issue
Block a user