Changes In Branch defstruct-srehman Through [43cb38feb6] Excluding Merge-Ins
This is equivalent to a diff from 0caf2c62bd to 43cb38feb6
2016-09-23
| ||
11:16 | fixed rmt issue when returning information from server check-in: f84ef58d2d user: srehman tags: defstruct-srehman | |
2016-09-20
| ||
14:56 | typed-records for tests working check-in: 43cb38feb6 user: srehman tags: defstruct-srehman | |
13:25 | updateded db:get-tests-for-run method with defstruct check-in: d5c885ef29 user: srehman tags: defstruct-srehman | |
2016-09-19
| ||
11:13 | merged with v1.62 latest build check-in: d854ad72ea user: srehman tags: defstruct-srehman | |
10:32 | Merged runs-summary-context-menu into v1.62 as it passes QA check-in: 3903171f0b user: mrwellan tags: v1.62 | |
2016-09-14
| ||
16:10 | wip context menu in runs summary tab check-in: f39f2f4544 user: bjbarcla tags: runs-summary-context-menu | |
12:52 | remove duplicate updater callback check-in: 0caf2c62bd user: bjbarcla tags: v1.62 | |
2016-09-13
| ||
18:52 | added xor features: 1) - button to hide CLEAN-* 2) make CLEAN-{FAIL,CHECK,ABORT} orange check-in: 36fb66d697 user: bjbarcla tags: v1.62 | |
Modified dashboard.scm from [7743efb660] to [c4769e8f2f].
︙ | ︙ | |||
1394 1395 1396 1397 1398 1399 1400 | (if (dboard:tabdat-filters-changed tabdat) 0 last-update) *dashboard-mode*) '()))) ;; get 'em all ;; (debug:print 0 *default-log-port* "dboard:get-tests-dat: got " (length tdat) " test records for run " run-id) (sort tdat (lambda (a b) | | | | 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 | (if (dboard:tabdat-filters-changed tabdat) 0 last-update) *dashboard-mode*) '()))) ;; get 'em all ;; (debug:print 0 *default-log-port* "dboard:get-tests-dat: got " (length tdat) " test records for run " run-id) (sort tdat (lambda (a b) (let* ((aval (db:test-get-testname a));;(vector-ref a 2)) (bval (db:test-get-testname b));;(vector-ref b 2)) (anum (string->number aval)) (bnum (string->number bval))) (if (and anum bnum) (< anum bnum) (string<= aval bval))))))) |
︙ | ︙ |
Modified db.scm from [1c6bc853bb] to [a813aa1960].
︙ | ︙ | |||
2249 2250 2251 2252 2253 2254 2255 | ";" ))) (debug:print-info 8 *default-log-port* "db:get-tests-for-run run-id=" run-id ", qry=" qry) (db:with-db dbstruct run-id #f (lambda (db) (sqlite3:for-each-row (lambda (a . b) ;; id run-id testname state status event-time host cpuload diskfree uname rundir item-path run-duration final-logf comment) | | > > > | 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 | ";" ))) (debug:print-info 8 *default-log-port* "db:get-tests-for-run run-id=" run-id ", qry=" qry) (db:with-db dbstruct run-id #f (lambda (db) (sqlite3:for-each-row (lambda (a . b) ;; id run-id testname state status event-time host cpuload diskfree uname rundir item-path run-duration final-logf comment) ;;(set! res (cons (apply vector a b) res))) ;; id run-id testname state status event-time host cpuload diskfree uname rundir item-path run-duration final-logf comment) res))) ;;(print (cons a b)) (set! res (cons (alist->db:test-rec (db:qry-gen-alist qryvalstr (cons a b))) res))) db qry run-id ))) (case qryvals ((shortlist)(map db:test-short-record->norm res)) ((#f) res) |
︙ | ︙ | |||
2282 2283 2284 2285 2286 2287 2288 | (if tests-match-qry (conc " AND (" tests-match-qry ") ") "")))) (debug:print-info 8 *default-log-port* "db:get-tests-for-run qry=" qry) (db:with-db dbstruct run-id #f (lambda (db) (sqlite3:for-each-row (lambda (id testname item-path state status) ;; id,run_id,testname,state,status,event_time,host,cpuload,diskfree,uname,rundir,item_path,run_duration,final_logf,comment | | > | | > | 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 | (if tests-match-qry (conc " AND (" tests-match-qry ") ") "")))) (debug:print-info 8 *default-log-port* "db:get-tests-for-run qry=" qry) (db:with-db dbstruct run-id #f (lambda (db) (sqlite3:for-each-row (lambda (id testname item-path state status) ;; id,run_id,testname,state,status,event_time,host,cpuload,diskfree,uname,rundir,item_path,run_duration,final_logf,comment ;;(set! res (cons (vector id run-id testname state status -1 "" -1 -1 "" "-" item-path -1 "-" "-") res))) (cons (make-db:test-rec id: id testname: testname item_path: item-path state: state status: status) res)) db qry run-id))) res)) (define (db:get-testinfo-state-status dbstruct run-id test-id) (let ((res '())) (db:with-db dbstruct run-id #f (lambda (db) (sqlite3:for-each-row (lambda (run-id testname item-path state status) ;; id,run_id,testname,state,status,event_time,host,cpuload,diskfree,uname,rundir,item_path,run_duration,final_logf,comment ;;(set! res (vector test-id run-id testname state status -1 "" -1 -1 "" "-" item-path -1 "-" "-"))) (cons (make-db:test-rec run_id: run-id testname: testname item_path: item-path state: state status: status) res)) db "SELECT run_id,testname,item_path,state,status FROM tests WHERE id=?;" test-id))) res)) ;; get a useful subset of the tests data (used in dashboard ;; use db:mintest-get-{id ,run_id,testname ...} |
︙ | ︙ | |||
2566 2567 2568 2569 2570 2571 2572 | dbstruct)) ;; still settling on when to use dbstruct or dbdat (db (db:dbdat-get-db dbdat)) (res '())) (db:delay-if-busy dbdat) (sqlite3:for-each-row (lambda (id run-id testname state status event-time host cpuload diskfree uname rundir item-path run-duration final-logf comment shortdir attemptnum archived) ;; 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | | > > > > | | 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 | dbstruct)) ;; still settling on when to use dbstruct or dbdat (db (db:dbdat-get-db dbdat)) (res '())) (db:delay-if-busy dbdat) (sqlite3:for-each-row (lambda (id run-id testname state status event-time host cpuload diskfree uname rundir item-path run-duration final-logf comment shortdir attemptnum archived) ;; 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ;;(set! res (cons (vector id run-id testname state status event-time host cpuload diskfree uname rundir item-path run-duration final-logf comment shortdir attemptnum archived) (cons (make-db:test-rec id: id run-id: run-id testname: testname state: state status: status event_time: event-time host: host cpuload: cpuload diskfree: diskfree uname: uname rundir: rundir item_path: item-path run_duration: run-duration final_logf: final-logf comment: comment shortdir: shortdir attemptnum: attemptnum archived: archived ) res)) db (conc "SELECT " db:test-record-qry-selector " FROM tests WHERE state != 'DELETED' AND run_id=?;") run-id) res)) (define (db:replace-test-records dbstruct run-id testrecs) (db:with-db dbstruct run-id #t |
︙ | ︙ | |||
2643 2644 2645 2646 2647 2648 2649 | run-id #f (lambda (db) (let ((res #f)) (sqlite3:for-each-row ;; attemptnum added to hold pid of top process (not Megatest) controlling a test (lambda (id run-id testname state status event-time host cpuload diskfree uname rundir-id item-path run_duration final-logf-id comment short-dir-id attemptnum archived) ;; 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | | > > > > > | 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 | run-id #f (lambda (db) (let ((res #f)) (sqlite3:for-each-row ;; attemptnum added to hold pid of top process (not Megatest) controlling a test (lambda (id run-id testname state status event-time host cpuload diskfree uname rundir-id item-path run_duration final-logf-id comment short-dir-id attemptnum archived) ;; 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ;;(set! res (vector id run-id testname state status event-time host cpuload diskfree uname rundir-id item-path run_duration final-logf-id comment short-dir-id attemptnum archived))) (cons (make-db:test-rec id: id run-id: run-id testname: testname state: state status: status event_time: event-time host: host cpuload: cpuload diskfree: diskfree uname: uname rundir: rundir item_path: item-path run_duration: run-duration final_logf: final-logf comment: comment shortdir: shortdir attemptnum: attemptnum archived: archived ) res)) db (conc "SELECT " db:test-record-qry-selector " FROM tests WHERE id=?;") test-id) res)))) ;; Use db:test-get* to access ;; Get test data using test_ids. NB// Only works within a single run!! |
︙ | ︙ | |||
2677 2678 2679 2680 2681 2682 2683 | dbstruct run-id #f (lambda (db) (let ((res #f)) (sqlite3:for-each-row (lambda (a . b) | | | 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 | dbstruct run-id #f (lambda (db) (let ((res #f)) (sqlite3:for-each-row (lambda (a . b) (print a));;set! res (apply vector a b))) db (conc "SELECT " db:test-record-qry-selector " FROM tests WHERE testname=? AND item_path=?;") test-name item-path) res)))) (define (db:test-get-rundir-from-test-id dbstruct run-id test-id) (db:with-db |
︙ | ︙ |
Modified db_records.scm from [f90e27c50c] to [2b001bb132].
︙ | ︙ | |||
61 62 63 64 65 66 67 68 | (define (dbr:dbstruct-get-localdb v run-id) (hash-table-ref/default (dbr:dbstruct-get-locdbs v) run-id #f)) (define (dbr:dbstruct-set-localdb! v run-id db) (hash-table-set! (dbr:dbstruct-get-locdbs v) run-id db)) | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | | | | | | | | | | | < | | | | | | | | 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 | (define (dbr:dbstruct-get-localdb v run-id) (hash-table-ref/default (dbr:dbstruct-get-locdbs v) run-id #f)) (define (dbr:dbstruct-set-localdb! v run-id db) (hash-table-set! (dbr:dbstruct-get-locdbs v) run-id db)) (require-extension typed-records) (defstruct db:test-rec ((id -1) : number) ((run_id -1) : number) ((testname "") : string) ((state "") : string) ((status "") : string) ((event_time -1) : number) ((host "") : string) ((cpuload -1) : number) ((diskfree -1) : number) ((uname "") : string) ((rundir "") : string) ((item_path "") : string) ((run_duration -1) : number) ((final_logf "") : string) ((comment "") : string) ((process_id -1) : number) ((archived -1) : number)) (define (db:qry-gen-alist qrystr listvals) (define listqry (string-split qrystr ",")) (if (null? listqry) '() (let loop ((strhead (car listqry)) (strtail (cdr listqry)) (valhead (car listvals)) (valtail (cdr listvals)) (res '())) (let* ((slot-val-pair (cons (string->symbol strhead) valhead))) (if (or (null? strtail) (null? valtail)) (cons slot-val-pair res);;(print strhead valhead));;(cons (cons (string->symbol strhead) valhead) res)) (loop (car strtail)(cdr strtail)(car valtail)(cdr valtail)(cons slot-val-pair res))))))) (define (db:test-get-id typed-rec) (db:test-rec-id typed-rec)) (define (db:test-get-run_id typed-rec) (db:test-rec-run_id typed-rec)) (define (db:test-get-testname typed-rec) (db:test-rec-testname typed-rec)) (define (db:test-get-state typed-rec) (db:test-rec-state typed-rec)) (define (db:test-get-status typed-rec) (db:test-rec-status typed-rec)) (define (db:test-get-event_time typed-rec) (db:test-rec-event_time typed-rec)) (define (db:test-get-host typed-rec) (db:test-rec-host typed-rec)) (define (db:test-get-cpuload typed-rec) (db:test-rec-cpuload typed-rec)) (define (db:test-get-diskfree typed-rec) (db:test-rec-diskfree typed-rec)) (define (db:test-get-uname typed-rec) (db:test-rec-uname typed-rec)) (define (db:test-get-rundir typed-rec) (db:test-rec-rundir typed-rec)) (define (db:test-get-item-path typed-rec) (db:test-rec-item_path typed-rec)) (define (db:test-get-run_duration typed-rec) (db:test-rec-run_duration typed-rec)) (define (db:test-get-final_logf typed-rec) (db:test-rec-final_logf typed-rec)) (define (db:test-get-comment typed-rec) (db:test-rec-comment typed-rec)) (define (db:test-get-process_id typed-rec) (db:test-rec-process_id typed-rec)) (define (db:test-get-archived typed-rec) (db:test-rec-archived typed-rec)) ;; (define-inline (db:test-get-pass_count vec) (vector-ref vec 15)) ;; (define-inline (db:test-get-fail_count vec) (vector-ref vec 16)) (define-inline (db:test-get-fullname vec) (conc (db:test-get-testname vec) "/" (db:test-get-item-path vec))) ;; replace runs:make-full-test-name with this routine |
︙ | ︙ |