(use test (prefix sqlite3 sqlite3:) posix)
(if (file-exists? "ulex.scm")
(load "ulex.scm")
(load "../ulex.scm"))
(use trace)
(trace-call-sites #t)
(import ulex ) ;; (import (prefix ulex ulex:))
(test-begin "faux-mtdb")
;; pre-clean
(for-each (lambda (dir)
(if (directory-exists? dir)
(system (conc "/bin/rm -rf ./"dir)))
(system (conc "/bin/mkdir -p ./"dir))
)
'("faux-mtdb" "faux-mtdb-pkts"))
(let* ((area (make-area dbdir: "faux-mtdb" pktsdir: "faux-mtdb-pkts"))
(specfile "tests/mt-spec.sexpr")
(dbname "faux-mt.db"))
(launch area)
(initialize-area-calls-from-specfile area specfile)
(let* ((target-name "a/b/c/d")
(insert-result (call area dbname 'new-target (list target-name)))
(test-target-id (caar (call area dbname 'target-name->target-id (list target-name))))
(test-target-name (caar (call area dbname 'target-id->target-name (list 1)))))
(test #f #t insert-result)
(test #f 1 test-target-id )
(test #f target-name test-target-name )
)
(test #f #t (shutdown area)))
;; thought experiment - read cursors
;; (let* ((cursor (call area dbname 'get-target-names '())))
;; (let loop ((row (cursor)))
;; (cond
;; ((not row) #t)
;; (else
;; (print "ROW IS "row)
;; (loop (cursor))))))
(test-end "faux-mtdb")