summaryrefslogtreecommitdiff
path: root/gnu/tests/databases.scm
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2018-02-09 08:17:58 +0000
committerChristopher Baines <mail@cbaines.net>2018-03-10 16:20:55 +0000
commit69f7cf2bf4ca3ab792438a9e7fb46f78ef0f227a (patch)
tree5821d14ea9722eeef013d5543d5992eb568c14a3 /gnu/tests/databases.scm
parent936e7a5245d5b50be8b968b39760220066ae24f5 (diff)
tests: databases: Add a system test for PostgreSQL.
* gnu/tests/databases.scm (%postgresql-os, %test-postgresql): New variables. (run-postgresql-test): New procedure.
Diffstat (limited to 'gnu/tests/databases.scm')
-rw-r--r--gnu/tests/databases.scm55
1 files changed, 55 insertions, 0 deletions
diff --git a/gnu/tests/databases.scm b/gnu/tests/databases.scm
index e7097690a02..5c8ca85c135 100644
--- a/gnu/tests/databases.scm
+++ b/gnu/tests/databases.scm
@@ -30,6 +30,7 @@
30 #:use-module (guix store) 30 #:use-module (guix store)
31 #:export (%test-memcached 31 #:export (%test-memcached
32 %test-mongodb 32 %test-mongodb
33 %test-postgresql
33 %test-mysql)) 34 %test-mysql))
34 35
35(define %memcached-os 36(define %memcached-os
@@ -209,6 +210,60 @@
209 210
210 211
211;;; 212;;;
213;;; The PostgreSQL service.
214;;;
215
216(define %postgresql-os
217 (simple-operating-system
218 (service postgresql-service-type)))
219
220(define (run-postgresql-test)
221 "Run tests in %POSTGRESQL-OS."
222 (define os
223 (marionette-operating-system
224 %postgresql-os
225 #:imported-modules '((gnu services herd)
226 (guix combinators))))
227
228 (define vm
229 (virtual-machine
230 (operating-system os)
231 (memory-size 512)))
232
233 (define test
234 (with-imported-modules '((gnu build marionette))
235 #~(begin
236 (use-modules (srfi srfi-64)
237 (gnu build marionette))
238
239 (define marionette
240 (make-marionette (list #$vm)))
241
242 (mkdir #$output)
243 (chdir #$output)
244
245 (test-begin "postgresql")
246
247 (test-assert "service running"
248 (marionette-eval
249 '(begin
250 (use-modules (gnu services herd))
251 (start-service 'postgres))
252 marionette))
253
254 (test-end)
255 (exit (= (test-runner-fail-count (test-runner-current)) 0)))))
256
257 (gexp->derivation "postgresql-test" test))
258
259(define %test-postgresql
260 (system-test
261 (name "postgresql")
262 (description "Start the PostgreSQL service.")
263 (value (run-postgresql-test))))
264
265
266;;;
212;;; The MySQL service. 267;;; The MySQL service.
213;;; 268;;;
214 269