Index: mtut.scm ================================================================== --- mtut.scm +++ mtut.scm @@ -144,10 +144,11 @@ ("-manual" . #f) ("-version" . #f) ;; misc ("-repl" . #f) ("-immediate" . I) + ("-preclean" . r) )) ;; alist to map actions to old megatest commands (define *action-keys* '((run . "-run") @@ -392,24 +393,24 @@ ((vector? sched-in)(local-time->seconds sched-in)) ;; we recieved a time ((number? sched-in) sched-in) (else (current-seconds)))) (args-data (if args-alist args-alist - (hash-table->alist args:arg-hash))) + (hash-table->alist args:arg-hash))) ;; if no args-alist then we assume this is a call driven directly by commandline (alldat (apply append (list 'T "cmd" 'a action 'U (current-user-name) 'D sched) (map (lambda (x) (let* ((param (car x)) (value (cdr x)) - (pmeta (assoc param *arg-keys*)) - (smeta (assoc param *switch-keys*)) + (pmeta (assoc param *arg-keys*)) ;; translate the card key to a megatest switch or parameter + (smeta (assoc param *switch-keys*)) ;; first lookup the key in arg-keys or switch-keys (meta (if (or pmeta smeta) - (cdr (or pmeta smeta)) + (cdr (or pmeta smeta)) ;; found it? #f))) - (if (or pmeta smeta) + (if (or pmeta smeta) ;; construct the switch/param pair. (list meta value) '()))) (filter cdr args-data))))) ;; (print "Alldat: " alldat ;; " args-data: " args-data) @@ -450,15 +451,15 @@ (area-dat (val->alist (or (configf:lookup mtconf "areas" area) ""))) (area-path (alist-ref 'path area-dat)) (area-xlatr (alist-ref 'targtrans area-dat)) (new-runname (let* ((callname (if (string? runtrans)(string->symbol runtrans) #f)) (mapper (if callname (hash-table-ref/default *runname-mappers* callname #f) #f))) - (print "callname=" callname " runtrans=" runtrans " mapper=" mapper) + ;; (print "callname=" callname " runtrans=" runtrans " mapper=" mapper) (if (and callname (not (equal? callname "auto")) (not mapper)) - (print "Failed to find runname mapper " callname " for area " area)) + (print "No mapper " callname " for area " area " using " callname " as the runname")) (if mapper (handle-exceptions exn (begin (print-call-chain) @@ -465,11 +466,13 @@ (print "FAILED TO RUN RUNNAME MAPPER " callname " FOR AREA " area) (print " message: " ((condition-property-accessor 'exn 'message) exn)) runname) (print "(mapper " (string-intersperse (list runkey runname area area-path reason contour mode-patt) ", ") ")") (mapper runkey runname area area-path reason contour mode-patt)) - runname))) + (case callname + ((auto) runname) + (else runtrans))))) (new-target (if area-xlatr (let ((xlatr-key (string->symbol area-xlatr))) (if (hash-table-exists? *target-mappers* xlatr-key) (begin (print "Using target mapper: " area-xlatr) @@ -506,10 +509,14 @@ (if (good-val dbdest) `(("-sync-to" . ,dbdest)) '()) (if (good-val append-conf) `(("-append-config" . ,append-conf)) '()) (if (not (or mode-patt tag-expr)) `(("-testpatt" . "%")) '()) + (if (or (not action) + (equal? action "run")) + `(("-preclean" . " ")) ;; if run we *always* want preclean set, use single space as placeholder + '()) ) sched))) (with-output-to-file (conc pktsdir "/" uuid ".pkt") (lambda () @@ -792,11 +799,12 @@ (define (pkt->cmdline pkta) (let ((action (or (lookup-action-by-key (alist-ref 'a pkta)) "noaction"))) (fold (lambda (a res) (let* ((key (car a)) ;; get the key name (val (cdr a)) - (par (lookup-param-by-key key))) + (par (or (lookup-param-by-key key) ;; need to check also if it is a switch + (lookup-param-by-key key inlst: *switch-keys*)))) ;; (print "key: " key " val: " val " par: " par) (if par (conc res " " (param-translate par) " " val) (if (member key '(a Z U D T)) ;; a is the action res Index: runconfigs.config ================================================================== --- runconfigs.config +++ runconfigs.config @@ -16,12 +16,13 @@ [v1.63/tip/dev] # file: files changes since last run trigger new run # script: script is called with unix seconds as last parameter (other parameters are preserved) # # contour:sensetype:action params data -quick:file:run runtrans=auto;glob=/home/matt/data/megatest/*.scm -snazy:file:run runtrans=corporate-ww;glob=/home/matt/data/megatest/*.scm +quick:file:run runtrans=auto; glob=/home/matt/data/megatest/*.scm +snazy:file:run runtrans=corporate-ww; glob=/home/matt/data/megatest/*.scm +short:file:run runtrans=short; glob=/home/matt/data/megatest/*.scm # script returns change-time (unix epoch), new-target-name, run-name # # quick:script:run checkfossil = http://www.kiatoa.com/fossils/megatest v1.63;\ # checkfossil = http://www.kiatoa.com/fossils/megatest_qa trunk