Index: megatest.scm ================================================================== --- megatest.scm +++ megatest.scm @@ -648,6 +648,14 @@ (if (not *didsomething*) (print help)) (if (not (eq? *globalexitstatus* 0)) - (exit *globalexitstatus*)) + (if (or (args:get-arg "-runtests")(args:get-arg "-runall")) + (begin + (print "NOTE: Subprocesses with non-zero exit code detected: " *globalexitstatus*) + (exit 0)) + (case *globalexitstatus* + ((0)(exit 0)) + ((1)(exit 1)) + ((2)(exit 2)) + (else (exit 3))))) Index: runs.scm ================================================================== --- runs.scm +++ runs.scm @@ -270,18 +270,18 @@ (not (>= num-running (string->number max-concurrent-jobs))))) (run-one-test db run-id test-name keyvallst) (print "WARNING: Max running jobs exceeded, current number running: " num-running ", max_concurrent_jobs: \"" max-concurrent-jobs "\"")))) test-names) - (run-waiting-tests db) + ;; (run-waiting-tests db) (if (args:get-arg "-keepgoing") (let ((estrem (db:estimated-tests-remaining db run-id))) (if (> estrem 0) (begin (print "Keep going, estimated " estrem " tests remaining to run, will continue in 10 seconds ...") (sleep 10) - ;; (run-waiting-tests db) + (run-waiting-tests db) (loop (+ numtimes 1))))))))) ;; VERY INEFFICIENT! Move stuff that should be done once up to calling proc (define (run-one-test db run-id test-name keyvallst) (print "Launching test " test-name)