Index: build.inc ================================================================== --- build.inc +++ build.inc @@ -1,295 +1,294 @@ # To regenerate this file do: # (cd utils/;ck52 csc gendeps.scm) && ./utils/gendeps allunits *scm # cp allunits.inc build.inc # -api.o : rmt.o +# dashboard.o : commonmod.import.o +# dashboard.o : configfmod.import.o +# dashboard.o : dcommonmod.import.o +# megatest.o : apimod.import.o +# megatest.o : commonmod.import.o +# megatest.o : configfmod.import.o +# megatest.o : dbmod.import.o +# megatest.o : ods.import.o +# megatest.o : rmtmod.import.o +# megatest.o : servermod.import.o api.o : db.o -api.o : tasks.o -api.o : mofiles/commonmod.o api.o : mofiles/apimod.o +api.o : mofiles/commonmod.o api.o : mofiles/dbmod.o -mofiles/apimod.o : mofiles/commonmod.o -archive.o : db.o +api.o : rmt.o +api.o : tasks.o archive.o : common.o -archive.o : mofiles/configfmod.o +archive.o : db.o archive.o : mofiles/commonmod.o +archive.o : mofiles/configfmod.o archive.o : mofiles/dbmod.o client.o : common.o client.o : db.o client.o : mofiles/commonmod.o client.o : mofiles/dbmod.o -client.o : rmt.o client.o : mofiles/servermod.o +client.o : rmt.o common.o : mofiles/commonmod.o -common.o : mofiles/dbmod.o common.o : mofiles/configfmod.o +common.o : mofiles/dbmod.o common.o : mofiles/servermod.o -configf.o : process.o configf.o : env.o configf.o : mofiles/commonmod.o configf.o : mofiles/configfmod.o -mofiles/configfmod.o : mofiles/commonmod.o +configf.o : process.o dashboard-context-menu.o : common.o dashboard-context-menu.o : db.o -dashboard-context-menu.o : gutils.o -dashboard-context-menu.o : rmt.o dashboard-context-menu.o : ezsteps.o -dashboard-context-menu.o : subrun.o +dashboard-context-menu.o : gutils.o dashboard-context-menu.o : mofiles/commonmod.o dashboard-context-menu.o : mofiles/configfmod.o dashboard-context-menu.o : mofiles/dbmod.o +dashboard-context-menu.o : rmt.o +dashboard-context-menu.o : subrun.o dashboard-guimonitor.o : common.o dashboard-guimonitor.o : db.o -dashboard-guimonitor.o : tasks.o dashboard-guimonitor.o : mofiles/commonmod.o dashboard-guimonitor.o : mofiles/dbmod.o +dashboard-guimonitor.o : tasks.o dashboard-tests.o : common.o dashboard-tests.o : db.o -dashboard-tests.o : gutils.o -dashboard-tests.o : rmt.o dashboard-tests.o : ezsteps.o -dashboard-tests.o : subrun.o +dashboard-tests.o : gutils.o dashboard-tests.o : mofiles/commonmod.o dashboard-tests.o : mofiles/configfmod.o dashboard-tests.o : mofiles/dbmod.o +dashboard-tests.o : rmt.o +dashboard-tests.o : subrun.o dashboard.o : common.o -dashboard.o : margs.o -dashboard.o : items.o -dashboard.o : db.o dashboard.o : configf.o -dashboard.o : process.o -dashboard.o : launch.o -dashboard.o : runs.o +dashboard.o : dashboard-context-menu.o +dashboard.o : dashboard-guimonitor.o dashboard.o : dashboard-tests.o -dashboard.o : dashboard-guimonitor.o -dashboard.o : tree.o +dashboard.o : db.o dashboard.o : dcommon.o -dashboard.o : dashboard-context-menu.o -dashboard.o : vg.o -dashboard.o : subrun.o +dashboard.o : items.o +dashboard.o : launch.o +dashboard.o : margs.o +dashboard.o : mofiles/apimod.o +dashboard.o : mofiles/commonmod.o +dashboard.o : mofiles/configfmod.o +dashboard.o : mofiles/dbmod.o +dashboard.o : mofiles/dcommonmod.o +dashboard.o : mofiles/servermod.o dashboard.o : mt.o -dashboard.o : mofiles/commonmod.o -# dashboard.o : commonmod.import.o -dashboard.o : mofiles/configfmod.o -# dashboard.o : configfmod.import.o -dashboard.o : mofiles/dcommonmod.o -# dashboard.o : dcommonmod.import.o -dashboard.o : mofiles/apimod.o -dashboard.o : mofiles/dbmod.o -dashboard.o : mofiles/servermod.o -db.o : common.o +dashboard.o : process.o +dashboard.o : runs.o +dashboard.o : subrun.o +dashboard.o : tree.o +dashboard.o : vg.o db.o : client.o -db.o : mt.o +db.o : common.o db.o : mofiles/commonmod.o db.o : mofiles/configfmod.o db.o : mofiles/dbmod.o db.o : mofiles/servermod.o -mofiles/dbmod.o : mofiles/commonmod.o -mofiles/dbmod.o : ods.o -mofiles/dbmod.o : mofiles/configfmod.o +db.o : mt.o +dcommon.o : db.o dcommon.o : gutils.o -dcommon.o : db.o dcommon.o : mofiles/commonmod.o -dcommon.o : mofiles/dbmod.o dcommon.o : mofiles/configfmod.o +dcommon.o : mofiles/dbmod.o dcommon.o : mofiles/dcommonmod.o dcommon.o : mofiles/servermod.o -mofiles/dcommonmod.o : mofiles/commonmod.o -mofiles/dcommonmod.o : mofiles/configfmod.o diff-report.o : common.o -diff-report.o : rmt.o diff-report.o : mofiles/commonmod.o +diff-report.o : rmt.o env.o : mofiles/commonmod.o -ezsteps.o : db.o ezsteps.o : common.o +ezsteps.o : db.o ezsteps.o : items.o -ezsteps.o : runconfig.o ezsteps.o : mofiles/commonmod.o ezsteps.o : mofiles/configfmod.o ezsteps.o : mofiles/dbmod.o +ezsteps.o : runconfig.o genexample.o : mofiles/commonmod.o http-transport.o : common.o http-transport.o : db.o -http-transport.o : tests.o -http-transport.o : server.o -http-transport.o : portlogger.o -http-transport.o : rmt.o http-transport.o : mofiles/commonmod.o http-transport.o : mofiles/configfmod.o http-transport.o : mofiles/dbmod.o http-transport.o : mofiles/servermod.o -index-tree.o : lock-queue.o -index-tree.o : db.o +http-transport.o : portlogger.o +http-transport.o : rmt.o +http-transport.o : server.o +http-transport.o : tests.o index-tree.o : common.o +index-tree.o : db.o index-tree.o : items.o -index-tree.o : runconfig.o +index-tree.o : lock-queue.o index-tree.o : mofiles/commonmod.o +index-tree.o : runconfig.o items.o : common.o items.o : mofiles/commonmod.o items.o : mofiles/configfmod.o -launch.o : subrun.o launch.o : common.o launch.o : configf.o launch.o : db.o launch.o : ezsteps.o launch.o : mofiles/commonmod.o launch.o : mofiles/configfmod.o launch.o : mofiles/dbmod.o +launch.o : subrun.o lock-queue.o : common.o -lock-queue.o : tasks.o lock-queue.o : mofiles/commonmod.o -megatest.o : common.o -megatest.o : margs.o -megatest.o : runs.o -megatest.o : launch.o -megatest.o : server.o +lock-queue.o : tasks.o +megatest.o : api.o megatest.o : client.o -megatest.o : tests.o +megatest.o : common.o +megatest.o : db.o +megatest.o : diff-report.o +megatest.o : env.o megatest.o : genexample.o -megatest.o : db.o -megatest.o : tdb.o -megatest.o : mt.o -megatest.o : api.o -megatest.o : env.o -megatest.o : diff-report.o +megatest.o : launch.o +megatest.o : margs.o +megatest.o : mofiles/apimod.o megatest.o : mofiles/commonmod.o -# megatest.o : commonmod.import.o megatest.o : mofiles/configfmod.o -# megatest.o : configfmod.import.o -megatest.o : ods.o -# megatest.o : ods.import.o megatest.o : mofiles/dbmod.o -# megatest.o : dbmod.import.o +megatest.o : mofiles/rmtmod.o megatest.o : mofiles/servermod.o -# megatest.o : servermod.import.o -megatest.o : mofiles/apimod.o -# megatest.o : apimod.import.o -megatest.o : mofiles/rmtmod.o -# megatest.o : rmtmod.import.o -mlaunch.o : db.o +megatest.o : mt.o +megatest.o : ods.o +megatest.o : runs.o +megatest.o : server.o +megatest.o : tdb.o +megatest.o : tests.o mlaunch.o : common.o -monitor.o : db.o +mlaunch.o : db.o +mofiles/apimod.o : mofiles/commonmod.o +mofiles/configfmod.o : mofiles/commonmod.o +mofiles/dbmod.o : mofiles/commonmod.o +mofiles/dbmod.o : mofiles/configfmod.o +mofiles/dbmod.o : ods.o +mofiles/dcommonmod.o : mofiles/commonmod.o +mofiles/dcommonmod.o : mofiles/configfmod.o +mofiles/rmtmod.o : mofiles/apimod.o +mofiles/rmtmod.o : mofiles/commonmod.o +mofiles/rmtmod.o : mofiles/dbmod.o +mofiles/servermod.o : mofiles/commonmod.o +mofiles/servermod.o : mofiles/configfmod.o +mofiles/servermod.o : mofiles/dbmod.o monitor.o : common.o +monitor.o : db.o monitor.o : items.o monitor.o : runconfig.o -mt.o : db.o mt.o : common.o +mt.o : db.o mt.o : items.o -mt.o : runconfig.o -mt.o : tests.o -mt.o : server.o -mt.o : runs.o -mt.o : rmt.o mt.o : mofiles/commonmod.o mt.o : mofiles/configfmod.o mt.o : mofiles/dbmod.o -mtexec.o : margs.o +mt.o : rmt.o +mt.o : runconfig.o +mt.o : runs.o +mt.o : server.o +mt.o : tests.o mtexec.o : configf.o +mtexec.o : margs.o mtexec.o : mofiles/configfmod.o mtut.o : common.o -mtut.o : margs.o mtut.o : configf.o +mtut.o : margs.o mtut.o : mofiles/commonmod.o mtut.o : mofiles/configfmod.o newdashboard.o : common.o -newdashboard.o : megatest-version.o +newdashboard.o : dcommon.o newdashboard.o : margs.o +newdashboard.o : megatest-version.o newdashboard.o : mofiles/commonmod.o -newdashboard.o : mofiles/dbmod.o -newdashboard.o : dcommon.o newdashboard.o : mofiles/configfmod.o +newdashboard.o : mofiles/dbmod.o ods.o : mofiles/commonmod.o portlogger.o : db.o portlogger.o : mofiles/commonmod.o portlogger.o : mofiles/configfmod.o portlogger.o : mofiles/dbmod.o process.o : mofiles/commonmod.o rmt.o : api.o rmt.o : http-transport.o -rmt.o : mofiles/commonmod.o rmt.o : mofiles/apimod.o -rmt.o : mofiles/rmtmod.o +rmt.o : mofiles/commonmod.o +rmt.o : mofiles/configfmod.o rmt.o : mofiles/dbmod.o -rmt.o : mofiles/configfmod.o +rmt.o : mofiles/rmtmod.o rmt.o : mofiles/servermod.o -mofiles/rmtmod.o : mofiles/commonmod.o -mofiles/rmtmod.o : mofiles/apimod.o -mofiles/rmtmod.o : mofiles/dbmod.o runconfig.o : common.o runconfig.o : mofiles/commonmod.o -runs.o : db.o +runs.o : archive.o runs.o : common.o +runs.o : db.o runs.o : items.o -runs.o : runconfig.o -runs.o : tests.o -runs.o : server.o -runs.o : mt.o -runs.o : archive.o runs.o : mofiles/commonmod.o runs.o : mofiles/configfmod.o runs.o : mofiles/dbmod.o runs.o : mofiles/servermod.o +runs.o : mt.o +runs.o : runconfig.o +runs.o : server.o +runs.o : tests.o server.o : common.o server.o : db.o server.o : http-transport.o server.o : launch.o server.o : mofiles/commonmod.o -server.o : mofiles/dbmod.o server.o : mofiles/configfmod.o +server.o : mofiles/dbmod.o server.o : mofiles/servermod.o -mofiles/servermod.o : mofiles/commonmod.o -mofiles/servermod.o : mofiles/configfmod.o -mofiles/servermod.o : mofiles/dbmod.o sharedat.o : configf.o sharedat.o : margs.o sharedat.o : megatest-version.o spublish.o : margs.o -subrun.o : db.o subrun.o : common.o -subrun.o : mt.o +subrun.o : db.o subrun.o : mofiles/commonmod.o subrun.o : mofiles/configfmod.o subrun.o : mofiles/dbmod.o +subrun.o : mt.o synchash.o : db.o -synchash.o : server.o synchash.o : mofiles/dbmod.o -tasks.o : db.o -tasks.o : rmt.o +synchash.o : server.o +tasks.o : cgisetup/models/pgdb.o tasks.o : common.o -tasks.o : cgisetup/models/pgdb.o +tasks.o : db.o tasks.o : mofiles/commonmod.o tasks.o : mofiles/configfmod.o tasks.o : mofiles/dbmod.o -tcmt.o : margs.o -tcmt.o : rmt.o +tasks.o : rmt.o tcmt.o : common.o +tcmt.o : margs.o tcmt.o : mofiles/commonmod.o -tdb.o : common.o +tcmt.o : rmt.o tdb.o : client.o -tdb.o : mt.o +tdb.o : common.o tdb.o : db.o tdb.o : mofiles/commonmod.o tdb.o : mofiles/dbmod.o +tdb.o : mt.o tdb.o : ods.o -test.o : mtcommon.o -tests.o : lock-queue.o +tests.o : common.o tests.o : db.o -tests.o : tdb.o -tests.o : common.o tests.o : items.o +tests.o : lock-queue.o +tests.o : mofiles/commonmod.o +tests.o : mofiles/configfmod.o +tests.o : mofiles/dbmod.o +tests.o : mofiles/servermod.o tests.o : runconfig.o tests.o : server.o -tests.o : mofiles/commonmod.o -tests.o : mofiles/dbmod.o -tests.o : mofiles/configfmod.o -tests.o : mofiles/servermod.o -tree.o : margs.o +tests.o : tdb.o +tree.o : db.o +tree.o : dcommon.o +tree.o : gutils.o tree.o : launch.o -tree.o : gutils.o -tree.o : db.o -tree.o : server.o -tree.o : dcommon.o +tree.o : margs.o tree.o : mofiles/commonmod.o tree.o : mofiles/dbmod.o +tree.o : server.o ulex.o : pkts.o Index: dashboard-new-runs-view.scm ================================================================== --- dashboard-new-runs-view.scm +++ dashboard-new-runs-view.scm @@ -46,11 +46,11 @@ (for-each (lambda (runrec) (let* ((run-id (simple-run-id runrec)) (full-targ-runname (conc (simple-run-target runrec) "/" (simple-run-runname runrec)))) - (debug:print 0 *default-log-port* "Update run " run-id) + ;; (debug:print 0 *default-log-port* "Update run " run-id) (sparse-vector-set! (dboard:rdat-runs rdat) run-id runrec) (hash-table-set! (dboard:rdat-targ-runid rdat) full-targ-runname run-id) (tree:add-node tb "Runs" (string-split full-targ-runname "/")) )) data) @@ -59,31 +59,35 @@ ;;====================================================================== ;; The "new" runs browser, this one sets up the view and registers the ;; updater ;; (define (dashboard:runs-browse commondat tabdat #!key (tab-num 5)) - (let* ((rdat (make-dboard:rdat))) + (let* ((rdat (make-dboard:rdat)) + (runsmtx (dboard:runs-new-matrix commondat rdat)) + (itemsmtx (dboard:runs-new-matrix commondat rdat))) + (dboard:rdat-runs-mtx-set! rdat runsmtx) + (dboard:rdat-items-mtx-set! rdat itemsmtx) (dboard:commondat-add-updater commondat (lambda () (dashboard:new-runs-updater commondat tabdat rdat)) tab-num: tab-num) (iup:split #:orientation "VERTICAL" - #:value 10 + #:value 100 + #:shrink "YES" (iup:vbox (dboard:runs-tree-new-view-browser commondat rdat)) (iup:split #:orientation "VERTICAL" - #:value 10 + #:value 100 + (iup:vbox runsmtx) (iup:vbox - (dboard:runs-new-matrix commondat rdat)) - (iup:hbox (iup:split #:orientation "VERTICAL" - #:value 10 - (dboard:runs-new-matrix commondat rdat) + #:value 500 + itemsmtx (dboard:test-info-matrix commondat rdat) )))))) (define (dashboard:new-runs-updater commondat tabdat rdat) (let* ((runnum (dboard:rdat-runnum rdat)) @@ -103,28 +107,13 @@ (loop newrn))))) (if (>= (dboard:rdat-runnum rdat) tot-runs) (dboard:rdat-runnum-set! rdat 0)) ;; (dboard:rdat-runnum-set! rdat rn))) ;; not needed as it is set above ;; (dboard:rdat-last-update-set! rdat (- (current-seconds) 10)) + (dashboard:update-new-runs-view-runs-matrix commondat rdat) '())) -#;(define (make-runs-view commondat rdat tab-num) - ;; register an updater - (dboard:commondat-add-updater - commondat - (lambda () - (new-runs-updater commondat rdat)) - tab-num: tab-num) - - (iup:vbox - (iup:split - #:orientation "VERTICAL" ;; "HORIZONTAL" - #:value 100 - (dboard:runs-tree-new-browser commondat rdat) - (dboard:runs-new-matrix commondat rdat) - ))) - ;; NOTE: runnum is NOT the run-id, it is a pointer into the runsbynum vector ;; (define (dashboard:update-run-data runnum rdat) (let* ((curr-time (current-seconds)) (runrec (vector-ref (dboard:rdat-runsbynum rdat) runnum)) @@ -137,24 +126,100 @@ (test-status-sql-filt (dboard:rdat-test-status-sql-filt rdat)) ;; not used yet (tests (rmt:get-tests-for-run-state-status run-id testname-sql-filt last-update ;; last-update ))) + ;; (debug:print 0 *default-log-port* "tests: " tests) (sparse-vector-set! (dboard:rdat-last-updates rdat) run-id (- curr-time 1)) - (debug:print 0 *default-log-port* "Got " (length tests) " tests for run-id " - run-id " testname-sql-filt " testname-sql-filt " and last-update " last-update) + (sparse-vector-set! (dboard:rdat-run-tests rdat) run-id + (delete-duplicates + (append tests (sparse-vector-ref (dboard:rdat-run-tests rdat) run-id)) + (lambda (a b) + (eq? (vector-ref a 0)(vector-ref b 0))))) ;; de-duplicate based on test id + #;(debug:print 0 *default-log-port* "Got " (length tests) " tests for run-id " + run-id " testname-sql-filt " testname-sql-filt " and last-update " last-update + " first test info: " tests) ;; (if (not (null? tests))(car tests) '())) (length tests))) +;; NB// start at 1. +;; +(define (dashboard:get-row-num mtrx rownames tname) + (or (hash-table-ref/default rownames tname #f) + (let* ((numentries (hash-table-size rownames)) + (nextnum (+ numentries 1))) + (hash-table-set! rownames tname nextnum) + (iup:attribute-set! mtrx (conc nextnum ":0") tname) + nextnum))) + +(define (dashboard:update-new-runs-view-runs-matrix commondat rdat) + (let* ((run-tests-data (dboard:rdat-run-tests rdat)) ;; from dbmod.scm (define-record simple-run target id runname state status owner event_time) + (run-tests-mtx (dboard:rdat-runs-mtx rdat)) + (runs-by-num (dboard:rdat-runsbynum rdat)) ;; this is the sequence num + (num-runs (vector-length runs-by-num)) + ) + (debug:print 0 *default-log-port* "num-runs: " num-runs) + (let loop ((col-num 1)) + (let* ((runrec (vector-ref runs-by-num (- col-num 1))) + (run-id (simple-run-id runrec)) + (target (simple-run-target runrec)) + (runname (simple-run-runname runrec)) + (vert-targ (string-translate (conc target "/" runname) "/" "\n")) + (run-tests (sparse-vector-ref run-tests-data run-id)) + (changed #f)) ;; manage redraws on a column by column basis + (debug:print 0 *default-log-port* "run-tests: " run-tests) + (if (null? run-tests) ;; empty run + (if (< col-num num-runs) ;; NOT CORRECT + (loop (+ col-num))) + (begin + (set! changed (dcommon:modifiy-if-different ;; set the col header + run-tests-mtx + (conc "0:" col-num) + vert-targ + changed)) + (let testloop ((inum 0) + (tail run-tests)) + (let* ((test-dat (car tail)) + (tname (db:test-get-testname test-dat)) + (state (db:test-get-state test-dat)) + (status (db:test-get-status test-dat)) + (item-path (db:test-get-item-path test-dat)) + (color (gutils:get-color-for-state-status state status)) + (is-deleted (equal? state "DELETED")) + (row-num (if is-deleted + #f + (dashboard:get-row-num run-tests-mtx + (dboard:rdat-rownames rdat) tname))) + (cell-name (conc row-num ":" col-num))) + (if (or (not is-deleted) + (equal? item-path "")) + (begin + (set! changed (dcommon:modifiy-if-different + run-tests-mtx + (conc "BGCOLOR" row-num ":" col-num) + (car color) + changed)) + (set! changed (dcommon:modifiy-if-different + run-tests-mtx + cell-name + (cadr color) + changed)))) + (if (not (null? (cdr tail))) + (testloop (+ inum 1)(cdr tail)) + (begin + (iup:attribute-set! run-tests-mtx (conc "C" col-num) "REDRAW") + (if (< col-num num-runs) + (loop (+ col-num 1))))))))))))) + (define (dboard:runs-new-matrix commondat rdat) (iup:matrix #:alignment1 "ALEFT" - ;; #:expand "YES" ;; "HORIZONTAL" + #:expand "YES" ;; "HORIZONTAL" #:scrollbar "YES" #:numcol 100 #:numlin 200 #:numcol-visible 3 ;; (min 8) - #:numlin-visible 1 + #:numlin-visible 10 #:widthdef 20 #:click-cb (lambda (obj row col status) (let* ((cell (conc row ":" col))) #f)) @@ -184,11 +249,11 @@ ("Owner" . 3) ("Reviewed" . 4) ("Tags" . 5) ("Description" . 6))) (remhost-run-info-fields - '(("Remote host/Run info" . 1) + '(("Host/run info" . 1) ("Hostname" . 2) ("Disk free" . 3) ("CPU Load" . 4) ("Run duration" . 5) ("Logfile" . 6) @@ -200,12 +265,13 @@ ;; #:expand "YES" ;; "HORIZONTAL" #:scrollbar "YES" #:numcol 1 #:numlin (length cfgdat) #:numcol-visible 1 ;; (min 8) - #:numlin-visible 1 + #:numlin-visible (length cfgdat) #:widthdef 50 + #:width0 50 #:click-cb (lambda (obj row col status) (let* ((cell (conc row ":" col))) #f))))) (for-each (lambda (finfo) @@ -217,15 +283,19 @@ mtx))) (runmtx (mk-matrix run-fields)) (testmtx (mk-matrix test-fields)) (metamtx (mk-matrix test-meta-fields)) (remhostmtx (mk-matrix remhost-run-info-fields))) + ;; (dboard:rdat-runs-mtx-set! rdat runmtx) + ;; (dboard:rdat-items-mtx-set! rdat testmtx) + ;; ( (iup:vbox - (iup:hbox - runmtx testmtx) - (iup:hbox - metamtx remhostmtx)))) + #:expandchildren #t + #:expand #f + runmtx testmtx + metamtx remhostmtx + ))) ;; browse runs as a tree. Used in both "Runs" tab and ;; in the runs control panel. ;; ;; THIS IS THE NEW ONE @@ -244,11 +314,11 @@ #;(dashboard:update-run-command tabdat)) "command-testname-selector tb action")) ;; #:value (dboard:test-patt->lines ;; This seems like it was wrong, BUG in code where it was copied from? ;; (dboard:tabdat-test-patts-use tabdat)) #:expand "HORIZONTAL" - ;; #:size "10x30" + ;; #:size "10x" )) (tb (iup:treebox #:value 0 #:title "Runs" ;; was #:name -- iup 3.19 changed @@ -257,11 +327,11 @@ ;; NAMEid from IupTree to avoid ;; conflict with the common attribute ;; NAME. Use the TITLEid attribute." #:expand "YES" #:addexpanded "YES" - #:size "10x" + #:size "120x" #:selection-cb (lambda (obj id state) (debug:catch-and-dump (lambda () (let* ((run-path (tree:node->path obj id)) Index: dashboard.scm ================================================================== --- dashboard.scm +++ dashboard.scm @@ -72,21 +72,21 @@ ;; (declare (uses dbmod.import)) (declare (uses servermod)) (import servermod) -;; This is the new runs view -(include "dashboard-new-runs-view.scm") - (include "common_records.scm") (include "db_records.scm") (include "run_records.scm") (include "task_records.scm") (include "megatest-version.scm") ;; (include "megatest-fossil-hash.scm") (include "vg_records.scm") +;; This is the new runs view +(include "dashboard-new-runs-view.scm") + (define help (conc "Megatest Dashboard, documentation at http://www.kiatoa.com/fossils/megatest version " megatest-version " license GPL, Copyright (C) Matt Welland 2012-2017 @@ -2540,10 +2540,11 @@ ;; now assemble the hdrlst and bdylst and kick off the dialog (iup:show (iup:dialog #:title (conc "Megatest dashboard " (current-user-name) ":" *toppath*) #:menu (dcommon:main-menu) + #:shrink "YES" (let* ((runs-view (iup:vbox (iup:split #:orientation "VERTICAL" ;; "HORIZONTAL" #:value 100 (dboard:runs-tree-browser commondat runs-dat) @@ -2589,10 +2590,11 @@ (let ((order-a (or (any->number (configf:lookup views-cfgdat a "order")) 999)) (order-b (or (any->number (configf:lookup views-cfgdat b "order")) 999))) (> order-a order-b))))) result)) (tabs (apply iup:tabs + #:shrink "YES" #:tabchangepos-cb (lambda (obj curr prev) (debug:catch-and-dump (lambda () (let* ((tab-num (dboard:commondat-curr-tab-num commondat)) (tabdat (dboard:common-get-tabdat commondat tab-num: tab-num))) Index: dcommonmod.scm ================================================================== --- dcommonmod.scm +++ dcommonmod.scm @@ -189,15 +189,17 @@ (leftcol 0) ;; number of the leftmost visible column (toprow 0) ;; topmost visible row (numcols 24) ;; number of columns visible (numrows 20) ;; number of rows visible -efactored - (runs (make-sparse-vector)) ;; id => runrec - (runsbynum (make-vector 100 #f)) ;; vector num => runrec - (targ-runid (make-hash-table)) ;; area/target/runname => run-id ;; not sure this will be needed - (tests (make-hash-table)) ;; test[/itempath] => list of test rec + ;; efactored <=== merge detritus + (runs (make-sparse-vector #f)) ;; id => runrec + (run-tests (make-sparse-vector '())) ;; id => list of tests + (runsbynum (make-vector 100 #f)) ;; vector num => runrec + (rownames (make-hash-table)) ;; testname => rownum + (targ-runid (make-hash-table)) ;; area/target/runname => run-id ;; not sure this will be needed + (tests (make-hash-table)) ;; test[/itempath] => list of test rec ;; run sql filters (targ-sql-filt "%") (runname-sql-filt "%") (run-state-sql-filt "%") @@ -219,11 +221,14 @@ ;; various (prev-run-ids '()) ;; push previously looked at runs on this (view-changed #f) ;; widgets - (runs-tree #f) ;; + (runs-tree #f) ;; + (runs-mtx #f) ;; runs displayed here + (items-mtx #f) ;; items displayed here + ;; info widgets here ) (define (dboard:rdat-push-run-id rdat run-id) (dboard:rdat-prev-run-ids-set! rdat (cons run-id (dboard:rdat-prev-run-ids rdat)))) Index: tests.scm ================================================================== --- tests.scm +++ tests.scm @@ -25,16 +25,13 @@ (declare (unit tests)) (declare (uses lock-queue)) (declare (uses db)) (declare (uses tdb)) (declare (uses common)) -;; (declare (uses dcommon)) ;; needed for the steps processing (declare (uses items)) (declare (uses runconfig)) -;; (declare (uses sdb)) (declare (uses server)) -;;(declare (uses stml2)) (use sqlite3 srfi-1 posix regex regex-case srfi-69 dot-locking tcp directory-utils) (import (prefix sqlite3 sqlite3:)) (require-library stml)