diff options
author | Mathieu Lirzin <mthl@gnu.org> | 2016-06-26 15:13:31 +0200 |
---|---|---|
committer | Mathieu Lirzin <mthl@gnu.org> | 2016-06-26 16:59:26 +0200 |
commit | b24541e6045830835bb347ea0fb7ee72d574d1fa (patch) | |
tree | 44bd87e9f288ab220b0410d6b7e022016a76c45e /tests | |
parent | 992b57dade927832a6c143cceac07ce30f8341ce (diff) | |
download | cuirass-b24541e6045830835bb347ea0fb7ee72d574d1fa.tar cuirass-b24541e6045830835bb347ea0fb7ee72d574d1fa.tar.gz |
Add (cuirass database) module.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/database.scm | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/database.scm b/tests/database.scm new file mode 100644 index 0000000..bdf0050 --- /dev/null +++ b/tests/database.scm @@ -0,0 +1,51 @@ +;;;; database.scm - tests for (cuirass database) module +;;; +;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org> +;;; +;;; This file is part of Cuirass. +;;; +;;; Cuirass is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; Cuirass is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with Cuirass. If not, see <http://www.gnu.org/licenses/>. + +(use-modules (cuirass database) + (cuirass job) + (srfi srfi-64)) + +(define* (make-dummy-job #:optional (name "foo")) + (make-job #:name name + #:derivation (string-append name ".drv") + #:metadata '())) + +(define tmp-database + (let ((dir (dirname (current-filename)))) + (string-append dir "/tmp.db"))) + +(define %db (make-parameter #t)) +(define %id (make-parameter #t)) + +(dynamic-wind + (const #t) + (λ () + (test-assert "db-init" + (%db (db-init tmp-database))) + + (test-assert "db-add-evaluation" + (%id (db-add-evaluation (%db) (make-dummy-job)))) + + (test-assert "db-get-evaluation" + (db-get-evaluation (%db) (%id))) + + (test-assert "db-close" + (db-close (%db)))) + (λ () + (delete-file tmp-database))) |