@@ -218,11 +218,10 @@ ;; queries "-test-paths" ;; get path(s) to a test, ordered by youngest first "-runall" ;; run all tests "-remove-runs" - "-usequeue" "-rebuild-db" "-rollup" "-update-meta" "-gen-megatest-area" @@ -289,11 +288,29 @@ ;;====================================================================== (if (args:get-arg "-server") (let ((transport (args:get-arg "-transport" "http"))) (debug:print 2 "Launching server using transport " transport) - (server:launch (string->symbol transport)))) + (server:launch (string->symbol transport))) + (if (not (null? (lset-intersection + equal? + (hash-table-keys args:arg-hash) + '("-runtests" "-list-runs" "-rollup" + "-remove-runs" "-lock" "-unlock" + "-update-meta" "-extract-ods")))) + (if (setup-for-run) + (let ((servers (open-run-close tasks:get-best-server tasks:open-db))) + (if (or (not servers) + (null? servers)) + (begin + (debug:print 0 "INFO: Starting server as none running ...") + ;; (server:launch (string->symbol (args:get-arg "-transport" "http")))) + (system (conc (car (argv)) " -server - -transport " (args:get-arg "-transport" "http"))) + (thread-sleep! 3)) ;; give the server a few seconds to start + (debug:print 0 "INFO: Servers already running " servers) + ))))) + (if (args:get-arg "-list-servers") ;; (args:get-arg "-kill-server")) (let ((tl (setup-for-run))) (if tl