Index: launch.scm ================================================================== --- launch.scm +++ launch.scm @@ -355,12 +355,15 @@ (thread-sleep! 0.3) ;; NFS slowness has caused grief here (if (args:get-arg "-xterm") (set! fullrunscript "xterm") - (if (and fullrunscript (not (file-execute-access? fullrunscript))) + (if (and fullrunscript + (file-exists? fullrunscript) + (not (file-execute-access? fullrunscript))) (system (conc "chmod ug+x " fullrunscript)))) + ;; We are about to actually kick off the test ;; so this is a good place to remove the records for ;; any previous runs ;; (db:test-remove-steps db run-id testname itemdat) @@ -515,11 +518,11 @@ (thread-start! th2) (thread-join! th2) (debug:print-info 0 "Megatest exectute of test " test-name ", item path " item-path " complete. Notifying the db ...") (set! keep-going #f) (thread-join! th1) - (thread-sleep! 1) ;; give thread th1 a chance to be done TODO: Verify this is needed. At 0.1 I was getting fail to stop, increased to total of 1.1 sec. + (thread-sleep! 1) ;; givbe thread th1 a chance to be done TODO: Verify this is needed. At 0.1 I was getting fail to stop, increased to total of 1.1 sec. (mutex-lock! m) (let* ((item-path (item-list->path itemdat)) ;; only state and status needed - use lazy routine (testinfo (rmt:get-testinfo-state-status run-id test-id))) ;; Am I completed? Index: tests.scm ================================================================== --- tests.scm +++ tests.scm @@ -730,27 +730,30 @@ (if (or (getenv "MT_ITEMPATH") (not (string=? "" (getenv "MT_ITEMPATH")))) (conc "/" (getenv "MT_ITEMPATH")))))) (define (tests:get-testconfig test-name test-registry system-allowed #!key (force-create #f)) - (let* ((test-path (hash-table-ref/default - test-registry test-name + (let* ((treg (or test-registry + (tests:get-all))) + (test-path (hash-table-ref/default + treg test-name (conc *toppath* "/tests/" test-name))) (test-configf (conc test-path "/testconfig")) (testexists (and (file-exists? test-configf)(file-read-access? test-configf))) (cache-path (tests:get-test-path-from-environment)) (cache-exists (and cache-path (not force-create) ;; if force-create then pretend there is no cache to read (file-exists? (conc cache-path "/.testconfig")))) (cache-file (conc cache-path "/.testconfig")) (tcfg (if testexists - (or (and cache-exists + (or (and (not force-create) + cache-exists (handle-exceptions exn (begin (debug:print 0 "WARNING: Failed to read " cache-file) - #f) + (make-hash-table)) ;; better to return a hash and keep going - I think (configf:read-alist cache-file))) (read-config test-configf #f system-allowed environ-patt: (if system-allowed "pre-launch-env-vars" #f))) #f)))