3.4 KiB
Test-Umgebung: woran die Editor-Suiten hängen (Karte t_1e82f747, 20.10.2026)
Kurzreferenz für die nächste Person: was die zwei zuvor „immer rot"-Suiten
brauchen, warum sie in einem nackten Klon rot/skip waren, und wie man sie
grün fährt. Für die Pack-Textur-Zuordnung selbst siehe
PACK_TEXTURE_MAPPING.md im Client-Repo (verbindlich).
tests/test_updater.gd (75 Checks)
Braucht: nur das git-Binary (keine Identität — die Suite setzt
user.name/user.email lokal in ihren Temp-Repos; kein Netz, alles läuft
gegen ein Bare-Repo unter user://test_updater_…).
Früherer Dauer-Fehler (behoben): der Lauf nutzte
user://test_updater_<Time.get_ticks_msec()> als Verzeichnis —
ticks_msec zählt nur seit Godot-Start und ist bei CLI-Läufen immer eine
kleine Zahl (z. B. 115). Die Namen kollidierten mit Alt-Läufen, die sich
nicht löschen ließen (git macht .git-Pack-Dateien read-only), und
git init lief dann in einer ALTEN Sitzung: remote „already exists",
alter Arbeitsbaum, rote Setup-Zeilen ohne echten Bug.
Jetzt:
- Verzeichnisname = Unix-Zeit +
ticks_usec(pro Run einzigartig). - Aufräumen erzwingt Schreibrechte (
chmod -R u+w, blocking viaOS.executemit output-Array — die 2-Argument-Variante ist in Godot 4 asynchron!) und löscht inkl. versteckter Ordner (DirAccess.include_hidden = true,.gitist versteckt) mitrm -rf-Rückfallebene. - Fehlerhafte git-Aufrufe geben den echten git-Fehlertext aus
(
git [dir] args → code=…), nicht nur eine rote Zahl.
tests/test_glb_view.gd (48 Checks)
Braucht: ein Nachbar-Repo mit assets/objekte (Mesh-Lager) —
scopedvr-client oder scopedvr-match-server. Gesucht wird wie in
tools/sync_objects.sh:
- Env
SCOPEDVR_CLIENT_DIR/SCOPEDVR_MATCH_SERVER_DIR(absolute Pfade werden testseitig in../-Pfade umgerechnet —glb_quellenmüssen basis-relativ sein,String.path_joinketten Absolutpfade nur an), - dann
../- und../../-Siblings relativ zum Editor-Repo.
Ohne Fund: klare SKIP-Zeilen + Exit 0 (kein rotes Krachen). Die
GLB-Quellen werden zur Laufzeit in ProjectSettings gesetzt
(scopedvr/editor/glb_quellen) — kein Eingriff in src/.
Textur-Erwartungen (Stand d0d4fbd): die Pack-GLBs tragen ihre
ORIGINAL-Texturen (GLTFDocument löst die externen URIs selbst auf, je Parse
eine eigene ImageTexture-Instanz — der _camo_tex_cache bleibt leer). Die
alten Camo-Erwartungen (desert_multicam_1/2.png, geteilte Cache-Instanz)
sind entfernt. Geprüft wird jetzt: alle Flächen albedo_texture != null,
Kante = Palette-Größe (1024²), reine Zuordnung pack_datei_fuer
(military_base(+_00x) → Demonstration_Textures1.png, picture_1/2 →
Demonstration_picture_N.png 2048²) und die Pack-Dateien im gefundenen
Nachbar-Repo.
Schnelltest in diesem Container:
cd <klon>/scopedvr-map-editor
/opt/data/home/bin/godot4 --headless --path . --import # Pflicht vor jeder -s-Suite
/opt/data/home/bin/godot4 --headless --path . --script res://tests/test_glb_view.gd
# ohne Nachbar-Repo: SKIP-Zeilen; mit: ALL OK: 48 checks
test_gui_smoke (F5) — vorbestehend rot, NICHT Teil von t_1e82f747
F5: Karte-testen-Flow angesprungen + F5: Fehler-Dialog im nicht-gefunden-Zweig geöffnet (2/89) schlagen auch am jungfräulichen
0adb161 fehl (per git stash-Verfahren verifiziert, 20.10.). Ursache ist
nicht die Test-Pflege dieser Karte; Grenze der Karte war ausdrücklich nur
test_updater.gd + test_glb_view.gd + Notizen.