blob: 852a186272e0be6afc89a8a8dcd4691becb86c6d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
(use-modules
((im papo packages) #:prefix pkgs:)
((org euandre packages) #:prefix packages:)
(gnu)
(gnu tests)
(gnu system vm)
(guix gexp)
(guix profiles))
(use-package-modules
tls)
(use-service-modules
certbot
mail
mcron
networking)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Helpers functions ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(define (test-for name description test-name os test-fn)
(system-test
(name name)
(description description)
(value
(gexp->derivation
(string-append test-name ".test")
(with-imported-modules '((gnu build marionette))
#~(begin
(use-modules
((gnu build marionette) #:prefix mrntt:)
((srfi srfi-64) #:prefix t:))
(let ((manette (mrntt:make-marionette
(list
#$(virtual-machine
(operating-system
(marionette-operating-system
os
#:imported-modules
'((gnu services herd)))))))))
(t:test-runner-current (mrntt:system-test-runner #$output))
(t:test-begin #$name)
(#$test-fn manette)
(t:test-end))))))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Service tests ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(define tests
(list))
(define (system-test->manifest-entry test)
(manifest-entry
(name
(pkgs:str "test."
(system-test-name test)))
(version "0")
(item test)))
(manifest
(map system-test->manifest-entry
tests))
|