48
49
50
51
52
53
54
55
56
57
58
59
60
61
| -xterm : start an xterm instead of launching the test
Helpers
-runstep stepname ... : take leftover params as comand and execute as stepname
log will be in stepname.log
-logpro file : with -exec apply logpro file to stepname.log, creates
stepname.html and sets log to same
Called as " (string-intersperse (argv) " ")))
;; -gui : start a gui interface
;; -config fname : override the runconfig file with fname
;; process args
|
>
| 48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
| -xterm : start an xterm instead of launching the test
Helpers
-runstep stepname ... : take leftover params as comand and execute as stepname
log will be in stepname.log
-logpro file : with -exec apply logpro file to stepname.log, creates
stepname.html and sets log to same
If using make use stepname_logpro.log as your target
Called as " (string-intersperse (argv) " ")))
;; -gui : start a gui interface
;; -config fname : override the runconfig file with fname
;; process args
|
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
| (test-set-status! db run-id test-name state status itemdat (args:get-arg "-m"))
(if (and state status)
(if (not (args:get-arg "-setlog"))
(begin
(print "ERROR: You must specify :state and :status with every call to -test-status\n" help)
(sqlite3:finalize! db)
(exit 6)))))
(if (args:get-arg "-run-step")
(if (null? remargs)
(begin
(print "ERROR: nothing specified to run!")
(sqlite3:finalize! db)
(exit 6))
(let* ((logprofile (args:get-arg "-logpro"))
(cmd (if (null? remargs) #f (car remargs)))
(params (if cmd (cdr remargs) #f))
(exitstat #f))
;; mark the start of the test
(test-set-status! db run-id test-name "start" "n/a" itemdat (args:get-arg "-m"))
;; close the db
(sqlite3:finalize! db)
;; run the test step
(set! exitstat (process-run cmd params))
;; re-open the db
(set! db (open-db))
;; run logpro if applicable
(if logpro
(let ((logfile (conc test-name ".html")))
(set! exitstat (process-run "logpro" logpro logfile))
(test-set-log! db run-id test-name itemdat logfile)))
(test-set-status! db run-id test-name "end" exitstat itemdat (args:get-arg "-m"))
(sqlite3:finalize! db)
(exit exitstat)
;; open the db
;; mark the end of the test
)))
|
|
>
|
|
>
>
>
>
>
>
>
>
|
|
|
>
>
|
| 463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
| (test-set-status! db run-id test-name state status itemdat (args:get-arg "-m"))
(if (and state status)
(if (not (args:get-arg "-setlog"))
(begin
(print "ERROR: You must specify :state and :status with every call to -test-status\n" help)
(sqlite3:finalize! db)
(exit 6)))))
(if (args:get-arg "-runstep")
(if (null? remargs)
(begin
(print "ERROR: nothing specified to run!")
(sqlite3:finalize! db)
(exit 6))
(let* ((logprofile (args:get-arg "-logpro"))
(logfile (conc test-name ".log"))
(cmd (if (null? remargs) #f (car remargs)))
(params (if cmd (cdr remargs) '()))
(exitstat #f)
(shell (last (string-split (get-environment-variable "SHELL") "/")))
(redir (case (string->symbol shell)
((tcsh csh ksh) ">&")
((zsh bash sh ash) "2>&1")))
(fullcmd (string-intersperse
(cons cmd (list params redir logfile))
" ")))
;; mark the start of the test
(test-set-status! db run-id test-name "start" "n/a" itemdat (args:get-arg "-m"))
;; close the db
(sqlite3:finalize! db)
;; run the test step
(print "INFO: Running " fullcmd)
(set! exitstat (process-run fullcmd)) ;; cmd params))
;; re-open the db
(set! db (open-db))
;; run logpro if applicable ;; (process-run "ls" (list "/foo" "2>&1" "blah.log"))
(if logpro
(let ((htmllogfile (conc test-name ".html"))
(cmd (string-intersperse (list "logpro" logpro logfile "<" logfile ">" (conc test-name "_logpro.log")) " ")))
(print "INFO: running " cmd)
(set! exitstat (process-run cmd))
(test-set-log! db run-id test-name itemdat logfile)))
(test-set-status! db run-id test-name "end" exitstat itemdat (args:get-arg "-m"))
(sqlite3:finalize! db)
(exit exitstat)
;; open the db
;; mark the end of the test
)))
|