Index: api.scm ================================================================== --- api.scm +++ api.scm @@ -49,10 +49,14 @@ ((get-tests-for-run) (map vector->list (apply db:get-tests-for-run db params))) ((get-test-id) (apply db:get-test-id-not-cached db params)) ((get-tests-for-runs-mindata) (map vector->list (apply db:get-tests-for-runs-mindata db params))) ((get-run-name-from-id) (apply db:get-run-name-from-id db params)) ((delete-run) (apply db:delete-run db params)) + ((get-runs) (let* ((res (apply db:get-runs db params)) + (hedr (vector-ref res 0)) + (data (vector-ref res 1))) + (list hedr (map vector->list data)))) ;; MISC ((login) (apply db:login db params)) ((general-call) (let ((stmtname (car params)) (realparams (cdr params))) Index: megatest.scm ================================================================== --- megatest.scm +++ megatest.scm @@ -468,11 +468,11 @@ (print x)) targets) (set! *didsomething* #t))) (define (full-runconfigs-read) - (let* ((keys (cdb:remote-run db:get-keys #f)) + (let* ((keys (rmt:get-keys)) (target (if (args:get-arg "-reqtarg") (args:get-arg "-reqtarg") (if (args:get-arg "-target") (args:get-arg "-target") #f))) @@ -573,22 +573,24 @@ ;;====================================================================== ;; Query runs ;;====================================================================== +;; NOTE: list-runs and list-db-targets operate on local db!!! +;; (if (or (args:get-arg "-list-runs") (args:get-arg "-list-db-targets")) (if (setup-for-run) - (let* ((db #f) + (let* ((db (open-db)) (runpatt (args:get-arg "-list-runs")) (testpatt (if (args:get-arg "-testpatt") (args:get-arg "-testpatt") "%")) - (runsdat (cdb:remote-run db:get-runs #f runpatt #f #f '())) + (runsdat (db:get-runs db runpatt #f #f '())) (runs (db:get-rows runsdat)) (header (db:get-header runsdat)) - (keys (cdb:remote-run db:get-keys #f)) + (keys (db:get-keys db)) (db-targets (args:get-arg "-list-db-targets")) (seen (make-hash-table))) ;; Each run (for-each (lambda (run) @@ -601,11 +603,12 @@ (hash-table-set! seen targetstr #t) ;; (print "[" targetstr "]")))) (print targetstr)))) (if (not db-targets) (let* ((run-id (db:get-value-by-header run header "id")) - (tests (mt:get-tests-for-run run-id testpatt '() '()))) + (tests (db:get-tests-for-run db run-id testpatt '() '() #f #f #f 'testname 'asc #f))) + ;; (db:get-tests-for-run db run-id testpatt '() '()))) (print "Run: " targetstr "/" (db:get-value-by-header run header "runname") " status: " (db:get-value-by-header run header "state") " run-id: " run-id ", number tests: " (length tests)) (for-each (lambda (test) @@ -622,18 +625,18 @@ (db:test-get-host test)) (if (not (or (equal? (db:test-get-status test) "PASS") (equal? (db:test-get-status test) "WARN") (equal? (db:test-get-state test) "NOT_STARTED"))) (begin - (print " cpuload: " (db:test-get-cpuload test) + (print " cpuload: " (db:test-get-cpuload test) "\n diskfree: " (db:test-get-diskfree test) "\n uname: " (db:test-get-uname test) "\n rundir: " (db:test-get-rundir test) ) ;; Each test ;; DO NOT remote run - (let ((steps (db:get-steps-for-test #f (db:test-get-id test)))) + (let ((steps (db:get-steps-for-test db (db:test-get-id test)))) (for-each (lambda (step) (format #t " Step: ~20a State: ~10a Status: ~10a Time ~22a\n" (db:step-get-stepname step) Index: rmt.scm ================================================================== --- rmt.scm +++ rmt.scm @@ -178,10 +178,16 @@ (define (rmt:delete-run run-id) (rmt:send-receive 'delete-run (list run-id))) (define (rmt:delete-old-deleted-test-records) (rmt:send-receive 'delete-old-deleted-test-records '())) + +(define (rmt:get-runs runpatt count offset keypatts) + (let* ((res (rmt:send-receive 'get-runs (list runpatt count offset keypatts))) + (hedr (car res)) + (data (cadr res))) + (vector hedr (map list->vector data)))) ;;====================================================================== ;; S T E P S ;;====================================================================== Index: tests/unittests/server.scm ================================================================== --- tests/unittests/server.scm +++ tests/unittests/server.scm @@ -61,10 +61,18 @@ (test "get keys" #t (list? (rmt:get-keys))) (test "set comment" #t (begin (rmt:general-call 'set-test-comment "this is a comment" 1) #t)) (test "get comment" "this is a comment" (let ((trec (rmt:get-test-info-by-id 1))) (db:test-get-comment trec))) +;; MORE RUNS +(test "get runs" #t (let* ((runs (rmt:get-runs "%" #f #f '())) + (header (vector-ref runs 0)) + (data (vector-ref runs 1))) + (and (list? header) + (list? data) + (vector? (car data))))) + ;; (test "sync back" #t (begin (rmt:sync-back) #t)) ;;====================================================================== ;; D B ;;======================================================================