[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
branch master updated: Fix tests.
From: |
Mathieu Othacehe |
Subject: |
branch master updated: Fix tests. |
Date: |
Wed, 14 Oct 2020 10:34:25 -0400 |
This is an automated email from the git hooks/post-receive script.
mothacehe pushed a commit to branch master
in repository guix-cuirass.
The following commit(s) were added to refs/heads/master by this push:
new 38ee2c5 Fix tests.
38ee2c5 is described below
commit 38ee2c5b5b21404f383fc5066af8141785676e56
Author: Mathieu Othacehe <othacehe@gnu.org>
AuthorDate: Wed Oct 14 16:28:59 2020 +0200
Fix tests.
This is a follow-up of b67f38a7b91c8605a3ae9eba1e2bd3da4b579622.
* src/cuirass/database.scm (catch-sqlite-error): New macro.
(SQLITE_CONSTRAINT_PRIMARYKEY, SQLITE_CONSTRAINT_UNIQUE,
%db-writer-channel):
New variables.
* tests/database.scm (with-temporary-database): Set "%db-writer-channel".
(db-add-build-with-fixed-output): Catch sqlite error.
(db-get-pending-derivations): Do not add builds with duplicated outputs.
---
src/cuirass/database.scm | 5 +++++
tests/database.scm | 25 ++++++-------------------
2 files changed, 11 insertions(+), 19 deletions(-)
diff --git a/src/cuirass/database.scm b/src/cuirass/database.scm
index 5706a80..c566b50 100644
--- a/src/cuirass/database.scm
+++ b/src/cuirass/database.scm
@@ -85,10 +85,15 @@
read-quoted-string
%sqlite-exec
sqlite-exec
+ catch-sqlite-error
+ ;; Constants.
+ SQLITE_CONSTRAINT_PRIMARYKEY
+ SQLITE_CONSTRAINT_UNIQUE
;; Parameters.
%package-database
%package-schema-file
%db-channel
+ %db-writer-channel
%record-events?
;; Macros.
with-db-worker-thread
diff --git a/tests/database.scm b/tests/database.scm
index 01d7e67..a5083ca 100644
--- a/tests/database.scm
+++ b/tests/database.scm
@@ -75,7 +75,8 @@
(parameterize ((%package-database file))
(db-init file)
(with-database
- body ...)))))
+ (parameterize ((%db-writer-channel (%db-channel)))
+ body ...))))))
(define %db
;; Global Slot for a database object.
@@ -124,18 +125,9 @@ timestamp, checkouttime, evaltime) VALUES (3, 0, 0, 0,
0);")
;; Should return #f when adding a build whose derivation is already
;; there, see <https://bugs.gnu.org/28094>.
- (db-add-build build)))
-
- (test-equal "db-add-build-with-fixed-output"
- #f
- (let ((build1 (make-dummy-build "/fixed1.drv"
- #:outputs '(("out" . "/fixed-output"))))
- (build2 (make-dummy-build "/fixed2.drv"
- #:outputs '(("out" . "/fixed-output")))))
- (db-add-build build1)
-
- ;; Should return #f because the outputs are the same.
- (db-add-build build2)))
+ (catch-sqlite-error
+ (db-add-build build)
+ (on SQLITE_CONSTRAINT_UNIQUE => #f))))
(test-equal "db-update-build-status!"
(list (build-status scheduled)
@@ -206,16 +198,11 @@ timestamp, checkouttime, evaltime) VALUES (3, 0, 0, 0,
0);")
(test-equal "db-get-pending-derivations"
'("/bar.drv" "/foo.drv")
(with-temporary-database
- ;; Populate the 'Builds', 'Evaluations', and
- ;; 'Specifications' tables. Here, two builds map to the same derivation
- ;; but the result of 'db-get-pending-derivations' must not contain any
- ;; duplicate.
+ ;; Populate the 'Builds', 'Evaluations', and 'Specifications' tables.
(db-add-build (make-dummy-build "/foo.drv" 1
#:outputs `(("out" . "/foo"))))
(db-add-build (make-dummy-build "/bar.drv" 2
#:outputs `(("out" . "/bar"))))
- (db-add-build (make-dummy-build "/foo.drv" 3
- #:outputs `(("out" . "/foo"))))
(db-add-evaluation "guix" (make-dummy-checkouts "fakesha1" "fakesha2"))
(db-add-evaluation "guix" (make-dummy-checkouts "fakesha1" "fakesha3"))
(db-add-evaluation "guix" (make-dummy-checkouts "fakssha2" "fakesha3"))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- branch master updated: Fix tests.,
Mathieu Othacehe <=