Index: db.scm ================================================================== --- db.scm +++ db.scm @@ -2847,19 +2847,21 @@ ;; (define (db:logpro-dat->csv dat stepname) (let ((res '())) (for-each (lambda (entry-name) - (let* ((var entry-name) - (value (or (configf:lookup dat entry-name "measured") "n/a")) + (let* ((value (or (configf:lookup dat entry-name "measured") "n/a")) (expected (or (configf:lookup dat entry-name "expected") "n/a")) (tolerance (or (configf:lookup dat entry-name "tolerance") "n/a")) (comment (or (configf:lookup dat entry-name "comment") (configf:lookup dat entry-name "desc") "n/a")) (status (or (configf:lookup dat entry-name "status") "n/a")) (type (or (configf:lookup dat entry-name "expected") "n/a"))) - #f)) + (set! res (append + res + (list (list stepname entry-name expected tolerance comment status type)))) + )) (hash-table-keys dat)) res)) ;; $MT_MEGATEST -load-test-data << EOF ;; foo,bar, 1.2, 1.9, > Index: launch.scm ================================================================== --- launch.scm +++ launch.scm @@ -11,11 +11,11 @@ ;;====================================================================== ;; launch a task - this runs on the originating host, tests themselves ;; ;;====================================================================== -(use regex regex-case base64 sqlite3 srfi-18 directory-utils posix-extras z3 call-with-environment-variables) +(use regex regex-case base64 sqlite3 srfi-18 directory-utils posix-extras z3 call-with-environment-variables csv) (use defstruct) (import (prefix base64 base64:)) (import (prefix sqlite3 sqlite3:)) @@ -472,11 +472,19 @@ (let loop ((ezstep (car ezstepslst)) (tal (cdr ezstepslst)) (prevstep #f)) ;; check exit-info (vector-ref exit-info 1) (if (launch:einf-exit-status exit-info) ;; (vector-ref exit-info 1) - (let ((logpro-used (launch:runstep ezstep run-id test-id exit-info m tal testconfig))) + (let ((logpro-used (launch:runstep ezstep run-id test-id exit-info m tal testconfig)) + (stepname (car ezstep))) + ;; if logpro-used read in the stepname.dat file + (if (and logpro-used (file-exists? (conc stepname ".dat"))) + (let* ((dat (read-config (conc stepname ".dat") #f #f)) + (csvr (db:logpro-dat->csv dat stepname)) + (csvt (let-values (( (fmt-cell fmt-record fmt-csv) (make-format ","))) + (fmt-csv (map list->csv-record csvr))))) + (rmt:csv->test-data run-id test-id csvt))) (if (steprun-good? logpro-used (launch:einf-exit-code exit-info)) (if (not (null? tal)) (loop (car tal) (cdr tal) stepname)) (debug:print 4 "WARNING: step " (car ezstep) " failed. Stopping"))) (debug:print 4 "WARNING: a prior step failed, stopping at " ezstep))))))))