70 lines
No EOL
3.4 KiB
Markdown
70 lines
No EOL
3.4 KiB
Markdown
# 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** via
|
|
`OS.execute` mit output-Array — die 2-Argument-Variante ist in Godot 4
|
|
asynchron!) und löscht inkl. versteckter Ordner
|
|
(`DirAccess.include_hidden = true`, `.git` ist versteckt) mit
|
|
`rm -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`:
|
|
|
|
1. Env `SCOPEDVR_CLIENT_DIR` / `SCOPEDVR_MATCH_SERVER_DIR` (absolute Pfade
|
|
werden testseitig in `../`-Pfade umgerechnet — `glb_quellen` müssen
|
|
basis-relativ sein, `String.path_join` ketten Absolutpfade nur an),
|
|
2. 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. |