Automatischer Push: 6 Datei(en) geändert
- .vault-tools/plan-kopie/LIESMICH.md - .vault-tools/plan-kopie/rot_nachweis.py - .vault-tools/trading-plattform-pruefung/LIESMICH.md - .vault-tools/trading-plattform-pruefung/browser_r.py - .vault-tools/trading-plattform-pruefung/start_probe_w.py - .vault-tools/trading-plattform-pruefung/start_probe_zugang.py Erzeugt vom PostToolUse-Hook .vault-tools/auto-push/auto_push.py. Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
1 parent
94116e5a32
commit
b7cc7433a9
2 files changed
+32
-5
No files matched your search
@@ -12,6 +12,14 @@ Dann laufen die Testdateien des Tasks. Es tut etwas und berichtet; das Urteil fa
|
||||
Geltungsbereich und Luecken:
|
||||
- Testdateien sind Zieldateien unter tests/ sowie *.test.ts und *.test.tsx; alles unter tests/fixtures/
|
||||
gilt als Testseite und bleibt stehen. Alles andere ist produktiv.
|
||||
- tests/conftest.py gilt als PRODUKTIVSEITE und wird zurueckgesetzt (Projektvorgabe seit 2026-09-22):
|
||||
Liegt die Korrektur eines Tasks selbst in conftest.py (Trading Plattform, Task 369: die Ersatzfunktionen
|
||||
der Netzsperre), wendete das Skript sie im Lauf "ohne Umsetzung" mit an und meldete GRUEN -- der eine
|
||||
Zustand, in dem der Nachweis nichts misst, sah aus wie ein sauberer Befund. Liegt dagegen eine neue
|
||||
Fixture des Tasks in conftest.py (Task 368), fehlt sie jetzt im Lauf und die neuen Tests enden als
|
||||
Sammelfehler -- das ist ROT mit "fixture ... not found" in der ersten Fehlerzeile, also sichtbar.
|
||||
Wer diesen Fall hat, ruft mit --conftest-als-test auf; dann gilt conftest.py wie frueher als Testdatei.
|
||||
Das Skript sagt je Task, wie es conftest.py behandelt hat.
|
||||
- Python-Tests laufen in WSL (Debian, ~/venvs/trading), Oberflaechentests unter Windows mit npx vitest;
|
||||
dafuer setzt das Skript eine Junction auf das node_modules des Projekts und loest sie vor dem Loeschen.
|
||||
- Erzeugte Fixtures (der Plan laesst sie mit altem Code erzeugen) holt --fixturen aus einem Ordner nach,
|
||||
@@ -20,8 +28,9 @@ Geltungsbereich und Luecken:
|
||||
- Die Basis ist eine Kopie, die der Aufrufer VOR der ersten Welle gezogen hat; das Skript fasst das
|
||||
Projekt selbst nie an.
|
||||
|
||||
Aufruf: python rot_nachweis.py <basis-kopie> <planordner> <arbeitsordner> <spec.json> [--fixturen <ordner>] [--node-modules <pfad>]
|
||||
Aufruf: python rot_nachweis.py <basis-kopie> <planordner> <arbeitsordner> <spec.json> [--fixturen <ordner>] [--node-modules <pfad>] [--conftest-als-test]
|
||||
--node-modules nennt das node_modules des Projekts, wenn die Basis-Kopie keines traegt.
|
||||
--conftest-als-test laesst tests/conftest.py als Testdatei stehen (nur, wenn die neue Fixture des Tasks dort liegt).
|
||||
spec.json: [{"task": "task-141-....md", "vor": ["task-...md", ...]}, ...]
|
||||
"""
|
||||
|
||||
@@ -37,6 +46,7 @@ from pathlib import Path
|
||||
HIER = Path(__file__).resolve().parent
|
||||
ZIEL = re.compile(r"^- `(.+?)`")
|
||||
PROJEKTNAME = "trading-plattform/"
|
||||
CONFTEST = "tests/conftest.py"
|
||||
|
||||
|
||||
def zieldateien(taskdatei: Path) -> list[str]:
|
||||
@@ -59,7 +69,11 @@ def zieldateien(taskdatei: Path) -> list[str]:
|
||||
return ziele
|
||||
|
||||
|
||||
def ist_test(pfad: str) -> bool:
|
||||
def ist_test(pfad: str, conftest_als_test: bool = False) -> bool:
|
||||
if pfad == CONFTEST:
|
||||
# Vorgabe: produktiv. Sonst wendet der Lauf "ohne Umsetzung" eine Korrektur an, die in
|
||||
# conftest.py liegt, und meldet gruen (siehe Kopfkommentar).
|
||||
return conftest_als_test
|
||||
return pfad.startswith("tests/") or pfad.endswith((".test.ts", ".test.tsx"))
|
||||
|
||||
|
||||
@@ -105,6 +119,10 @@ def main() -> int:
|
||||
stelle = argumente.index("--node-modules")
|
||||
node_modules_arg = Path(argumente[stelle + 1])
|
||||
del argumente[stelle : stelle + 2]
|
||||
conftest_als_test = False
|
||||
if "--conftest-als-test" in argumente:
|
||||
conftest_als_test = True
|
||||
argumente.remove("--conftest-als-test")
|
||||
if len(argumente) != 4:
|
||||
print(__doc__)
|
||||
return 3
|
||||
@@ -134,9 +152,14 @@ def main() -> int:
|
||||
print(f"{task}: ANWENDEN GESCHEITERT: {fehler[-300:]}")
|
||||
continue
|
||||
ziele = zieldateien(planordner / task)
|
||||
tests = [z for z in ziele if ist_test(z) and not z.startswith("tests/fixtures/")]
|
||||
tests = [z for z in ziele if ist_test(z, conftest_als_test) and not z.startswith("tests/fixtures/")]
|
||||
if CONFTEST in ziele:
|
||||
# Sichtbar machen, was mit conftest.py geschah -- der Koordinator liest die erste Fehlerzeile
|
||||
# anders, wenn eine Fixture fehlt, als wenn eine Korrektur zurueckgesetzt wurde.
|
||||
wie = "als Testdatei stehen gelassen (--conftest-als-test)" if conftest_als_test else "als Produktivseite auf den Stand vor dem Task zurueckgesetzt"
|
||||
print(f"{task}: Hinweis: {CONFTEST} {wie}")
|
||||
for ziel in ziele:
|
||||
if ist_test(ziel):
|
||||
if ist_test(ziel, conftest_als_test):
|
||||
if not (rot / ziel).exists() and fixturen is not None and (fixturen / Path(ziel).name).is_file():
|
||||
(rot / ziel).parent.mkdir(parents=True, exist_ok=True)
|
||||
shutil.copyfile(fixturen / Path(ziel).name, rot / ziel)
|
||||
|
||||
Reference in new issue
Block a user