Ausgabeverzeichnis nur über Lisp Variable festlegen. Anscheinend speichert Bricscad Umgebungen über die Sessions hinweg. Die Ausgaben der Tests landen woanders als der generelle Export

This commit is contained in:
2026-07-10 21:26:41 +02:00
parent bde2380490
commit ab7fc92e23
3 changed files with 72 additions and 5 deletions
+32 -2
View File
@@ -122,11 +122,41 @@
;; ============================================================
(defun c:TEST_EXPORT_ALL (/ tests-out-dir dateien datei basis doc
csv-name sivas-name csv-pfad sivas-pfad
csv-ok sivas-ok results-list old-filenames)
csv-ok sivas-ok results-list old-filenames
ablauf-fehler)
(setq tests-out-dir (strcat (getenv "DXFMAKRO") "/tests/output"))
(vl-mkdir tests-out-dir)
(setenv "DXFM_RESULTS" tests-out-dir)
;; *export-test-override* (Lisp/export.lsp, csv:run-export) fuer die Dauer
;; des Testlaufs setzen, damit c:EXPORTCSV/c:EXPORTSIVAS nach tests/output
;; statt in den normalen Ergebnisordner schreiben.
;; WICHTIG: Absichtlich KEIN (setenv "DXFM_RESULTS" ...)! In BricsCAD
;; schreibt (setenv ...) dauerhaft in die Profil-Registry und ueberlebt
;; damit jeden Neustart - ein einziger Testlauf wuerde DXFM_RESULTS fuer
;; alle zukuenftigen Sitzungen unwiderruflich auf den Testordner umbiegen.
;; *export-test-override* ist eine reine Lisp-Variable (nur Prozess-/
;; Sitzungsspeicher) und wird per vl-catch-all-apply garantiert wieder
;; auf nil gesetzt, auch bei einem Fehler/Abbruch im Testlauf.
(setq *export-test-override* tests-out-dir)
(setq ablauf-fehler (vl-catch-all-apply 'ssg-test-export-all-ablauf
(list tests-out-dir)))
(setq *export-test-override* nil)
(if (vl-catch-all-error-p ablauf-fehler)
(princ (strcat "\n[TEST_EXPORT_ALL] FEHLER: "
(vl-catch-all-error-message ablauf-fehler)))
)
(princ)
)
;; --- Eigentlicher Ablauf von TEST_EXPORT_ALL, gekapselt fuer vl-catch-all-apply ---
(defun ssg-test-export-all-ablauf (tests-out-dir
/ dateien datei basis doc
csv-name sivas-name csv-pfad sivas-pfad
csv-ok sivas-ok results-list old-filenames)
(setq dateien (append
(vl-directory-files tests-out-dir "*.dxf" 1)