Index: archive.scm ================================================================== --- archive.scm +++ archive.scm @@ -1,6 +1,6 @@ -;; Copyright 2006-2012, Matthew Welland. +;; Copyright 2006-2014, Matthew Welland. ;; ;; This program is made available under the GNU GPL version 2.0 or ;; greater. See the accompanying file COPYING for details. ;; ;; This program is distributed WITHOUT ANY WARRANTY; without even the @@ -13,5 +13,6 @@ (import (prefix sqlite3 sqlite3:)) (declare (unit archive)) (declare (uses db)) (declare (uses common)) + Index: common.scm ================================================================== --- common.scm +++ common.scm @@ -188,15 +188,16 @@ (3 "CHECK") (4 "n/a") (5 "WAIVED") (6 "SKIP") (7 "DELETED") - (8 "STUCK/DEAD"))) + (8 "STUCK/DEAD") + (9 "ABORT"))) ;; These are stopping conditions that prevent a test from being run (define *common:cant-run-states-sym* - '(COMPLETED KILLED WAIVED UNKNOWN INCOMPLETE)) + '(COMPLETED KILLED WAIVED UNKNOWN INCOMPLETE ABORT)) ;;====================================================================== ;; D E B U G G I N G S T U F F ;;====================================================================== @@ -639,6 +640,7 @@ ((equal? status "FAIL") "red") ((equal? status "WARN") "orange") ((equal? status "KILLED") "orange") ((equal? status "KILLREQ") "purple") ((equal? status "RUNNING") "blue") + ((equal? status "ABORT") "brown") (else "black"))) Index: rmt.scm ================================================================== --- rmt.scm +++ rmt.scm @@ -363,10 +363,11 @@ (result '())) (if (null? run-id-list) '() (for-each (lambda (th) + (thread-join! th)) ;; I assume that joining completed threads just moves on (let loop ((hed (car run-id-list)) (tal (cdr run-id-list)) (threads '())) (let* ((newthread (make-thread @@ -384,10 +385,20 @@ (thread-sleep! 0.5) ;; give that thread some time to start (if (null? tal) newthreads (loop (car tal)(cdr tal) newthreads)))))) result)) + +;; ;; IDEA: Threadify these - they spend a lot of time waiting ... +;; ;; +;; (define (rmt:get-tests-for-runs-mindata run-ids testpatt states status not-in) +;; (let ((run-id-list (if run-ids +;; run-ids +;; (rmt:get-all-run-ids)))) +;; (apply append (map (lambda (run-id) +;; (rmt:send-receive 'get-tests-for-run-mindata run-id (list run-ids testpatt states status not-in))) +;; run-id-list)))) (define (rmt:delete-test-records run-id test-id) (rmt:send-receive 'delete-test-records run-id (list run-id test-id))) ;; This is not needed as test steps are deleted on test delete call