diff --git a/tools/run_suites.py b/tools/run_suites.py index 8076570..7dfd834 100644 --- a/tools/run_suites.py +++ b/tools/run_suites.py @@ -10,8 +10,13 @@ for path in suites: name = path.split("/")[-1][:-3] proc = subprocess.run([GODOT, "--headless", "--path", ".", "-s", path], capture_output=True, text=True, timeout=600) - out = proc.stdout + proc.stderr - if re.search(r"SCRIPT ERROR:|Parse Error", out): + out = proc.stdout + "\n" + proc.stderr + # Fehler-Erkennung NUR auf echte Godot-Fehlerzeilen: ^SCRIPT ERROR: am + # Zeilenanfang (Zeile 73 "ok: Parse Error wird erkannt ..." muss NICHT + # treffen — die Suite testet die False-Positive-Erkennung und druckt den + # Phrase-Text). "\n" dazwischen: stdout+stderr dürfen nicht verkleben, + # sonst verliert der ^-Anker die erste stderr-Zeile. + if re.search(r"^SCRIPT ERROR:|^Parse Error:", out, re.MULTILINE): st = "SCRIPT_ERROR" elif re.search(r"FAILURES: [1-9]|FAILED|TEST_FAIL", out): st = "FAIL"