Overview
Comment: | Logpro (pass) + test_data (fail) should be fail but is pass. Added test case for this |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | fixing-logpro-test_data |
Files: | files | file ages | folders |
SHA1: |
60d6b0411d93ee77d2ff44ef75943ea4 |
User & Date: | mrwellan on 2011-11-09 15:09:58 |
Other Links: | branch diff | manifest | tags |
Context
2012-01-26
| ||
09:23 | Merged trunk to fixing-logpro-test_data Closed-Leaf check-in: 439b0bbdef user: mrwellan tags: fixing-logpro-test_data | |
2011-11-09
| ||
15:09 | Logpro (pass) + test_data (fail) should be fail but is pass. Added test case for this check-in: 60d6b0411d user: mrwellan tags: fixing-logpro-test_data | |
09:32 | Bumped version to v1.34 check-in: 0ebaf3eeeb user: mrwellan tags: trunk | |
Changes
Modified db.scm from [807a3e0dc9] to [29e62d469f].
︙ | ︙ | |||
567 568 569 570 571 572 573 | (let loop ((lin (read-line))) (if (not (eof-object? lin)) (begin (debug:print 4 lin) (db:csv->test-data db test-id lin) (loop (read-line)))))) ;; roll up the current results. | > | | | > | 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 594 595 596 597 598 599 600 601 602 603 604 605 | (let loop ((lin (read-line))) (if (not (eof-object? lin)) (begin (debug:print 4 lin) (db:csv->test-data db test-id lin) (loop (read-line)))))) ;; roll up the current results. ;; FIXME: Add the status to (db:test-data-rollup db test-id #f))) ;; WARNING: Do NOT call this for the parent test on an iterated test ;; Roll up test_data pass/fail results ;; look at the test_data status field, ;; if all are pass (any case) and the test status is PASS or NULL or '' then set test status to PASS. ;; if one or more are fail (any case) then set test status to PASS, non "pass" or "fail" are ignored (define (db:test-data-rollup db test-id status) (sqlite3:execute db "UPDATE tests SET fail_count=(SELECT count(id) FROM test_data WHERE test_id=? AND status like 'fail'), pass_count=(SELECT count(id) FROM test_data WHERE test_id=? AND status like 'pass') WHERE id=?;" test-id test-id test-id) ;; if the test is not FAIL then set status based on the fail and pass counts. (thread-sleep! 1) (sqlite3:execute db "UPDATE tests SET status=CASE WHEN (SELECT fail_count FROM tests WHERE id=?) > 0 THEN 'FAIL' WHEN (SELECT pass_count FROM tests WHERE id=?) > 0 AND (SELECT status FROM tests WHERE id=?) NOT IN ('WARN','FAIL') THEN 'PASS' ELSE status END WHERE id=?;" test-id test-id test-id)) (define (db:get-prev-tol-for-test db test-id category variable) ;; Finish me? |
︙ | ︙ |
Modified launch.scm from [d206050f69] to [1748d73246].
︙ | ︙ | |||
300 301 302 303 304 305 306 | ;; (eq? (vector-ref exit-info 2) 0)) ;; we can now use rollup-status instead ;; "PASS" ;; "FAIL") ;; "FAIL") ;; New logic based on rollup-status (cond ((not (vector-ref exit-info 1)) "FAIL") ;; job failed to run | | > > | > > | 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 | ;; (eq? (vector-ref exit-info 2) 0)) ;; we can now use rollup-status instead ;; "PASS" ;; "FAIL") ;; "FAIL") ;; New logic based on rollup-status (cond ((not (vector-ref exit-info 1)) "FAIL") ;; job failed to run ((eq? rollup-status 0) ;; if the current status is AUTO the defer to the calculated value (i.e. leave this AUTO) (if (equal? (db:test-get-status testinfo) "AUTO") "AUTO" "PASS")) ((eq? rollup-status 1) "FAIL") ((eq? rollup-status 2) ;; if the current status is AUTO the defer to the calculated value but qualify (i.e. make this AUTO-WARN) (if (equal? (db:test-get-status testinfo) "AUTO") "AUTO-WARN" "WARN")) (else "FAIL")) itemdat (args:get-arg "-m") #f))) ;; for automated creation of the rollup html file this is a good place... (if (not (equal? item-path "")) (tests:summarize-items db run-id test-name #f)) ;; don't force - just update if no ) (mutex-unlock! m) |
︙ | ︙ |
Modified runs.scm from [d434521016] to [1e2d7c663b].
︙ | ︙ | |||
212 213 214 215 216 217 218 | ;; update the primary record IF state AND status are defined (if (and state status) (sqlite3:execute db "UPDATE tests SET state=?,status=?,event_time=strftime('%s','now') WHERE run_id=? AND testname=? AND item_path=?;" state real-status run-id test-name item-path)) ;; if status is "AUTO" then call rollup | | | | 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 | ;; update the primary record IF state AND status are defined (if (and state status) (sqlite3:execute db "UPDATE tests SET state=?,status=?,event_time=strftime('%s','now') WHERE run_id=? AND testname=? AND item_path=?;" state real-status run-id test-name item-path)) ;; if status is "AUTO" then call rollup (if (and test-id state status (or (equal? status "AUTO")(equal? status "AUTO-WARN"))) (db:test-data-rollup db test-id status)) ;; add metadata (need to do this way to avoid SQL injection issues) ;; :first_err ;; (let ((val (hash-table-ref/default otherdat ":first_err" #f))) ;; (if val ;; (sqlite3:execute db "UPDATE tests SET first_err=? WHERE run_id=? AND testname=? AND item_path=?;" val run-id test-name item-path))) |
︙ | ︙ |
Added tests/tests/ezlog_fail_then_pass/firststep.logpro version [1d9c0ef873].
> > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 | ;; (c) 2006,2007,2008,2009 Matthew Welland matt@kiatoa.com ;; ;; License GPL. (expect:required in "LogFileBody" > 0 "Must be some files in the dir" #/.*/) (expect:ignore in "LogFileBody" < 99 "Ignore the word error in comments" #/^\/\/.*error/) (expect:warning in "LogFileBody" = 0 "Any warning" #/WARNING/) (expect:error in "LogFileBody" = 0 "Any error" (list #/ERROR/ #/error/)) ;; but disallow any other errors |
Added tests/tests/ezlog_fail_then_pass/main.sh version [fd6c1c1d59].
> > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 | #!/bin/bash megatest -step yepstep :state start :status n/a ls /tmp megatest -step yepstep :state end :status $? megatest -load-test-data << EOF OPER,du, 1.2, 1.2, < , GBytes ,System didn't use too much space EOF megatest -test-status :state COMPLETED :status AUTO |
Added tests/tests/ezlog_fail_then_pass/testconfig version [be9f816262].
> > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | [setup] [ezsteps] firststep main.sh [test_meta] author matt owner bob description This test runs a single ezstep which is logpro clean but fails based on -test-data loaded. tags first,single reviewed 09/10/2011, by Matt |