Index: docs/api.html ================================================================== --- docs/api.html +++ docs/api.html @@ -1015,10 +1015,10 @@

Index: docs/manual/megatest_manual.html ================================================================== --- docs/manual/megatest_manual.html +++ docs/manual/megatest_manual.html @@ -2199,14 +2199,14 @@
[subrun]
 
 # Required: wait for the run or just launch it
 #           if no then the run will be an automatic PASS irrespective of the actual result
-runwait yes|no
+run-wait yes|no
 
 # Optional: where to execute the run. Default is the current runarea
-runarea /some/path/to/megatest/area
+run-area /some/path/to/megatest/area
 
 # Optional: method to use to determine pass/fail status of the run
 #   auto (default) - roll up the net state/status of the sub-run
 #   logpro         - use the provided logpro rules, happens automatically if there is a logpro section
 # passfail auto|logpro
@@ -2220,14 +2220,14 @@
 
 # Optional: target translator, default is to use the parent target
 target #{shell somescript.sh}
 
 # Optional: runname translator/generator, default is to use the parent runname
-runname #{somescript.sh}
+run-name #{somescript.sh}
 
 # Optional: testpatt spec, default is to first look for TESTPATT spec from runconfigs unless there is a contour spec
-testpatt %/item1,test2
+test-patt %/item1,test2
 
 # Optional: contour spec, use the named contour from the megatest.config contour spec
 contour contourname ### NOTE: Not implemented yet! Let us know if you need this feature.
 
 # Optional: mode-patt, use this spec for testpatt from runconfigs
@@ -2234,11 +2234,11 @@
 mode-patt TESTPATT
 
 # Optional: tag-expr, use this tag-expr to select tests
 tag-expr quick
 
-# Optional: (not yet implemented), propagate these actions from the parent
+# Optional: (not yet implemented, remove-runs is always propagated at this time), propagate these actions from the parent
 #           test
 #   Note// default is % for all
 propagate remove-runs archive ...
@@ -2301,10 +2301,10 @@

Index: docs/manual/reference.txt ================================================================== --- docs/manual/reference.txt +++ docs/manual/reference.txt @@ -704,14 +704,14 @@ --------------- [subrun] # Required: wait for the run or just launch it # if no then the run will be an automatic PASS irrespective of the actual result -runwait yes|no +run-wait yes|no # Optional: where to execute the run. Default is the current runarea -runarea /some/path/to/megatest/area +run-area /some/path/to/megatest/area # Optional: method to use to determine pass/fail status of the run # auto (default) - roll up the net state/status of the sub-run # logpro - use the provided logpro rules, happens automatically if there is a logpro section # passfail auto|logpro @@ -725,14 +725,14 @@ # Optional: target translator, default is to use the parent target target #{shell somescript.sh} # Optional: runname translator/generator, default is to use the parent runname -runname #{somescript.sh} +run-name #{somescript.sh} # Optional: testpatt spec, default is to first look for TESTPATT spec from runconfigs unless there is a contour spec -testpatt %/item1,test2 +test-patt %/item1,test2 # Optional: contour spec, use the named contour from the megatest.config contour spec contour contourname ### NOTE: Not implemented yet! Let us know if you need this feature. # Optional: mode-patt, use this spec for testpatt from runconfigs @@ -739,11 +739,11 @@ mode-patt TESTPATT # Optional: tag-expr, use this tag-expr to select tests tag-expr quick -# Optional: (not yet implemented), propagate these actions from the parent +# Optional: (not yet implemented, remove-runs is always propagated at this time), propagate these actions from the parent # test # Note// default is % for all propagate remove-runs archive ... --------------- Index: runs.scm ================================================================== --- runs.scm +++ runs.scm @@ -2099,11 +2099,11 @@ (hash-table-set! backgrounded-remove-status test-fulln 'started) (hash-table-set! backgrounded-remove-last-visit test-fulln (current-seconds)) (common:send-thunk-to-background-thread (lambda () (let* ((subrun-remove-succeeded - (subrun:remove-subrun run-dir new-test-dat test-name item-path test-state test-fulln toplevel-with-children test))) + (subrun:remove-subrun run-dir keep-records))) (hash-table-set! backgrounded-remove-result test-fulln subrun-remove-succeeded) (hash-table-set! backgrounded-remove-status test-fulln 'done))) name: (conc "remove-subrun:"test-fulln)) ;; send to back of line, loop @@ -2127,16 +2127,22 @@ ((eq? subrun-remove-succeeded 'exception) (let* ((logfile (subrun:get-log-path run-dir "remove"))) (debug:print 0 *default-log-port* "ERROR: removing subrun of of " test-fulln " with run-id " run-id " ; see logfile @ "logfile))) (subrun-remove-succeeded (debug:print 0 *default-log-port* "Now removing of " test-fulln " with run-id " run-id " since subrun was removed.") - (runs:remove-test-directory new-test-dat mode)) + ;;(runs:remove-test-directory new-test-dat mode) ;; let normal case handle this. it will go thru loop again as non-subrun + ) (else (let* ((logfile (subrun:get-log-path run-dir "remove"))) (debug:print 0 *default-log-port* "WARNING: removal of subrun failed. Please check "logfile" for details.")))) - (if (not (null? tal)) - (loop (car tal)(cdr tal))))) + ;;(if (not (null? tal)) + ;; (loop (car tal)(cdr tal))) + + ;; send to back of line, loop (will not match has-subrun next time through) + (let ((newtal (append tal (list test)))) + (loop (car newtal)(cdr newtal))) + )) ) ; end case rem-status ) ; end let ); end cond has-subrun (else Index: subrun.scm ================================================================== --- subrun.scm +++ subrun.scm @@ -72,19 +72,23 @@ (create-symbolic-link ra symlink-target) (configf:write-alist testconfig "testconfig.subrun"))) -(define (subrun:remove-subrun test-run-dir new-test-dat test-name item-path test-state test-fulln toplevel-with-children test) +(define (subrun:remove-subrun test-run-dir keep-records ) ;; set state/status of test item ;; fork off megatest ;; set state/status of test item ;; ;;(BB> "Entered subrun:remove-subrun with "test-fulln) (if (and (not (subrun:subrun-removed? test-run-dir)) (subrun:subrun-test-initialized? test-run-dir)) - (let* ((remove-result - (subrun:exec-sub-megatest test-run-dir "-remove-runs" "remove"))) + (let* ((action-switches-str + (conc "-remove-runs" + (if keep-records "-keep-records " "") + )) + (remove-result + (subrun:exec-sub-megatest test-run-dir action-switches-str "remove"))) (if remove-result (begin (subrun:set-subrun-removed test-run-dir) #t) #f))