[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:
@@ -137,6 +137,19 @@
|
||||
)
|
||||
|
||||
|
||||
;; ------------------------------------------------------------
|
||||
;; GUI-MODUS (fuer automatische Tests)
|
||||
;; ------------------------------------------------------------
|
||||
;; Globaler Schalter, um alle interaktiven Oberflaechen-Abfragen (DCL-Dialoge,
|
||||
;; Wizard-Fenster) abzuschalten - dann laufen die Module ueber ihre Konsolen-
|
||||
;; bzw. Nicht-GUI-Pfade, die von den Testrunnern per Mock-Eingabe/Replay
|
||||
;; bedient werden. Default nil = GUI an (normaler Betrieb).
|
||||
;; Test-Setup ruft (ssg-gui-aus) auf; ssg-gui-p fragt den Zustand ab.
|
||||
(if (not (boundp '*ssg-gui-aus*)) (setq *ssg-gui-aus* nil))
|
||||
(defun ssg-gui-p () (null *ssg-gui-aus*)) ;; T = GUI erlaubt
|
||||
(defun ssg-gui-aus () (setq *ssg-gui-aus* T) (princ))
|
||||
(defun ssg-gui-an () (setq *ssg-gui-aus* nil) (princ))
|
||||
|
||||
;; ------------------------------------------------------------
|
||||
;; LISP-PFAD-ERMITTLUNG
|
||||
;; ------------------------------------------------------------
|
||||
|
||||
+13
-5
@@ -413,6 +413,14 @@
|
||||
(if (not (boundp '*vflw-menu-default*)) (setq *vflw-menu-default* 1))
|
||||
(if (not (boundp '*vflw-menu-frage*)) (setq *vflw-menu-frage* nil))
|
||||
|
||||
;; Effektiver Wizard-Zustand: Wizard-DCL-Dialoge nur, wenn *vfl-wizard-mode*
|
||||
;; gesetzt UND die GUI global nicht abgeschaltet ist (Tests: (ssg-gui-aus)).
|
||||
;; Bei abgeschalteter GUI fallen alle Eingaben auf den Konsolen-/getXXX-Pfad
|
||||
;; zurueck, den die Testrunner per Mock/Replay bedienen.
|
||||
(defun vfl-wizard-mode-p ()
|
||||
(and *vfl-wizard-mode*
|
||||
(or (not (car (atoms-family 1 '("SSG-GUI-P")))) (ssg-gui-p))))
|
||||
|
||||
;; Wizard-GRUPPEN-Dialoge (vflw-gruppe-*-impl) duerfen NUR bei echter Live-
|
||||
;; Eingabe aufgehen - waehrend eines Journal-Replays (Editieren/Fortsetzen
|
||||
;; einer bestehenden Kette, *vfl-replay-queue* gesetzt) liefern vfl-in-point/
|
||||
@@ -424,7 +432,7 @@
|
||||
;; Eingabe umgeschaltet wird, liest der naechste Wrapper diese laengst
|
||||
;; veralteten, falsch typisierten Werte statt neu zu fragen (siehe
|
||||
;; vfl-neue-linie-messen: fuehrte zu einem String-statt-Punkt-Absturz).
|
||||
(defun vfl-wizard-aktiv () (and *vfl-wizard-mode* (null *vfl-replay-queue*)))
|
||||
(defun vfl-wizard-aktiv () (and (vfl-wizard-mode-p) (null *vfl-replay-queue*)))
|
||||
|
||||
(defun c:VF_WIZARD_AN ()
|
||||
(setq *vfl-wizard-mode* T)
|
||||
@@ -897,7 +905,7 @@
|
||||
(vfl-in-value-p "STR"
|
||||
(function (lambda (v) (eq (type v) 'STR)))
|
||||
(function (lambda ()
|
||||
(if (and *vfl-wizard-mode* *vflw-menu-optionen*)
|
||||
(if (and (vfl-wizard-mode-p) *vflw-menu-optionen*)
|
||||
(vflw-wahl (if *vflw-menu-frage* (ssg-text *vflw-menu-frage*) prompt)
|
||||
*vflw-menu-optionen* *vflw-menu-default*)
|
||||
(getstring prompt))))))
|
||||
@@ -905,12 +913,12 @@
|
||||
(defun vfl-in-real (prompt)
|
||||
(vfl-in-value "REAL"
|
||||
(function (lambda ()
|
||||
(if *vfl-wizard-mode* (vflw-zahl prompt) (getreal prompt))))))
|
||||
(if (vfl-wizard-mode-p) (vflw-zahl prompt) (getreal prompt))))))
|
||||
|
||||
(defun vfl-in-int (prompt)
|
||||
(vfl-in-value "INT"
|
||||
(function (lambda ( / vs)
|
||||
(if (and *vfl-wizard-mode* *vflw-menu-optionen*)
|
||||
(if (and (vfl-wizard-mode-p) *vflw-menu-optionen*)
|
||||
(progn
|
||||
(setq vs (vflw-wahl (if *vflw-menu-frage* (ssg-text *vflw-menu-frage*) prompt)
|
||||
*vflw-menu-optionen* *vflw-menu-default*))
|
||||
@@ -963,7 +971,7 @@
|
||||
;; Live-Abfrage eines Winkelwerts. Wizard: Auswahl aus den Labels, Position ->
|
||||
;; winkel-werte. Konsole: direkte Zahleneingabe (ENTER = Default).
|
||||
(defun vfl-winkel-live (prompt winkel-werte default-winkel / vs idx r)
|
||||
(if (and *vfl-wizard-mode* *vflw-menu-optionen*)
|
||||
(if (and (vfl-wizard-mode-p) *vflw-menu-optionen*)
|
||||
(progn
|
||||
(setq vs (vflw-wahl (if *vflw-menu-frage* (ssg-text *vflw-menu-frage*) prompt)
|
||||
*vflw-menu-optionen* *vflw-menu-default*))
|
||||
|
||||
Reference in New Issue
Block a user