Overview
Comment: | Fixed updating of test run meta data |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
39b53fe321dfcd3f442630ecc27feb7d |
User & Date: | matt on 2012-03-25 14:41:27 |
Other Links: | manifest | tags |
Context
2012-03-25
| ||
15:05 | Launch the remove-runs process in an xterm check-in: 1849a06c5d user: matt tags: trunk | |
14:41 | Fixed updating of test run meta data check-in: 39b53fe321 user: matt tags: trunk | |
2012-03-20
| ||
23:28 | Got nbfind working on ubuntu check-in: 4cf18277f3 user: matt tags: trunk | |
Changes
Modified db.scm from [64f23143e9] to [d9dab9adc2].
︙ | ︙ | |||
646 647 648 649 650 651 652 | (define (db:updater db) (let loop ((start-time (current-time))) (thread-sleep! 0.5) ;; move save time around to minimize regular collisions? (db:write-cached-data db) (loop start-time))) | | < < < < < | > > | | | 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 | (define (db:updater db) (let loop ((start-time (current-time))) (thread-sleep! 0.5) ;; move save time around to minimize regular collisions? (db:write-cached-data db) (loop start-time))) (define (db:test-update-meta-info db test-id minutes cpuload diskfree tmpfree) (mutex-lock! *incoming-mutex*) (set! *incoming-data* (cons (vector 'meta-info (current-seconds) (list cpuload diskfree minutes test-id)) ;; run-id test-name item-path minutes cpuload diskfree tmpfree) *incoming-data*)) (mutex-unlock! *incoming-mutex*) (if *cache-on* (debug:print 6 "INFO: *cache-on* is " *cache-on* ", skipping cache write as part of test-update-meta-info") (db:write-cached-data db))) (define (db:write-cached-data db) (let ((meta-stmt (sqlite3:prepare db "UPDATE tests SET cpuload=?,diskfree=?,run_duration=?,state='RUNNING' WHERE id=? AND state NOT IN ('COMPLETED','KILLREQ','KILLED');")) (step-stmt (sqlite3:prepare db "INSERT OR REPLACE into test_steps (test_id,stepname,state,status,event_time,comment,logfile) VALUES(?,?,?,?,?,?,?);")) ;; strftime('%s','now')#f) (data (sort *incoming-data* (lambda (a b)(< (vector-ref a 1)(vector-ref b 1)))))) (if (> (length data) 0) (debug:print 4 "Writing cached data " data)) (mutex-lock! *incoming-mutex*) (sqlite3:with-transaction db |
︙ | ︙ | |||
1139 1140 1141 1142 1143 1144 1145 | (if *runremote* (let ((host (vector-ref *runremote* 0)) (port (vector-ref *runremote* 1))) ((rpc:procedure 'rdb:teststep-set-status! host port) test-id teststep-name state-in status-in item-path comment logfile)) (db:teststep-set-status! db test-id teststep-name state-in status-in item-path comment logfile)))) | | < | | | 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 | (if *runremote* (let ((host (vector-ref *runremote* 0)) (port (vector-ref *runremote* 1))) ((rpc:procedure 'rdb:teststep-set-status! host port) test-id teststep-name state-in status-in item-path comment logfile)) (db:teststep-set-status! db test-id teststep-name state-in status-in item-path comment logfile)))) (define (rdb:test-update-meta-info db test-id minutes cpuload diskfree tmpfree) (if *runremote* (let ((host (vector-ref *runremote* 0)) (port (vector-ref *runremote* 1))) ((rpc:procedure 'rdb:test-update-meta-info host port) test-id minutes cpuload diskfree tmpfree)) (db:test-update-meta-info db test-id minutes cpuload diskfree tmpfree))) (define (rdb:test-set-state-status-by-run-id-testname db run-id test-name item-path status state) (if *runremote* (let ((host (vector-ref *runremote* 0)) (port (vector-ref *runremote* 1))) ((rpc:procedure 'rdb:test-set-state-status-by-run-id-testname host port) run-id test-name item-path status state)) |
︙ | ︙ |
Modified launch.scm from [587849e94b] to [2790622feb].
︙ | ︙ | |||
62 63 64 65 66 67 68 | (runname (assoc/default 'runname cmdinfo)) (megatest (assoc/default 'megatest cmdinfo)) (mt-bindir-path (assoc/default 'mt-bindir-path cmdinfo)) (fullrunscript (if runscript (conc testpath "/" runscript) #f)) (db #f) (rollup-status 0)) | | | 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | (runname (assoc/default 'runname cmdinfo)) (megatest (assoc/default 'megatest cmdinfo)) (mt-bindir-path (assoc/default 'mt-bindir-path cmdinfo)) (fullrunscript (if runscript (conc testpath "/" runscript) #f)) (db #f) (rollup-status 0)) (debug:print 2 "Exectuing " test-name " (id: " test-id ") on " (get-host-name)) (change-directory testpath) ;; apply pre-overrides before other variables. The pre-override vars must not ;; clobbers things from the official sources such as megatest.config and runconfigs.config (if (string? set-vars) (let ((varpairs (string-split set-vars ","))) (debug:print 4 "varpairs: " varpairs) (map (lambda (varpair) |
︙ | ︙ | |||
92 93 94 95 96 97 98 | (begin (debug:print 0 "Failed to setup, exiting") (exit 1))) ;; now can find our db (set! db (open-db)) (if (not (args:get-arg "-server")) (server:client-setup db)) | | | 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | (begin (debug:print 0 "Failed to setup, exiting") (exit 1))) ;; now can find our db (set! db (open-db)) (if (not (args:get-arg "-server")) (server:client-setup db)) ;; (set! *cache-on* #t) (set-megatest-env-vars db run-id) ;; these may be needed by the launching process (change-directory work-area) (set-run-config-vars db run-id) ;; environment overrides are done *before* the remaining critical envars. (alist->env-vars env-ovrd) (set-megatest-env-vars db run-id) (set-item-env-vars itemdat) |
︙ | ︙ | |||
258 259 260 261 262 263 264 | (diskfree (get-df (current-directory))) (tmpfree (get-df "/tmp"))) (if (not (args:get-arg "-server")) (server:client-setup db)) (if (not cpuload) (begin (debug:print 0 "WARNING: CPULOAD not found.") (set! cpuload "n/a"))) (if (not diskfree) (begin (debug:print 0 "WARNING: DISKFREE not found.") (set! diskfree "n/a"))) (set! kill-job? (test-get-kill-request db run-id test-name itemdat)) | | | 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 | (diskfree (get-df (current-directory))) (tmpfree (get-df "/tmp"))) (if (not (args:get-arg "-server")) (server:client-setup db)) (if (not cpuload) (begin (debug:print 0 "WARNING: CPULOAD not found.") (set! cpuload "n/a"))) (if (not diskfree) (begin (debug:print 0 "WARNING: DISKFREE not found.") (set! diskfree "n/a"))) (set! kill-job? (test-get-kill-request db run-id test-name itemdat)) (rdb:test-update-meta-info db test-id minutes cpuload diskfree tmpfree) (if kill-job? (begin (mutex-lock! m) (let* ((pid (vector-ref exit-info 0))) (if (number? pid) (begin (debug:print 0 "WARNING: Request received to kill job (attempt # " kill-tries ")") |
︙ | ︙ |
Modified megatest.scm from [58ffc597e0] to [f3f42fd5f0].
︙ | ︙ | |||
625 626 627 628 629 630 631 | (set! db (open-db)) (if (not (args:get-arg "-server")) (server:client-setup db)) (if (args:get-arg "-load-test-data") ;; has sub commands that are rdb: (db:load-test-data db test-id)) (if (args:get-arg "-setlog") | | > | 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 | (set! db (open-db)) (if (not (args:get-arg "-server")) (server:client-setup db)) (if (args:get-arg "-load-test-data") ;; has sub commands that are rdb: (db:load-test-data db test-id)) (if (args:get-arg "-setlog") (let ((logfname (args:get-arg "-setlog"))) (rdb:test-set-log! db test-id logfname))) (if (args:get-arg "-set-toplog") (rtests:test-set-toplog! db run-id test-name (args:get-arg "-set-toplog"))) (if (args:get-arg "-summarize-items") (rdb:tests:summarize-items db run-id test-name #t)) ;; do force here (if (args:get-arg "-runstep") (if (null? remargs) (begin |
︙ | ︙ |
Modified tests.scm from [18d52e02c6] to [ae091a19dc].
︙ | ︙ | |||
398 399 400 401 402 403 404 | (define (rtests:test-set-toplog! db run-id test-name logf) (if *runremote* (let ((host (vector-ref *runremote* 0)) (port (vector-ref *runremote* 1))) ((rpc:procedure 'rtests:test-set-toplog! host port) run-id test-name logf)) (test-set-toplog! db run-id test-name logf))) | < | 398 399 400 401 402 403 404 405 | (define (rtests:test-set-toplog! db run-id test-name logf) (if *runremote* (let ((host (vector-ref *runremote* 0)) (port (vector-ref *runremote* 1))) ((rpc:procedure 'rtests:test-set-toplog! host port) run-id test-name logf)) (test-set-toplog! db run-id test-name logf))) |
Modified tests/Makefile from [7122e40641] to [1e23804995].
1 2 3 4 5 6 7 8 9 10 11 | # run some tests BINPATH=$(shell realpath ../bin) MEGATEST=$(BINPATH)/megatest PATH := $(BINPATH):$(PATH) RUNNAME := $(shell date +w%V.%u.%H) IPADDR :="-" runall : test1 test2 test1 : cleanprep | > > | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | # run some tests BINPATH=$(shell realpath ../bin) MEGATEST=$(BINPATH)/megatest PATH := $(BINPATH):$(PATH) RUNNAME := $(shell date +w%V.%u.%H) IPADDR :="-" # Set SERVER to "-server $(IPADDR)" SERVER := "" runall : test1 test2 test1 : cleanprep $(MEGATEST) -runtests ez_pass -target ubuntu/nfs/none :runname $(RUNNAME)_a $(SERVER) test2 : cleanprep $(MEGATEST) -runtests runfirst -target ubuntu/nfs/none :runname $(RUNNAME)_b $(SERVER) -debug 10 test3 : cleanprep $(MEGATEST) -runall -target ubuntu/nfs/none :runname $(RUNNAME)_b -m "This is a comment specific to a run" -v $(SERVER) cleanprep : ../*.scm sqlite3 megatest.db "delete from metadat where var='SERVER';" mkdir -p /tmp/mt_runs /tmp/mt_links cd ..;make @sleep 1 @if ps -def |awk '{print $8}'|grep megatest; then \ |
︙ | ︙ |
Modified tests/megatest.config from [75d2bf7273] to [58f01c3e22].
︙ | ︙ | |||
18 19 20 21 22 23 24 | ## use "xterm -e csi -- " as a launcher to examine the launch environment. ## exit with (exit) ## get a shell with (system "bash") # launcher xterm -e csi -- [validvalues] | | | | 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | ## use "xterm -e csi -- " as a launcher to examine the launch environment. ## exit with (exit) ## get a shell with (system "bash") # launcher xterm -e csi -- [validvalues] state start end status pass fail n/a 0 1 running # These are set before all tests, override them # in the testconfig [pre-launch-env-overrides] section [env-override] SPECIAL_ENV_VARS overide them here - should be seen at launch and in the runs TESTVAR [system realpath .] DEADVAR [system ls] |
︙ | ︙ |
Modified utils/mt_ezstep from [dc6e288c61] to [d882ace026].
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #!/bin/bash if [ "$MT_CMDINFO" == "" ];then echo "ERROR: $0 should be run within a megatest test environment" exit fi # Purpose: This is for the [ezsteps] secton in your testconfig file. # DO NOT USE IN YOUR SCRIPTS! # # Call like this: # mt_ezstep stepname prevstepname command .... # stepname=$1;shift prevstepname=$1;shift command=$* allstatus=99 runstatus=99 | > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | #!/bin/bash usage="mt_ezstep stepname prevstepname command [args ...]" if [ "$MT_CMDINFO" == "" ];then echo "ERROR: $0 should be run within a megatest test environment" echo "Usage: $usage" exit fi # Purpose: This is for the [ezsteps] secton in your testconfig file. # DO NOT USE IN YOUR SCRIPTS! # # Call like this: # mt_ezstep stepname prevstepname command .... # if [ "x$1" == "x" ];then echo "Usage: $usage" exit fi stepname=$1;shift prevstepname=$1;shift command=$* allstatus=99 runstatus=99 |
︙ | ︙ |