summaryrefslogtreecommitdiff
path: root/tests/store-database.scm
diff options
context:
space:
mode:
Diffstat (limited to 'tests/store-database.scm')
-rw-r--r--tests/store-database.scm20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/store-database.scm b/tests/store-database.scm
index 7947368595..9562055fd1 100644
--- a/tests/store-database.scm
+++ b/tests/store-database.scm
@@ -74,4 +74,24 @@
(list (path-id db "/gnu/foo")
(path-id db "/gnu/bar")))))))
+(test-assert "register-path with unregistered references"
+ ;; Make sure we get a "NOT NULL constraint failed: Refs.reference" error
+ ;; when we try to add references that are not registered yet. Better safe
+ ;; than sorry.
+ (call-with-temporary-output-file
+ (lambda (db-file port)
+ (delete-file db-file)
+ (catch 'sqlite-error
+ (lambda ()
+ (sqlite-register #:db-file db-file
+ #:path "/gnu/foo"
+ #:references '("/gnu/bar")
+ #:deriver "/gnu/foo.drv"
+ #:hash (string-append "sha256:" (make-string 64 #\e))
+ #:nar-size 1234)
+ #f)
+ (lambda args
+ (pk 'welcome-exception! args)
+ #t)))))
+
(test-end "store-database")