summaryrefslogtreecommitdiff
path: root/gnu/tests
diff options
context:
space:
mode:
authorJulien Lepiller <julien@lepiller.eu>2020-07-13 04:20:50 +0200
committerJulien Lepiller <julien@lepiller.eu>2020-07-13 04:23:43 +0200
commit5cd9cd644ca493b230cb229e7c46641e94a4e2fa (patch)
tree7974daa458bf0289f3398da4646083cd5ee1144f /gnu/tests
parentbea2134fe16ef4ee9a2274f5cfbd8482c6a41bf3 (diff)
downloadguix-patches-5cd9cd644ca493b230cb229e7c46641e94a4e2fa.tar
guix-patches-5cd9cd644ca493b230cb229e7c46641e94a4e2fa.tar.gz
gnu: tests: Fix unbound variable.
Record type descriptors were made private in a143e92446859bd1edc7a7aea85b2089c82c77da, but a usage of them was forgotten in the tests files. * gnu/tests/web.scm (patchwork-initial-database-setup-service): Use accessors to access field values instead of unexported type descriptor.
Diffstat (limited to 'gnu/tests')
-rw-r--r--gnu/tests/web.scm73
1 files changed, 37 insertions, 36 deletions
diff --git a/gnu/tests/web.scm b/gnu/tests/web.scm
index 1c984dd6f4..7513eab2e4 100644
--- a/gnu/tests/web.scm
+++ b/gnu/tests/web.scm
@@ -521,42 +521,43 @@ HTTP-PORT."
;;; Patchwork
;;;
-(define patchwork-initial-database-setup-service
- (match-lambda
- (($ <patchwork-database-configuration>
- engine name user password host port)
-
- (define start-gexp
- #~(lambda ()
- (let ((pid (primitive-fork))
- (postgres (getpwnam "postgres")))
- (if (eq? pid 0)
- (dynamic-wind
- (const #t)
- (lambda ()
- (setgid (passwd:gid postgres))
- (setuid (passwd:uid postgres))
- (primitive-exit
- (if (and
- (zero?
- (system* #$(file-append postgresql "/bin/createuser")
- #$user))
- (zero?
- (system* #$(file-append postgresql "/bin/createdb")
- "-O" #$user #$name)))
- 0
- 1)))
- (lambda ()
- (primitive-exit 1)))
- (zero? (cdr (waitpid pid)))))))
-
- (shepherd-service
- (requirement '(postgres))
- (provision '(patchwork-postgresql-user-and-database))
- (start start-gexp)
- (stop #~(const #f))
- (respawn? #f)
- (documentation "Setup patchwork database.")))))
+(define (patchwork-initial-database-setup-service configuration)
+ (define start-gexp
+ #~(lambda ()
+ (let ((pid (primitive-fork))
+ (postgres (getpwnam "postgres")))
+ (if (eq? pid 0)
+ (dynamic-wind
+ (const #t)
+ (lambda ()
+ (setgid (passwd:gid postgres))
+ (setuid (passwd:uid postgres))
+ (primitive-exit
+ (if (and
+ (zero?
+ (system* #$(file-append postgresql "/bin/createuser")
+ #$(patchwork-database-configuration-user
+ configuration)))
+ (zero?
+ (system* #$(file-append postgresql "/bin/createdb")
+ "-O"
+ #$(patchwork-database-configuration-user
+ configuration)
+ #$(patchwork-database-configuration-name
+ configuration))))
+ 0
+ 1)))
+ (lambda ()
+ (primitive-exit 1)))
+ (zero? (cdr (waitpid pid)))))))
+
+ (shepherd-service
+ (requirement '(postgres))
+ (provision '(patchwork-postgresql-user-and-database))
+ (start start-gexp)
+ (stop #~(const #f))
+ (respawn? #f)
+ (documentation "Setup patchwork database.")))
(define (patchwork-os patchwork)
(simple-operating-system