Overview
Comment: | Filter mostly fixed and added unit test for filter |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | filters-fix |
Files: | files | file ages | folders |
SHA1: |
1d19de5e2c8771be3c693695fda6e8b0 |
User & Date: | mrwellan on 2016-06-20 18:20:10 |
Other Links: | branch diff | manifest | tags |
Context
2016-06-21
| ||
03:57 | Merged filters-fix into redir-logs check-in: a3957fea2d user: matt tags: redir-logs | |
2016-06-20
| ||
18:20 | Filter mostly fixed and added unit test for filter Closed-Leaf check-in: 1d19de5e2c user: mrwellan tags: filters-fix | |
11:35 | Added test for basic filter operation on rmt:get-tests-for-run check-in: 35bbab5179 user: mrwellan tags: filters-fix | |
Changes
Modified db.scm from [62ae9e6cf9] to [0eef3cf2f1].
︙ | ︙ | |||
2195 2196 2197 2198 2199 2200 2201 | (if (eq? mode 'dashboard) " IN ('" (if not-in " NOT IN ('" " IN ('") ) (string-intersperse statuses "','") "')"))) | | | | > > > > > > > | > > | | 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 | (if (eq? mode 'dashboard) " IN ('" (if not-in " NOT IN ('" " IN ('") ) (string-intersperse statuses "','") "')"))) (interim-qry (conc " AND " (if not-in "NOT " "") "( state='COMPLETED' " (if statuses-qry (conc " AND " statuses-qry " ) ") " ) ") (if states-qry (conc (if not-in " AND " " OR ") states-qry ) ;; " ) ") ""))) (states-statuses-qry (cond ((and states-qry statuses-qry) (case mode ((dashboard) (if not-in (conc " AND (state='COMPLETED' AND status NOT IN ('" (string-intersperse statuses "','") "')) " " OR (state != 'COMPLETED' AND state NOT IN ('" (string-intersperse states "','") "')) ") (conc " AND (state='COMPLETED' AND status IN ('" (string-intersperse statuses "','") "')) " " OR (state NOT IN ('COMPLETED','DELETED') AND state IN ('" (string-intersperse states "','") "')) "))) (else (conc " AND ( " states-qry " AND " statuses-qry " ) ")))) (states-qry (case mode ((dashboard) (conc " AND " (if not-in "NOT " "") " state IN ('" (string-intersperse states "','") "') ")) ;; interim-qry) (else (conc " AND " states-qry)))) (statuses-qry (case mode ((dashboard) (conc " AND " (if not-in "NOT " "") " status IN ('" (string-intersperse statuses "','") "') ")) ;; interim-qry) (else (conc " AND " statuses-qry)))) (else ""))) (tests-match-qry (tests:match->sqlqry testpatt)) (qry (conc "SELECT " qryvalstr " FROM tests WHERE run_id=? " (if last-update " " " AND state != 'DELETED' ") ;; if using last-update we want deleted tests? states-statuses-qry (if tests-match-qry (conc " AND (" tests-match-qry ") ") "") |
︙ | ︙ |
Modified tests/unittests/basicserver.scm from [4c3ddd6951] to [85fa769c5b].
︙ | ︙ | |||
177 178 179 180 181 182 183 | ;; ;; ;; Not sure how the following should work, replacing it with system of megatest -server ;; ;; (test "launch server" #t (let ((pid (process-fork (lambda () ;; ;; ;; (daemon:ize) ;; ;; (server:launch 'http))))) ;; ;; (set! server-pid pid) ;; ;; (number? pid))) | | | 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 | ;; ;; ;; Not sure how the following should work, replacing it with system of megatest -server ;; ;; (test "launch server" #t (let ((pid (process-fork (lambda () ;; ;; ;; (daemon:ize) ;; ;; (server:launch 'http))))) ;; ;; (set! server-pid pid) ;; ;; (number? pid))) ;; (system "../../bin/megatest -server - -debugbcom 22 > server.log 2> server.log &") ;; ;; (let loop ((n 10)) ;; (thread-sleep! 1) ;; need to wait for server to start. ;; (let ((res (open-run-close tasks:get-best-server tasks:open-db))) ;; (print "tasks:get-best-server returned " res) ;; (if (and (not res) ;; (> n 0)) |
︙ | ︙ |
Modified tests/unittests/tests.scm from [4797bdd618] to [936d866cb6].
︙ | ︙ | |||
21 22 23 24 25 26 27 | (define runinfo #f) (define keyvals '(("SYSTEM" "abc")("RELEASE" "def"))) (define header (list "SYSTEM" "RELEASE" "id" "runname" "state" "status" "owner" "event_time")) (define run-id 1) ;; Create a run (test #f 1 (rmt:register-run keyvals runname "new" "n/a" user)) | | | > > | < | | < | > | > > > | | | > > | > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | (define runinfo #f) (define keyvals '(("SYSTEM" "abc")("RELEASE" "def"))) (define header (list "SYSTEM" "RELEASE" "id" "runname" "state" "status" "owner" "event_time")) (define run-id 1) ;; Create a run (test #f 1 (rmt:register-run keyvals runname "new" "n/a" user)) (test #f #t (rmt:general-call 'register-test run-id run-id "test-one" "")) (test #f #t (rmt:general-call 'register-test run-id run-id "test-two" "")) (test #f #t (rmt:general-call 'register-test run-id run-id "test-three" "")) (test #f #t (rmt:general-call 'register-test run-id run-id "test-four" "")) (rmt:test-set-state-status-by-id run-id (rmt:get-test-id run-id "test-one" "") "COMPLETED" "FAIL" "") (rmt:test-set-state-status-by-id run-id (rmt:get-test-id run-id "test-two" "") "COMPLETED" "PASS" "") (rmt:test-set-state-status-by-id run-id (rmt:get-test-id run-id "test-three" "") "RUNNING" "n/a" "") (rmt:test-set-state-status-by-id run-id (rmt:get-test-id run-id "test-four" "") "COMPLETED" "WARN" "") (print "MODE=not in") (test #f '() (filter (lambda (y) (equal? y "FAIL")) ;; any FAIL in the output list? (map (lambda (x)(vector-ref x 4)) (rmt:get-tests-for-run run-id "%/%" '() '("FAIL") #f #f #t 'event_time "DESC" 'shortlist 0 'dashboard)))) (print "MODE=in") (test #f '("FAIL") (map (lambda (x)(vector-ref x 4)) (rmt:get-tests-for-run run-id "%/%" '() '("FAIL") #f #f #f 'event_time "DESC" 'shortlist 0 'dashboard))) (set! *verbosity* 1) (print "MODE=in, state in RUNNING") ;; (set! *verbosity* 8) (test #f '("RUNNING") (map (lambda (x)(vector-ref x 3)) (rmt:get-tests-for-run run-id "%/%" '("RUNNING") '() #f #f #f 'event_time "DESC" 'shortlist 0 'dashboard))) (set! *verbosity* 1) (print "MODE=in, state in RUNNING and status IN WARN") ;; (set! *verbosity* 8) (test #f '(("RUNNING" . "n/a") ("COMPLETED" . "WARN")) (map (lambda (x) (cons (vector-ref x 3)(vector-ref x 4))) (rmt:get-tests-for-run run-id "%/%" '("RUNNING") '("WARN") #f #f #f 'event_time "DESC" 'shortlist 0 'dashboard))) (set! *verbosity* 1) (print "MODE=not in, state in RUNNING and status IN WARN") (set! *verbosity* 8) (test #f '(("RUNNING" . "n/a") ("COMPLETED" . "WARN")) (map (lambda (x) (cons (vector-ref x 3)(vector-ref x 4))) (rmt:get-tests-for-run run-id "%/%" '("RUNNING") '("WARN") #f #f #t 'event_time "DESC" 'shortlist 0 'dashboard))) (set! *verbosity* 1) (exit) |