aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--guix-data-service/database.scm9
1 files changed, 9 insertions, 0 deletions
diff --git a/guix-data-service/database.scm b/guix-data-service/database.scm
index 257d48b..448f16f 100644
--- a/guix-data-service/database.scm
+++ b/guix-data-service/database.scm
@@ -17,10 +17,13 @@
(define-module (guix-data-service database)
#:use-module (system foreign)
+ #:use-module (ice-9 match)
#:use-module (squee)
#:export (with-postgresql-connection
with-postgresql-transaction
+ check-test-database!
+
with-advisory-session-lock
obtain-advisory-transaction-lock
@@ -63,6 +66,12 @@
(lambda (key . args)
(exec-query conn "ROLLBACK;"))))
+(define (check-test-database! conn)
+ (match (exec-query conn "SELECT current_database()")
+ (((name))
+ (unless (string=? name "guix_data_service_test")
+ (error "tests being run against non test database")))))
+
(define (with-advisory-session-lock conn lock f)
(let ((lock-number (number->string (symbol-hash lock))))
(exec-query conn