Meine eigene Zeile aus dem vorigen Commit. Im Quelltext stand "a\b.mkv" mit EINEM Backslash - Python liest \b als Backspace-Zeichen, der String enthaelt also gar keinen Backslash, und _sicherer_dateiname gab korrekt True zurueck. Der Test behauptete, den Backslash-Pfad zu pruefen, und tat es nicht. Jetzt ein Raw-String r"a\b.mkv". Warum das lokal nicht auffiel: test_api_smoke.py ueberspringt sich unter Windows selbst (main.py -> detection.py -> fcntl). Genau die Luecke, die im Savepoint als offener Punkt steht - hier hat sie sofort zugeschlagen. Lehre: Tests, die nur in der Ampel laufen, sind erst nach dem Push bewiesen, und Backslashes gehoeren in Raw-Strings. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -91,6 +91,8 @@ def test_sicherer_dateiname_blockt_pfad_tricks():
|
|||||||
assert _sicherer_dateiname("film.mkv") is True
|
assert _sicherer_dateiname("film.mkv") is True
|
||||||
assert _sicherer_dateiname("../../etc/passwd") is False
|
assert _sicherer_dateiname("../../etc/passwd") is False
|
||||||
assert _sicherer_dateiname("a/b.mkv") is False
|
assert _sicherer_dateiname("a/b.mkv") is False
|
||||||
assert _sicherer_dateiname("a\b.mkv") is False
|
# Raw-String: "a\b.mkv" waere ein Backspace-Zeichen und gar kein Backslash —
|
||||||
|
# der Test war deshalb erst gruen, obwohl er nichts prueft (Ampel 19:10).
|
||||||
|
assert _sicherer_dateiname(r"a\b.mkv") is False
|
||||||
assert _sicherer_dateiname(".versteckt") is False
|
assert _sicherer_dateiname(".versteckt") is False
|
||||||
assert _sicherer_dateiname("") is False
|
assert _sicherer_dateiname("") is False
|
||||||
|
|||||||
Reference in New Issue
Block a user