Comment: | Added support (untested) for priority. Tests are sorted by priority and waiton before being launched |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
ec6f374d3984ab67275168f007e8ded8 |
User & Date: | matt on 2011-10-13 00:24:36 |
Other Links: | manifest | tags |
2011-10-13
| ||
23:33 | Fixed erratic behaviour with scroll bars in dashboard. Removed suppression of empty runs. Rollup now resets the event_time on running. Added -pathmod for setting basepath on html logs when generating spreadsheets. Fixed search fields not forcing refresh. Added proper setting of logfile in eztests when using logpro check-in: 41350e06ff user: matt tags: trunk | |
00:24 | Added support (untested) for priority. Tests are sorted by priority and waiton before being launched check-in: ec6f374d39 user: matt tags: trunk | |
2011-10-12
| ||
23:31 | Added n/a to dashboard toggle buttons check-in: b14973f5eb user: mrwellan tags: trunk | |
Modified runs.scm from [c8075385d1] to [433e266856].
︙ | ︙ | |||
495 496 497 498 499 500 501 | (string->number max-concurrent-jobs) (not (>= num-running (string->number max-concurrent-jobs))))) #t (begin (debug:print 0 "WARNING: Max running jobs exceeded, current number running: " num-running ", max_concurrent_jobs: " max-concurrent-jobs) #f))))) | | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 | (string->number max-concurrent-jobs) (not (>= num-running (string->number max-concurrent-jobs))))) #t (begin (debug:print 0 "WARNING: Max running jobs exceeded, current number running: " num-running ", max_concurrent_jobs: " max-concurrent-jobs) #f))))) (define (test:get-testconfig test-name system-allowed) (let* ((test-path (conc *toppath* "/tests/" test-name)) (test-configf (conc test-path "/testconfig")) (testexists (and (file-exists? test-configf)(file-read-access? test-configf)))) (if testexists (read-config test-configf #f system-allowed) #f))) ;; sort tests by priority and waiton ;; Move test specific stuff to a test unit FIXME one of these days (define (tests:sort-by-priority-and-waiton test-names) (let ((testdetails (make-hash-table)) (mungepriority (lambda (priority) (if priority (let ((tmp (any->number priority))) (if tmp tmp (begin (debug:print 0 "ERROR: bad priority value " priority ", using 0") 0))) 0)))) (for-each (lambda (test-name) (let ((test-config (test:get-testconfig test-name #f))) (if test-config (hash-table-set! testdetails test-name test-config)))) test-names) (sort (hash-table-keys testdetails) ;; avoid dealing with deleted tests, look at the hash table (lambda (a b) (let* ((tconf-a (hash-table-ref testdetails a)) (tconf-b (hash-table-ref testdetails b)) (a-waiton (config-lookup tconf-a "requirements" "waiton")) (b-waiton (config-lookup tconf-b "requirements" "waiton")) (a-priority (mungepriority (config-lookup tconf-a "requirements" "priority"))) (b-priority (mungepriority (config-lookup tconf-b "requirements" "priority")))) (if (and a-waiton (equal? a-waiton b)) #f ;; cannot have a which is waiting on b happening before b (if (and b-waiton (equal? b-waiton a)) #t ;; this is the correct order, b is waiting on a and b is before a (if (> a-priority b-priority) #t ;; if a is a higher priority than b then we are good to go #f)))))))) (define (run-tests db test-names) (let* ((keys (db-get-keys db)) (keyvallst (keys->vallist keys #t)) (run-id (register-run db keys)) ;; test-name))) (deferred '())) ;; delay running these since they have a waiton clause ;; on the first pass or call to run-tests set FAILS to NOT_STARTED if ;; -keepgoing is specified |
︙ | ︙ | |||
521 522 523 524 525 526 527 | (for-each (lambda (test-name) (if (runs:can-run-more-tests db) (run-one-test db run-id test-name keyvallst) ;; add some delay ;(sleep 2) )) | | | | 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 | (for-each (lambda (test-name) (if (runs:can-run-more-tests db) (run-one-test db run-id test-name keyvallst) ;; add some delay ;(sleep 2) )) (tests:sort-by-priority-and-waiton test-names)) ;; (run-waiting-tests db) (if (args:get-arg "-keepgoing") (let ((estrem (db:estimated-tests-remaining db run-id))) (if (and (> estrem 0) (eq? *globalexitstatus* 0)) (begin (debug:print 1 "Keep going, estimated " estrem " tests remaining to run, will continue in 3 seconds ...") (sleep 3) (run-waiting-tests db) (loop (+ numtimes 1))))))))) ;; VERY INEFFICIENT! Move stuff that should be done once up to calling proc (define (run-one-test db run-id test-name keyvallst) (debug:print 1 "Launching test " test-name) ;; All these vars might be referenced by the testconfig file reader (setenv "MT_TEST_NAME" test-name) ;; (setenv "MT_RUNNAME" (args:get-arg ":runname")) (set-megatest-env-vars db run-id) ;; these may be needed by the launching process (change-directory *toppath*) (let* ((test-path (conc *toppath* "/tests/" test-name)) ;; could use test:get-testconfig here ... (test-configf (conc test-path "/testconfig")) (testexists (and (file-exists? test-configf)(file-read-access? test-configf))) (test-conf (if testexists (read-config test-configf #f #t) (make-hash-table))) (waiton (let ((w (config-lookup test-conf "requirements" "waiton"))) (if (string? w)(string-split w)'()))) (tags (let ((t (config-lookup test-conf "setup" "tags"))) ;; we want our tags to be separated by commas and fully delimited by commas |
︙ | ︙ |
Modified tests/tests/exit_1/testconfig from [475b97c77b] to [b41a76aacb].
1 2 3 4 5 6 7 8 9 | [setup] runscript main.sh [test_meta] author matt owner bob description This test checks that a multi-lineitem test with mix of pass and non-fail rolls up a PASS tags first,single | > > > | 1 2 3 4 5 6 7 8 9 10 11 12 | [setup] runscript main.sh [requirements] priority 9 [test_meta] author matt owner bob description This test checks that a multi-lineitem test with mix of pass and non-fail rolls up a PASS tags first,single |
︙ | ︙ |
Modified tests/tests/eztest_fail/testconfig from [869f3145d8] to [0f917c7dd3].
1 2 3 4 5 6 7 8 | [setup] [ezsteps] lookittmp ls /tmp lookithome ls /home lookitnada ls /nada lookitusr ls /usr | > > > | 1 2 3 4 5 6 7 8 9 10 11 | [setup] [requirements] priority 10 [ezsteps] lookittmp ls /tmp lookithome ls /home lookitnada ls /nada lookitusr ls /usr |
︙ | ︙ |
Added tests/tests/priority_1/testconfig version [a4d944cb23].
> > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | [setup] runscript main.sh [requirements] priority 1 [test_meta] author matt owner bob description This test checks that a multi-lineitem test with mix of pass and non-fail rolls up a PASS tags first,single reviewed 09/10/2011, by Matt |
Added tests/tests/priority_10/testconfig version [393387936a].
> > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | [setup] runscript main.sh [requirements] priority 10 [test_meta] author matt owner bob description This test checks that a multi-lineitem test with mix of pass and non-fail rolls up a PASS tags first,single reviewed 09/10/2011, by Matt |
Added tests/tests/priority_10_waiton_1/testconfig version [b7686d9e51].
> > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [setup] runscript main.sh [requirements] priority 10 waiton priority_1 [test_meta] author matt owner bob description This test checks that a multi-lineitem test with mix of pass and non-fail rolls up a PASS tags first,single reviewed 09/10/2011, by Matt |
Added tests/tests/priority_2/testconfig version [62b7ebcc8f].
> > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | [setup] runscript main.sh [requirements] priority 2 [test_meta] author matt owner bob description This test checks that a multi-lineitem test with mix of pass and non-fail rolls up a PASS tags first,single reviewed 09/10/2011, by Matt |
Added tests/tests/priority_3/testconfig version [3693d6b2ed].
> > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [setup] runscript main.sh [requirements] priority 3 [test_meta] author matt owner bob description This test checks that a multi-lineitem test with mix of pass and non-fail rolls up a PASS tags first,single reviewed 09/10/2011, by Matt |
Added tests/tests/priority_4/testconfig version [331e061c45].
> > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | [setup] runscript main.sh [requirements] priority 4 [test_meta] author matt owner bob description This test checks that a multi-lineitem test with mix of pass and non-fail rolls up a PASS tags first,single reviewed 09/10/2011, by Matt |
Added tests/tests/priority_5/testconfig version [ef11eb1493].
> > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | [setup] runscript main.sh [requirements] priority 5 [test_meta] author matt owner bob description This test checks that a multi-lineitem test with mix of pass and non-fail rolls up a PASS tags first,single reviewed 09/10/2011, by Matt |
Added tests/tests/priority_6/testconfig version [b12d3ed5db].
> > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | [setup] runscript main.sh [requirements] priority 6 [test_meta] author matt owner bob description This test checks that a multi-lineitem test with mix of pass and non-fail rolls up a PASS tags first,single reviewed 09/10/2011, by Matt |
Added tests/tests/priority_7/testconfig version [3208e34990].
> > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | [setup] runscript main.sh [requirements] priority 7 [test_meta] author matt owner bob description This test checks that a multi-lineitem test with mix of pass and non-fail rolls up a PASS tags first,single reviewed 09/10/2011, by Matt |
Added tests/tests/priority_8/testconfig version [cce675c747].
> > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | [setup] runscript main.sh [requirements] priority 8 [test_meta] author matt owner bob description This test checks that a multi-lineitem test with mix of pass and non-fail rolls up a PASS tags first,single reviewed 09/10/2011, by Matt |
Added tests/tests/priority_9/testconfig version [b41a76aacb].
> > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | [setup] runscript main.sh [requirements] priority 9 [test_meta] author matt owner bob description This test checks that a multi-lineitem test with mix of pass and non-fail rolls up a PASS tags first,single reviewed 09/10/2011, by Matt |