diff options
| author | Christopher Baines <mail@cbaines.net> | 2018-02-09 08:17:58 +0000 |
|---|---|---|
| committer | Christopher Baines <mail@cbaines.net> | 2018-03-10 16:20:55 +0000 |
| commit | 69f7cf2bf4ca3ab792438a9e7fb46f78ef0f227a (patch) | |
| tree | 5821d14ea9722eeef013d5543d5992eb568c14a3 /gnu/tests/databases.scm | |
| parent | 936e7a5245d5b50be8b968b39760220066ae24f5 (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.scm | 55 |
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 | ||
