Index: Makefile ================================================================== --- Makefile +++ Makefile @@ -87,11 +87,11 @@ csc $(CSCOPTS) $(OFILES) $(MOFILES) $(MOIMPFILES) megatest.o -o mtest showmtesthash: @echo $(MTESTHASH) -dboard : $(OFILES) $(GOFILES) dashboard.scm $(MOFILES) $(MOIMPFILES) megatest-version.scm megatest-fossil-hash.scm +dboard : $(OFILES) $(GOFILES) dashboard.scm $(MOFILES) $(MOIMPFILES) megatest-version.scm megatest-fossil-hash.scm dashboard-new-runs-view.scm csc $(CSCOPTS) $(OFILES) dashboard.scm $(GOFILES) $(MOFILES) $(MOIMPFILES) -o dboard mtut: $(OFILES) $(MOFILES) megatest-fossil-hash.scm mtut.scm megatest-version.scm csc $(CSCOPTS) $(OFILES) $(MOFILES) mtut.scm -o mtut @@ -180,10 +180,12 @@ vg.o dashboard.o : vg_records.scm megatest-version.scm dcommon.o : run_records.scm mofiles/stml2.o : mofiles/cookie.o + +dashboard.scm : # # special include based modules # mofiles/pkts.o : pkts/pkts.scm # mofiles/stml2.o : cookie.o # # mofiles/mtargs.o : mtargs/mtargs.scm Index: dashboard-new-runs-view.scm ================================================================== --- dashboard-new-runs-view.scm +++ dashboard-new-runs-view.scm @@ -1,6 +1,6 @@ -;;====================================================================== +;:rdat;====================================================================== ;; Extracting the data to display for runs ;; ;; This needs to be re-entrant such that it does one column per call ;; on the zeroeth call update runs data ;; on each subsequent call update one run (configurable - could do two, three ... or update until tdelta exceeded @@ -34,13 +34,22 @@ (let* ((tb (dboard:rdat-runs-tree rdat)) (targ-sql-filt (dboard:rdat-targ-sql-filt rdat)) (runname-sql-filt (dboard:rdat-runname-sql-filt rdat)) (state-sql-filt (dboard:rdat-run-state-sql-filt rdat)) (status-sql-filt (dboard:rdat-run-status-sql-filt rdat)) + (offset (dboard:rdat-runs-offset rdat)) + (count (dboard:rdat-runs-count rdat)) + ;; Use (db:get-value-by-header (db:get-header runinfo)(db:get-rows runinfo)) - (data (rmt:simple-get-runs runname-sql-filt #f #f targ-sql-filt #f)) + (data (rmt:simple-get-runs runname-sql-filt count offset targ-sql-filt #f)) (numruns (length data))) + (print "Scan runs, offset: "offset" numruns: "numruns" count: "count) + (if (< numruns count) ;; i.e. there are no more runs to get + (begin + (dboard:rdat-runs-offset-set! rdat 0)) ;; start over + (dboard:rdat-runs-offset-set! rdat + (+ (dboard:rdat-runs-offset rdat) numruns))) ;; store in the runsbynum vector (dboard:rdat-runsbynum-set! rdat (list->vector data)) ;; update runs id => runrec ;; update targ-runid target/runname => run-id (for-each @@ -156,21 +165,24 @@ (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)) + (print "col-num: "col-num) (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) + (debug:print 0 *default-log-port* "num-runs: "num-runs" run-tests: "run-tests) (if (null? run-tests) ;; empty run (if (< col-num num-runs) ;; NOT CORRECT - (loop (+ col-num))) + (begin + (print "Empty run, num-runs: "num-runs" col-num: "col-num) + (loop (+ col-num 1)))) (begin (set! changed (dcommon:modifiy-if-different ;; set the col header run-tests-mtx (conc "0:" col-num) vert-targ Index: dashboard.scm ================================================================== --- dashboard.scm +++ dashboard.scm @@ -451,10 +451,13 @@ (numrows 20) ;; number of rows visible ;; data from sql db (keys (rmt:get-keys)) ;; to be removed when targets handling is refactored (runs (make-sparse-vector)) ;; id => runrec + (runs-offset 0) ;; paginator pointer (used for offset) + (runs-count 5) ;; how many runs to get on each call + (run-tests (make-sparse-vector '())) ;; id => list of tests (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 ;; run sql filters