Index: tests/unittests/all-api.scm ================================================================== --- tests/unittests/all-api.scm +++ tests/unittests/all-api.scm @@ -35,38 +35,55 @@ (define my-dbstruct (db:setup #t)) (define toppath (current-directory)) (define keypatts '(("SYSTEM" "ubuntu")("RELEASE" "v1.234")) ) (define keys (db:get-keys my-dbstruct)) -(test #f #t (string?(server:start-and-wait *toppath*))) +;;(test #f #t (string?(server:start-and-wait *toppath*))) +(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector 'start-server (list *toppath* ))) 0)) + +(test #f '() (vector-ref (api:execute-requests my-dbstruct (vector 'get-key-val-pairs (list 0 ))) 1)) +(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector 'set-var (list "LAST_UPDATE" 1234567))) 0)) +(test #f 1234567 (vector-ref (api:execute-requests my-dbstruct (vector 'get-var (list "LAST_UPDATE" ))) 1)) +(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector 'del-var (list "LAST_UPDATE" ))) 0)) +(test #f '("SYSTEM" "RELEASE") (vector-ref (api:execute-requests my-dbstruct (vector 'get-keys (list ))) 1)) +(test #f '() (vector-ref (api:execute-requests my-dbstruct (vector 'get-key-vals (list 1 ))) 1)) +(test #f 0 (vector-ref (api:execute-requests my-dbstruct (vector "test-toplevel-num-items" (list 1 "foo"))) 1)) +(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector 'get-test-info-by-id (list 1 1))) 0)) +(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector 'get-steps-info-by-id (list 1))) 0)) +(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector 'get-data-info-by-id (list 1))) 0)) (test #f '(#t "successful login") (vector-ref (api:execute-requests my-dbstruct (vector 'login (list toppath megatest-version "Fred"))) 1)) (test #f '(-1 . 0) (vector-ref (api:execute-requests my-dbstruct (vector 'get-latest-host-load (list "localhost"))) 1)) + (test #f #t (vector-ref (api:execute-requests my-dbstruct (vector 'get-changed-record-ids (list 0))) 0)) +(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector 'get-run-record-ids (list "%" 1 keys "%/%"))) 0)) +(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector 'get-not-completed-cnt (list 1))) 0)) (test #f #t (vector-ref (api:execute-requests my-dbstruct (vector 'get-tests-tags (list ))) 0)) -(test #f '() (vector-ref (api:execute-requests my-dbstruct (vector 'get-key-val-pairs (list 0 ))) 1)) -(test #f '("SYSTEM" "RELEASE") (vector-ref (api:execute-requests my-dbstruct (vector 'get-keys (list ))) 1)) +;; no such query supported in api.scm, but it is is the list of read-only queries. +;;(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector 'get-tests-times (list ))) 0)) (test #f '("SYSTEM" "RELEASE") (vector-ref (api:execute-requests my-dbstruct (vector 'get-keys-write (list ))) 1)) -(test #f '() (vector-ref (api:execute-requests my-dbstruct (vector 'get-key-vals (list 1 ))) 1)) (test #f (vector '("SYSTEM" "RELEASE") '())(vector-ref (api:execute-requests my-dbstruct (vector 'get-targets (list 1 ))) 1)) (test #f "" (vector-ref (api:execute-requests my-dbstruct (vector 'get-target (list 1 ))) 1)) (test #f #t (vector-ref (api:execute-requests my-dbstruct (vector 'general-call (list 'register-test 1 1 "foo" ""))) 0)) (test #f 1 (vector-ref (api:execute-requests my-dbstruct (vector 'get-test-id (list 1 "foo" ""))) 1)) -(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector 'get-test-info-by-id (list 1 1))) 0)) (test #f "/tmp/badname" (vector-ref (api:execute-requests my-dbstruct (vector 'test-get-rundir-from-test-id (list 1 1))) 1)) (test #f #t (vector-ref (api:execute-requests my-dbstruct (vector 'set-tests-state-status (list 1 '("foo") "COMPLETED" "PASS" "NOT_STARTED" "PASS"))) 0)) (test #f #t (vector-ref (api:execute-requests my-dbstruct (vector 'test-set-state-status-by-id (list 1 1 "COMPLETED" "PASS" "Just testing!"))) 0)) (test #f #t (vector-ref (api:execute-requests my-dbstruct (vector 'get-tests-for-run (list 1 "%" '() '() #f #f #f #f #f #f 0 #f))) 0)) (test #f #t (vector-ref (api:execute-requests my-dbstruct (vector 'get-tests-for-run-mindata (list 1 "%" '("COMPLETED") '("PASS") #f ))) 0)) +;; api.scm calls db:get-tests-for-runs-mindata, which does not exist. +;;(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector 'get-tests-for-runs-mindata (list 1 "%" '("COMPLETED") '("PASS") #f ))) 0)) (test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "delete-test-records" (list 1 2 ))) 0)) (test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "test-set-state-status" (list 1 1 "COMPLETED" "FAIL" "Another message" ))) 0)) -(test #f 0 (vector-ref (api:execute-requests my-dbstruct (vector "test-toplevel-num-items" (list 1 "foo"))) 1)) +;; api.scm calls db:get-previous-test-run-record, which does not exist. +;;(test #f '() (vector-ref (api:execute-requests my-dbstruct (vector "get-previous-test-run-record" (list 1 ))) 1)) (test #f '() (vector-ref (api:execute-requests my-dbstruct (vector "get-matching-previous-test-run-records" (list 1 "foo" ""))) 1)) (test #f '("/tmp/badname" "logs/final.log") (vector-ref (api:execute-requests my-dbstruct (vector "test-get-logfile-info" (list 1 "foo"))) 1)) (test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "test-get-records-for-index-file" (list 1 "foo"))) 0)) (test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "get-testinfo-state-status" (list 1 1))) 0)) (test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "general-call" (list 'test-set-log 1 "/tmp/another/logfile/eh" 1))) 0)) +(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "test-set-archive-block-id" (list 1 1 123))) 0)) (test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "test-set-top-process-pid" (list 1 1 123))) 0)) (test #f 123 (vector-ref (api:execute-requests my-dbstruct (vector "test-get-top-process-pid" (list 1 1))) 1)) (test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "get-run-ids-matching-target" (list keys "%/%" #f "%" "%" "%" "%"))) 0)) (test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "test-get-paths-matching-keynames-target-new" (list 1 keys "%/%" #f "%" "%" "%" "%"))) 0)) (test #f '() (vector-ref (api:execute-requests my-dbstruct (vector "get-prereqs-not-met" (list 1 '() "foo" "" '(normal) '()))) 1)) @@ -73,23 +90,69 @@ (test #f 0 (vector-ref (api:execute-requests my-dbstruct (vector "get-count-tests-running-for-run-id" (list 1))) 1)) (test #f 0 (vector-ref (api:execute-requests my-dbstruct (vector "get-count-tests-running" (list 1))) 1)) (test #f 0 (vector-ref (api:execute-requests my-dbstruct (vector "get-count-tests-running-for-testname" (list 1 "foo"))) 1)) (test #f 0 (vector-ref (api:execute-requests my-dbstruct (vector "get-count-tests-running-in-jobgroup" (list 1 "nada"))) 1)) (test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "set-state-status-and-roll-up-items" (list 1 "foo" "" "COMPLETED" "FAIL" "Just yet another message"))) 0)) +(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "set-state-status-and-roll-up-run" (list 1 "COMPLETED" "FAIL"))) 0)) (test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "top-test-set-per-pf-counts" (list 1 "foo"))) 0)) (test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "get-raw-run-stats" (list 1))) 0)) (test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "get-run-info" (list 1))) 0)) (test #f 0 (vector-ref (api:execute-requests my-dbstruct (vector "get-num-runs" (list "%"))) 1)) +(test #f 0 (vector-ref (api:execute-requests my-dbstruct (vector "get-runs-cnt-by-patt" (list "%" "%/%" keys))) 1)) (test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "register-run" (list '(("SYSTEM" "ubuntu")("RELEASE" "v1.234")) "bar" "NEW" "JUSTFINE" "bobafett" "quick" ))) 0)) (test #f #(#t "bar") (api:execute-requests my-dbstruct (vector "get-run-name-from-id" '(1)))) (test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "delete-run" (list 2))) 0)) ;; delete a non-existant run (test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "update-run-stats" (list 1 '()))) 0)) +(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "get-main-run-stats" (list 1 ))) 0)) (test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "delete-old-deleted-test-records" '())) 0)) (test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "get-runs" (list "%" 10 0 keypatts))) 0)) +(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "simple-get-runs" (list "%" 10 0 keypatts))) 0)) (test #f #(#t (1))(api:execute-requests my-dbstruct (vector "get-all-run-ids" '()))) (test #f #(#t ()) (api:execute-requests my-dbstruct (vector "get-prev-run-ids" '(1)))) (test #f #(#t "JUSTFINE") (api:execute-requests my-dbstruct (vector "get-run-status" '(1)))) +(test #f #(#t "NEW") (api:execute-requests my-dbstruct (vector "get-run-state" '(1)))) +(test #f #(#t (("Totals" "UNKNOWN" 1) ("bar" "UNKNOWN" 1))) (api:execute-requests my-dbstruct (vector "get-run-stats" '()))) +(test #f #(#t ()) (api:execute-requests my-dbstruct (vector "get-run-times" '(1 1 )))) (test #f #t (vector-ref (api:execute-requests my-dbstruct (vector 'lock/unlock-run '(1 #t #f "mikey"))) 0)) (test #f #t (vector-ref (api:execute-requests my-dbstruct (vector 'set-run-status '(1 "NOTFINE" "A message"))) 0)) +(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector 'set-run-state-status '(1 "NOTFINE" "AMESS"))) 0)) (test #f #t (vector-ref (api:execute-requests my-dbstruct (vector 'update-run-event_time '(1))) 0)) (test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "get-runs-by-patt" (list keys "%" "%/%" #f #f #f #f "ASC"))) 0)) +(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "get-steps-data" (list 1 1))) 0)) +(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "get-steps-for-test" (list 1 1))) 0)) +(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "delete-steps-for-test!" (list 1 1))) 0)) +(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "teststep-set-status!" (list 1 1 "step1" "COMPLETED" "PASS" "force pass" "/tmp/logfile"))) 0)) +(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "test-data-rollup" (list 1 1 "COMPLETED"))) 0)) +(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "csv->test-data" (list 1 1 "some,data"))) 0)) +(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "read-test-data" (list 1 1 "%"))) 0)) +(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "read-test-data*" (list 1 1 "%" "%"))) 0)) +(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "tasks-add" (list "run" "Fred" "%" "foo" "%/%" #f))) 0)) +(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "tasks-set-state-given-param-key" (list "mykey" "COMPLETED"))) 0)) +(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "tasks-get-last" (list "%" "foo"))) 0)) +(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "find-task-queue-records" (list "%" "myrun" "%/%" "RUNNING" "run"))) 0)) +(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "testmeta-add-record" (list "foo"))) 0)) +(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "testmeta-update-field" (list "foo" "description" "junk"))) 0)) +(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "testmeta-get-record" (list "foo"))) 0)) +(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "have-incompletes?" (list 1 12000))) 0)) +(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "mark-incomplete" (list 1 12000))) 0)) +(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "no-sync-set" (list "field1" "value1"))) 0)) +(test #f "value1" (vector-ref (api:execute-requests my-dbstruct (vector "no-sync-get/default" (list "field1" #f))) 1)) +(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "no-sync-del!" (list "field1"))) 0)) +(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "no-sync-get-lock" (list "mykey"))) 0)) +(test #f 1 (vector-ref (api:execute-requests my-dbstruct (vector "archive-register-disk" (list "mydisk" "/usr/mydisk" 10000000))) 1)) +(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "archive-register-block-name" (list 1 "/usr/mydisk/myblock"))) 0)) +;;This api function calls db:archive-allocate-testsuite/area-to-block, which does not exist. +;;(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "archive-allocate-testsuite/area-to-block" (list 1 "/usr/mydisk/myblock"))) 0)) +(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "test-get-archive-block-info" (list 1 ))) 0)) + + +;;debug this: ERROR: parameter last-update for db:sync-tables must be a pair or a number, received: (0 . last_update) +;;(test #f #t (vector-ref (api:execute-requests my-dbstruct (vector "sync-inmem->db" (list 1))) 0)) + +;;debug this. Error: bad argument count - received 0 but expected 5: #