@@ -35,10 +35,11 @@ version " megatest-version " license GPL, Copyright Matt Welland 2006-2012 Usage: megatest [options] -h : this help + -version : print megatest version (currently " megatest-version ") Launching and managing runs -runall : run all tests that are not state COMPLETED and status PASS, CHECK or KILLED -runtests tst1,tst2 ... : run tests @@ -163,10 +164,11 @@ "-gen-megatest-test" "-override-timeout" "-test-files" ;; -test-paths is for listing all ) (list "-h" + "-version" "-force" "-xterm" "-showkeys" "-test-status" "-set-values" @@ -198,31 +200,28 @@ (if (args:get-arg "-h") (begin (print help) (exit))) + +(if (args:get-arg "-version") + (begin + (print megatest-version) + (exit))) (define *didsomething* #f) ;;====================================================================== ;; Misc setup stuff ;;====================================================================== -(set! *verbosity* (cond - ((string? (args:get-arg "-debug"))(string->number (args:get-arg "-debug"))) - ((args:get-arg "-v") 2) - ((args:get-arg "-q") 0) - (else 1))) - -(if (not (number? *verbosity*)) - (begin - (print "ERROR: Invalid debug value " (args:get-arg "-debug")) - (exit))) - +(set! *verbosity* (debug:calc-verbosity (args:get-arg "-debug"))) +(debug:check-verbosity *verbosity* (args:get-arg "-debug")) + (if (args:get-arg "-logging")(set! *logging* #t)) -(if (> *verbosity* 3) ;; we are obviously debugging +(if (debug:debug-mode 3) ;; we are obviously debugging (set! open-run-close open-run-close-no-exception-handling)) ;; a,b,c % => a/%,b/%,c/% (define (tack-on-patt srcstr patt) (let ((strlst (string-split srcstr ","))) @@ -368,11 +367,11 @@ ;; Start the server - can be done in conjunction with -runall or -runtests (one day...) ;;====================================================================== (if (args:get-arg "-server") (let* ((toppath (setup-for-run)) (db (if toppath (open-db) #f))) - (debug:print 0 "INFO: Starting the standalone server") + (debug:print-info 0 "Starting the standalone server") (if db (let* ((host:port (db:get-var db "SERVER")) ;; this doen't support multiple servers BUG!!!! (th2 (server:start db (args:get-arg "-server"))) (th3 (make-thread (lambda () (server:keep-running db host:port))))) @@ -699,21 +698,21 @@ (cons cmd params) " ") ") " redir " " logfile))) ;; mark the start of the test (open-run-close db:teststep-set-status! db test-id stepname "start" "n/a" (args:get-arg "-m") logfile) ;; run the test step - (debug:print 2 "INFO: Running \"" fullcmd "\"") + (debug:print-info 2 "Running \"" fullcmd "\"") (change-directory startingdir) (set! exitstat (system fullcmd)) ;; cmd params)) (set! *globalexitstatus* exitstat) (change-directory testpath) ;; run logpro if applicable ;; (process-run "ls" (list "/foo" "2>&1" "blah.log")) (if logprofile (let* ((htmllogfile (conc stepname ".html")) (oldexitstat exitstat) (cmd (string-intersperse (list "logpro" logprofile htmllogfile "<" logfile ">" (conc stepname "_logpro.log")) " "))) - (debug:print 2 "INFO: running \"" cmd "\"") + (debug:print-info 2 "running \"" cmd "\"") (change-directory startingdir) (set! exitstat (system cmd)) (set! *globalexitstatus* exitstat) ;; no necessary (change-directory testpath) (open-run-close db:test-set-log! db test-id htmllogfile)))