• v2.1.1 f63a72cb24

    v2.1.1
    CI / verify (push) Successful in 42s
    Release / release (push) Successful in 37s
    Stable

    torben released this 2026-09-01 15:06:29 +00:00 | 107 commits to main since this release

    2.1.1 - 2026-09-01 - raw_dir-Fixture kappt config.ROOT; letzte private Fixture-Namen ersetzt

    Author: Torben Nehmer

    Der erste CI-Lauf nach der Korpus-Bereinigung wurde rot, während dieselbe Suite lokal grün
    blieb: test_legacy_source_pages_flags_url_and_directory scheiterte mit
    KeyError: 'Source - DirBacked'.

    Die Ursache ist keine Testschwäche, sondern eine Umgebungsabhängigkeit. Der Test legt eine
    Quellenseite mit source: raw/documents an und erwartet, dass legacy_source_pages() sie als
    „directory, not a file" meldet. Die Prüfung dort ist (config.ROOT / legacy).is_dir() — sie
    löst also gegen das echte Repo-Wurzelverzeichnis auf, während die raw_dir-Fixture ihren
    Baum unter tmp_path baut. Der Test war nie hermetisch; er bestand, weil dieser Checkout
    zufällig ein raw/documents/ besaß.

    Die Korpus-Bereinigung hat dieses Verzeichnis geleert. Git verfolgt keine leeren Verzeichnisse,
    also verschwand es im CI-Checkout und blieb im lokalen Arbeitsbaum stehen — grün hier, rot
    dort, ohne dass sich am Test etwas geändert hätte.

    Geschlossen in der Fixture, nicht im Test. raw_dir setzt jetzt config.ROOT auf
    tmp_path. Das ist dieselbe Bauart und dasselbe Argument wie bei hermetic_environment
    (Gitea #8): Wenn eine Umgebungsabhängigkeit lokal unsichtbar ist, gehört sie an der Stelle
    geschlossen, die alle Tests erreicht, statt bei dem einen, der zufällig darüber stolpert.
    Nachgewiesen, indem raw/documents/ lokal entfernt und die Suite erneut gefahren wurde — 38
    Provenance-Tests grün ohne das Verzeichnis, vorher rot.

    Fixture-Namen. Die Suite benutzte weiterhin reale Systemnamen der Ursprungsinstanz als
    Fixture-Bezeichner (atlantis, abydos, Nathan, hermes, ecodms, Opa Hasso). In einem
    öffentlichen Repo beschreiben sie nichts, verraten aber die Namensgebung einer privaten
    Umgebung. Ersetzt durch aurora, almanac, Borealis, gateway, docstore. gdeploy
    bleibt: die Seite existiert im öffentlichen Korpus.

    Dateien: tools/chemenu/tests/conftest.py (raw_dir), sämtliche Testdateien mit
    Fixture-Namen.

    Downloads