Overview
Comment: | Fixed waiton runner issues |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | v1.60 |
Files: | files | file ages | folders |
SHA1: |
4a3e5b5724f21e4b61ec6172f178406d |
User & Date: | matt on 2015-07-06 23:23:48 |
Other Links: | branch diff | manifest | tags |
Context
2015-07-07
| ||
10:20 | Made the colors for archived items darker than normal colors check-in: 397be0f93b user: mrwellan tags: v1.60 | |
2015-07-06
| ||
23:23 | Fixed waiton runner issues check-in: 4a3e5b5724 user: matt tags: v1.60 | |
2015-07-05
| ||
21:17 | Fixed regression in item running check-in: c897553b7a user: matt tags: v1.60, v1.6018 | |
Changes
Modified runs.scm from [b5f1b11249] to [a18bf25a3a].
︙ | ︙ | |||
390 391 392 393 394 395 396 | (if (and waiton (not (member waiton test-names))) (let* ((new-test-patts (tests:extend-test-patts test-patts hed waiton #f)) (waiton-record (hash-table-ref/default test-records waiton #f)) (waiton-tconfig (if waiton-record (vector-ref waiton-record 1) #f)) (waiton-itemized (and waiton-tconfig (or (hash-table-ref/default waiton-tconfig "items" #f) (hash-table-ref/default waiton-tconfig "itemstable" #f))))) | | | 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 | (if (and waiton (not (member waiton test-names))) (let* ((new-test-patts (tests:extend-test-patts test-patts hed waiton #f)) (waiton-record (hash-table-ref/default test-records waiton #f)) (waiton-tconfig (if waiton-record (vector-ref waiton-record 1) #f)) (waiton-itemized (and waiton-tconfig (or (hash-table-ref/default waiton-tconfig "items" #f) (hash-table-ref/default waiton-tconfig "itemstable" #f))))) (debug:print-info 0 "Test " waiton " has " (if waiton-record "a" "no") " waiton-record and" (if waiton-itemized " " " no ") "items") ;; need to account for test-patt here, if I am test "a", selected with a test-patt of "hed/b%" ;; and we are waiting on "waiton" we need to add "waiton/,waiton/b%" to test-patt ;; is this satisfied by merely appending "/" to the waiton name added to the list? ;; ;; This approach causes all of the items in an upstream test to be run ;; if we have this waiton already processed once we can analzye it for extending |
︙ | ︙ |
Modified tests.scm from [cf5fd4c786] to [40378522a7].
︙ | ︙ | |||
82 83 84 85 86 87 88 | (patts-b (map (lambda (x) (let ((newpatt (conc test-a "/" (substring x test-b-len (string-length x))))) ;; (print "in map, x=" x ", newpatt=" newpatt) newpatt)) (filter (lambda (x) (eq? (substring-index (conc test-b "/") x) 0)) patts)))) | | > > > | | 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 | (patts-b (map (lambda (x) (let ((newpatt (conc test-a "/" (substring x test-b-len (string-length x))))) ;; (print "in map, x=" x ", newpatt=" newpatt) newpatt)) (filter (lambda (x) (eq? (substring-index (conc test-b "/") x) 0)) patts)))) (string-intersperse (delete-duplicates (append patts (if (null? patts-b) (list (conc test-a "/%")) patts-b))) ","))) ;; tests:glob-like-match (define (tests:glob-like-match patt str) (let ((like (substring-index "%" patt))) (let* ((notpatt (equal? (substring-index "~" patt) 0)) (newpatt (if notpatt (substring patt 1) patt)) (finpatt (if like (string-substitute (regexp "%") ".*" newpatt #f) |
︙ | ︙ |
Modified tests/fdktestqa/testqa/Makefile from [2d20ab8370] to [2c34e806a3].
︙ | ︙ | |||
11 12 13 14 15 16 17 18 19 20 21 22 23 24 | $(MEGATEST) -runtests % -target a/b :runname c bigbig : for tn in a b c d;do \ ($(MEGATEST) -runtests % -target a/b :runname $tn & ) ; \ done bigrun : NUMTESTS=$(NUMTESTS) $(MEGATEST) -runtests bigrun -target a/bigrun :runname a$(shell date +%V) bigrun2 : NUMTESTS=$(NUMTESTS) $(MEGATEST) -runtests bigrun2 -target a/bigrun2 :runname a$(shell date +%V) bigrun3 : | > > > > > > > > | 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | $(MEGATEST) -runtests % -target a/b :runname c bigbig : for tn in a b c d;do \ ($(MEGATEST) -runtests % -target a/b :runname $tn & ) ; \ done waitonpatt : megatest -remove-runs -runname waitonpatt -target a/b -testpatt % NUMTESTS=15 megatest -run -target a/b -runname waitonpatt -testpatt bigrun3/%8 waitonall : megatest -remove-runs -runname waitonall -target a/b -testpatt % NUMTESTS=20 megatest -run -target a/b -runname waitonall -testpatt alltop bigrun : NUMTESTS=$(NUMTESTS) $(MEGATEST) -runtests bigrun -target a/bigrun :runname a$(shell date +%V) bigrun2 : NUMTESTS=$(NUMTESTS) $(MEGATEST) -runtests bigrun2 -target a/bigrun2 :runname a$(shell date +%V) bigrun3 : |
︙ | ︙ | |||
32 33 34 35 36 37 38 | $(NEWDASHBOARD) & compile : (cd ../../..;make -j && make install) clean : rm -rf ../simple*/*/* megatest.db db/* ../simple*/.db/* logs/* monitor.db | < | 40 41 42 43 44 45 46 | $(NEWDASHBOARD) & compile : (cd ../../..;make -j && make install) clean : rm -rf ../simple*/*/* megatest.db db/* ../simple*/.db/* logs/* monitor.db |
Added tests/fdktestqa/testqa/tests/alltop/testconfig version [50bb71fe35].
> > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | # Add additional steps here. Format is "stepname script" [vars] step1var step1.sh [ezsteps] step1 megatest -list-runs $MT_RUNNAME -target $MT_TARGET -itempatt % # Test requirements are specified here [requirements] waiton setup bigrun bigrun3 bigrun2 priority 0 # test_meta is a section for storing additional data on your test [test_meta] author matt owner matt description An example test tags tagone,tagtwo reviewed never |
Added tests/release/tests/toprun/results.logpro version [7bd9c74d1a].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | ;; (c) 2006,2007,2008,2009 Matthew Welland matt@kiatoa.com ;; ;; License GPL. (define logbody "LogFileBody") (define pass-specs '( ;; testname num-expected max-runtime ("exit_0" 1 20) ("ezlog_fail_then_pass" 1 20) ("ezlog_pass" 1 20) ("ez_pass" 1 20) ("lineitem_pass" 1 20) ("priority_1" 1 20) ("priority_10" 1 20) ("priority_10_waiton_1" 1 20) ("priority_3" 1 20) ("priority_4" 1 20) ;; ("priority_5" 1 20) ("priority_6" 1 20) ;; ("priority_7" 1 20) ("priority_8" 1 20) ("priority_9" 1 20) ("runfirst" 7 20) ("singletest" 1 20) ("singletest2" 1 20) ("special" 1 20) ("sqlitespeed" 10 20) ("test1" 1 20) ("test2" 6 20) ("test_mt_vars" 6 20) )) (define fail-specs '( ;; testname num-expected max-runtime ("exit_1" 1 20) ("ez_exit2_fail" 1 20) ("ez_fail" 1 20) ("ez_fail_quick" 1 20) ("ezlog_fail" 1 20) ("lineitem_fail" 1 20) ("logpro_required_fail" 1 20) ("manual_example" 1 20) ("neverrun" 1 20))) (define warn-specs '(("ezlog_warn" 1 20))) (define nost-specs '(("wait_no_items1" 1 20) ("wait_no_items2" 1 20) ("wait_no_items3" 1 20) ("wait_no_items4" 1 20) ;; ("no_items" 1 20) )) (define (check-one-test estate estatus testname count runtime) (let* ((rxe (regexp (conc "^\\s+Test: " testname "(\\(.*|\\s+)\\s+State: " estate "\\s+Status: " estatus "\\s+Runtime:\\s+(\\d+)s"))) (msg1 (conc testname " expecting count of " count)) (msg2 (conc testname " expecting runtime less than " runtime))) (expect:required in logbody = count msg1 rxe) ;;(expect:value in logbody count < msg2 rxe) )) ;; Special cases ;; (expect:ignore in logbody >= 0 "db_sync test might not have run" #/Test: db_sync/) (expect:ignore in logbody >= 0 "all_toplevel may not yet be done" #/Test: all_toplevel/) (expect:error in logbody = 0 "tests left in RUNNING state" #/State: RUNNING/) (expect:required in logbody = 1 "priority_2 is KILLED" #/Test: priority_2\s+State: KILLED\s+Status: KILLED/) (expect:required in logbody = 1 "priority_5 is either PASS or SKIP" #/Test: priority_5\s+State: COMPLETED\s+Status: (SKIP|PASS)/) (expect:required in logbody = 1 "priority_7 is either PASS or SKIP" #/Test: priority_7\s+State: COMPLETED\s+Status: (SKIP|PASS)/) (expect:required in logbody = 1 "testxz has 1 NOT_STARTED test" #/Test: testxz\s+State: NOT_STARTED/) (expect:required in logbody = 1 "no items" #/Test: no_items\s+State: NOT_STARTED\s+Status: ZERO_ITEMS/) (expect:warning in logbody = 1 "dynamic waiton" #/Test: dynamic_waiton/) (expect:required in logbody = 29 "blocktestxz has 29 tests" #/Test: blocktestxz/) ;; General cases ;; (for-each (lambda (testdat) (apply check-one-test "COMPLETED" "PASS" testdat)) pass-specs) (for-each (lambda (testdat) (apply check-one-test "COMPLETED" "FAIL" testdat)) fail-specs) (for-each (lambda (testdat) (apply check-one-test "COMPLETED" "WARN" testdat)) warn-specs) (for-each (lambda (testdat) (apply check-one-test "NOT_STARTED" "PREQ_DISCARDED" testdat)) nost-specs) ;; Catch all. ;; (expect:error in logbody = 0 "Tests not accounted for" #/Test: /) ;; ;; define your hooks ;; (hook:first-error "echo \"Error hook activated: #{escaped errmsg}\"") ;; (hook:first-warning "echo \"Got warning: #{escaped warnmsg}\"") ;; (hook:value "echo \"Value hook activated: expected=#{expected}, measured=#{measured}, tolerance=#{tolerance}, message=#{message}\"") ;; ;; ;; first ensure your run at least started ;; ;; ;; (trigger "Init" #/This is a header/) ;; (trigger "InitEnd" #/^\s*$/) ;; (section "Init" "Init" "InitEnd") ;; ;; (trigger "Body" #/^.*$/) ;; anything starts the body ;; ;; (trigger "EndBody" #/This had better never match/) ;; ;; (section "Body" "Body" "EndBody") ;; ;; (trigger "Blah2" #/^begin Blah2/) ;; (trigger "Blah2End" #/^end Blah2/) ;; (section "Blah2" "Blah2" "Blah2End") ;; ;; (expect:required in "Init" = 1 "Header" #/This is a header/) ;; (expect:required in "LogFileBody" > 0 "Something required but not found" #/This is required but not found/) ;; (expect:value in "LogFileBody" 1.9 0.1 "Output voltage" #/Measured voltage output:\s*([\d\.\+\-e]+)v/) ;; (expect:value in "LogFileBody" 0.5 0.1 "Output current" #/Measured output current:\s*([\d\.\+\-e]+)mA/) ;; (expect:value in "LogFileBody" 110e9 2e9 "A big number (first)" #/Freq:\s*([\d\.\+\-e]+)\s+Hz/) ;; (expect:value in "LogFileBody" 110e9 1e9 "A big number (second), hook not called" #/Freq:\s*([\d\.\+\-e]+)Hz/) ;; (expect:value in "LogFileBody" 110e9 1e9 "A big number (never activated)" #/Freq:\s*([\d\.\+\-e]+)zH/) ;; ;; ;; Using match number ;; (expect:value in "LogFileBody" 1.9 0.1 "Time Voltage" #/out: (\d+)\s+(\d+)/ match: 2) ;; ;; ;; Comparison instead of tolerance ;; (expect:value in "LogFileBody" 1.9 > "Time voltage" #/out: (\d+)\s+(\d+)/ match: 2) ;; ;; (expect:ignore in "Blah2" < 99 "FALSE ERROR" #/ERROR/) ;; (expect:ignore in "Body" < 99 "Ignore the word error in comments" #/^\/\/.*error/) ;; (expect:warning in "Body" = 0 "Any warning" #/WARNING/) ;; (expect:error in "Body" = 0 "ERROR BLAH" (list #/ERROR/ #/error/)) ;; but disallow any other errors ;; ;; ;(expect in "Init" < 1 "Junk" #/This is bogus/) |
Added tests/release/tests/toprun/testconfig version [e70d05999a].
> > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [misc] rname release_toprun rdir $MTTESTDIR/fullrun [ezsteps] cleantop $MTRUNNER #{get misc rdir} $MTPATH megatest -remove-runs -testpatt % -target ubuntu/nfs/none -runname #{get misc rname} -testpatt % runall $MTRUNNER #{get misc rdir} $MTPATH megatest -run -testpatt % -target ubuntu/nfs/none -runname #{get misc rname} -runwait runtop $MTRUNNER #{get misc rdir} $MTPATH megatest -runtests all_toplevel -target ubuntu/nfs/none -runname #{get misc rname} -runwait results $MTRUNNER #{get misc rdir} $MTPATH megatest -list-runs #{get misc rname} -target ubuntu/nfs/none [requirements] # waiton #{getenv ALL_TOPLEVEL_TESTS} # This is a "toplevel" test, it does not require waitons to be non-FAIL to run # mode toplevel |