Megatest

Diff
Login

Differences From Artifact [b6e5dc6cca]:

To Artifact [a856ba324e]:


9
10
11
12
13
14
15
16

17
18
19
20
21
22
23
9
10
11
12
13
14
15

16
17
18
19
20
21
22
23







-
+







;;  PURPOSE.

;;======================================================================
;; 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:))

(declare (unit launch))
(declare (uses common))
470
471
472
473
474
475
476
477









478
479
480
481
482
483
484
470
471
472
473
474
475
476

477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492







-
+
+
+
+
+
+
+
+
+







				       (if (not (> (length ezstepslst) 0))
					   (debug:print 0 "ERROR: ezsteps defined but ezstepslst is zero length")
					   (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))))))))
		 (monitorjob   (lambda ()
				 (let* ((start-seconds (current-seconds))