Index: dashboard.scm ================================================================== --- dashboard.scm +++ dashboard.scm @@ -560,17 +560,33 @@ (begin (set! first-time #f) (set! test-browse-xoffset (- 20 (* (/ sizex 2) (* 8 xadj)))) (set! test-browse-yoffset (- 20 (* (/ sizey 2) (* 8 (- 1 yadj))))))) (let* ((xtorig (+ test-browse-xoffset (* (/ sizex 2) (* 8 xadj)))) ;; (- xadj 1)))) - (ytorig (+ test-browse-yoffset (* (/ sizey 2) (* 8 (- 1 yadj)))))) + (ytorig (+ test-browse-yoffset (* (/ sizey 2) (* 8 (- 1 yadj))))) + (boxw 80) + (boxh 30) + (gapx 20) + (gapy 30)) (print "sizex: " sizex " sizey: " sizey " font: " (canvas-font cnv)) - (for-each (lambda (testname) - (canvas-text! cnv (+ xtorig 5)(+ ytorig 5) testname) ;; (conc testname " (" xtorig "," ytorig ")")) - (canvas-rectangle! cnv xtorig (+ 60 xtorig) ytorig (+ ytorig 30)) - (set! ytorig (+ ytorig 50))) - (reverse sorted-testnames)))))) + (let loop ((hed (car (reverse sorted-testnames))) + (tal (cdr (reverse sorted-testnames))) + (llx xtorig) + (lly ytorig) + (urx (+ xtorig boxw)) + (ury (+ ytorig boxh))) + (canvas-text! cnv (+ llx 5)(+ lly 5) hed) ;; (conc testname " (" xtorig "," ytorig ")")) + (canvas-rectangle! cnv llx urx lly ury) + (if (not (null? tal)) + ;; leave a column of space to the right to list items + (let ((have-room (< urx (- sizex boxw gapx boxw)))) ;; is there room for another column? + (loop (car tal) + (cdr tal) + (if have-room (+ llx boxw gapx) xtorig) ;; have room, + (if have-room lly (+ lly boxh gapy)) + (if have-room (+ urx boxw gapx) (+ xtorig boxw)) + (if have-room ury (+ ury boxh gapy)))))))))) #:size "150x200" #:scrollbar "YES" #:posx "0.5" #:posy "0.5"))))))) Index: runs.scm ================================================================== --- runs.scm +++ runs.scm @@ -251,10 +251,13 @@ (cdb:remote-run db:set-tests-state-status #f run-id test-names #f "FAIL" "NOT_STARTED" "FAIL"))) ;; from here on out the db will be opened and closed on every call runs:run-tests-queue ;; (sqlite3:finalize! db) ;; now add non-directly referenced dependencies (i.e. waiton) + ;;====================================================================== + ;; refactoring this block into tests:get-full-data + ;;====================================================================== (if (not (null? test-names)) (let loop ((hed (car test-names)) (tal (cdr test-names))) ;; 'return-procs tells the config reader to prep running system but return a proc (debug:print-info 4 "hed=" hed " at top of loop") (let* ((config (tests:get-testconfig hed 'return-procs))