[TEST] Globaler GUI-Aus-Schalter fuer automatische Testlaeufe
Der VF-Linienzug-Wizard (*vfl-wizard-mode* Default T) oeffnete beim automatischen Replay-Test DCL-Dialoge und blockierte den Lauf. - ssg_core.lsp: globaler Schalter *ssg-gui-aus* + ssg-gui-p/-aus/-an - vf_linienzug.lsp: neue vfl-wizard-mode-p (Wizard nur wenn *vfl-wizard-mode* UND GUI nicht abgeschaltet); ersetzt die direkten *vfl-wizard-mode*-Checks in vfl-in-string/-real/-int, vfl-winkel-live und vfl-wizard-aktiv (deckt damit auch alle vflw-gruppe-*-Dialoge ab). Bei GUI-aus fallen die Eingaben auf den getstring/getint/getreal-Pfad, den die Testrunner per Mock/Replay bedienen. - test_linienzug.lsp: (ssg-gui-aus) vor dem Replay, (ssg-gui-an) danach (immer). - test_run_all.lsp: GUI aus um den gesamten Batch, danach wieder an. Alle Guards ueber atoms-family, damit aeltere Ladezustaende unveraendert funktionieren. Paren-Balance geprueft. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -163,6 +163,11 @@
|
||||
(setvar "ATTREQ" 0)
|
||||
(setvar "ATTDIA" 0)
|
||||
|
||||
;; GUI aus: keine Wizard-DCL-Dialoge waehrend des automatischen Replays -
|
||||
;; die Eingaben kommen aus der Mock-Queue (getstring/getint/getreal), siehe
|
||||
;; ssg-gui-aus/ssg-gui-p in ssg_core.lsp und vfl-wizard-mode-p.
|
||||
(if (car (atoms-family 1 '("SSG-GUI-AUS"))) (ssg-gui-aus))
|
||||
|
||||
;; --- Eingabe-Funktionen sichern und durch Mocks ersetzen ---
|
||||
;; Punkte ueber den Produktions-Wrapper vfl-getpoint (feste 2-Arity),
|
||||
;; getstring/getint/getreal (alle 1-argumentig) direkt.
|
||||
@@ -177,6 +182,9 @@
|
||||
|
||||
;; --- Eingabe-Funktionen wiederherstellen (IMMER) ---
|
||||
(setq vfl-getpoint old-vgp getstring old-gs getint old-gi getreal old-gr)
|
||||
;; GUI wieder einschalten (auch nach Fehler), damit eine folgende interaktive
|
||||
;; Sitzung nicht headless bleibt.
|
||||
(if (car (atoms-family 1 '("SSG-GUI-AN"))) (ssg-gui-an))
|
||||
|
||||
(setq rest-anz (length *tlz-q*))
|
||||
|
||||
|
||||
@@ -185,6 +185,11 @@
|
||||
))
|
||||
(princ "\n================================================================")
|
||||
|
||||
;; GUI aus fuer den gesamten Batch: kein Modul (insb. VarioFoerderer-Linienzug)
|
||||
;; oeffnet DCL-/Wizard-Dialoge, die den automatischen Lauf blockieren wuerden.
|
||||
;; Am Ende wieder einschalten. Siehe ssg-gui-aus/-an in ssg_core.lsp.
|
||||
(if (car (atoms-family 1 '("SSG-GUI-AUS"))) (ssg-gui-aus))
|
||||
|
||||
;; Tests laden und ausfuehren
|
||||
;; Jeder Test bekommt eine eigene neue Zeichnung (statt die aktuelle
|
||||
;; zu leeren/wiederzuverwenden) und bleibt danach als Tab offen.
|
||||
@@ -386,6 +391,9 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; GUI wieder einschalten (Batch fertig).
|
||||
(if (car (atoms-family 1 '("SSG-GUI-AN"))) (ssg-gui-an))
|
||||
|
||||
(princ "\n\n================================================================")
|
||||
(princ "\n SSG_RUN_ALL_TESTS abgeschlossen.")
|
||||
(princ (strcat "\n Ergebnisse in: " (getenv "DXFMAKRO") "/tests/output/"))
|
||||
|
||||
Reference in New Issue
Block a user