diff --git a/doc/todo.md b/doc/todo.md index 230b1f5..afd80da 100644 --- a/doc/todo.md +++ b/doc/todo.md @@ -70,11 +70,6 @@ Stand: 2026-10-26. Wird woechentlich (freitags) mit der Doku geprueft, siehe ## 6. Tests -- **Statisches Inventar veraltet**: `tests/test_vf_headless_statisch.py` - (`test_alert_nur_in_interaktiv_pfaden`, `test_eingabe_fundstellen_unveraendert`) - - das eingecheckte Soll-Inventar `ALERT_ERLAUBT`/`EINGABE_ERLAUBT` kennt die - neueren Funktionen (`vfl-body-abschluss`, `vflw-gruppe-*-impl` ...) nicht. - Inventar nach Pruefung aktualisieren. - **`tests/test_vf_geometrie.py`** braucht BricsCAD-erzeugte DXF-Referenzdaten, die headless fehlen -> schlaegt ohne vorherigen CAD-Lauf fehl. - CAD-Laeufe `TEST_VF_SPEC` und `VF_SPEC_BAU` + `tests/test_vf_spec.py` diff --git a/tests/test_run_all.lsp b/tests/test_run_all.lsp index 69f2494..aeb5d13 100644 --- a/tests/test_run_all.lsp +++ b/tests/test_run_all.lsp @@ -69,7 +69,17 @@ ;; --- Hilfsfunktion: String-Wert aus JSON-Objekt-Zeile lesen --- ;; Sucht "key": "value" in obj-str und gibt value zurueck. ;; Rueckgabe: String (nicht leer) oder nil (key fehlt, null, leer). -(defun alltests:get-str (obj-str key / pat pos val-start val-end val) +;; Dateiname ohne fuehrenden Praefix (sonst unveraendert). Gegenstueck zu +;; export:dwg-praefix, den der Export selbst vor den Namen setzt. +(defun testrun:ohne-praefix (dateiname praefix) + (if (and praefix + (/= praefix "") + (> (strlen dateiname) (strlen praefix)) + (= (strcase (substr dateiname 1 (strlen praefix))) (strcase praefix))) + (substr dateiname (1+ (strlen praefix))) + dateiname)) + +(defun alltests:get-str(obj-str key / pat pos val-start val-end val) (setq pat (strcat "\"" key "\": \"")) (setq pos (vl-string-search pat obj-str)) (if pos @@ -151,7 +161,8 @@ namen befehl datei export-fn new-doc out-path dwg-pfad dxf-pfad old-json test-result old-filenames csv-name sivas-name csv-pfad - sivas-pfad csv-ok sivas-ok old-filedia) + sivas-pfad csv-ok sivas-ok old-filedia + praefix) (setq tests-pfad (strcat (getenv "DXFMAKRO") "/tests")) (setq tests-out-dir (strcat tests-pfad "/output")) @@ -328,12 +339,22 @@ ;; Nur die beiden CSV-Namen ersetzen, alle uebrigen Keys ;; (z.B. kreisel_weichen_datei) unveraendert uebernehmen - ;; eine hart nachgebaute Liste verliert sonst neue Keys. + ;; Nach vla-saveas (save "dwg") ist die Zeichnung benannt + ;; (DWGTITLED=1, DWGNAME=_tests.dwg), und der Export + ;; setzt selbst "_tests_" davor (export:dwg-praefix). + ;; Diesen Praefix hier abziehen, sonst entsteht + ;; "_tests__tests_export.csv" und das Warten auf + ;; csv-pfad laeuft ins Timeout. DXFOUT benennt die Zeichnung + ;; nicht um -> Praefix leer, Name bleibt vollstaendig. + (setq praefix (export:dwg-praefix)) (setq old-filenames *export-filenames*) (setq *export-filenames* (mapcar '(lambda (p) - (cond ((= (car p) "sivas_csv") (cons "sivas_csv" sivas-name)) - ((= (car p) "csv_csv") (cons "csv_csv" csv-name)) + (cond ((= (car p) "sivas_csv") + (cons "sivas_csv" (testrun:ohne-praefix sivas-name praefix))) + ((= (car p) "csv_csv") + (cons "csv_csv" (testrun:ohne-praefix csv-name praefix))) (T p))) old-filenames))