blob: c4ffe856783652580d2734c3d81d3782bf691c22 (
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
72
|
(use-modules
((org euandre packages) #:prefix pkg:)
(gnu)
(gnu tests)
(gnu system vm)
(guix profiles))
(use-service-modules
networking)
(define test-git-os
(simple-operating-system
(service dhcpcd-service-type)
(service pkg:git-service-type
(pkg:git-configuration
(run-server? #t)))
(simple-service 'mkdir-srv-dir activation-service-type
#~(mkdir-p "/srv/git"))))
(define (test-git-fn)
(let* ((os (marionette-operating-system
test-git-os
#:imported-modules
'((gnu services herd))))
(vm (virtual-machine
(operating-system os)
(port-forwardings
'()))))
(define test
(with-imported-modules '((gnu build marionette))
#~(begin
(use-modules
((srfi srfi-64) #:prefix t:)
((gnu build marionette) #:prefix mrntt:))
(define manette
(mrntt:make-marionette (list #$vm)))
(t:test-runner-current (mrntt:system-test-runner #$output))
(t:test-begin "git-daemon-server")
(t:test-assert "Git daemon service running"
(mrntt:marionette-eval
'(begin
(use-modules
((gnu services herd) #:prefix herd:))
(herd:start-service 'git))
manette))
(t:test-assert "Git daemon TCP port ready"
(mrntt:wait-for-tcp-port 9418 manette))
(t:test-end))))
(gexp->derivation "git-service-type-test" test)))
(define test-git
(system-test
(name "git")
(description "Test custom Git service")
(value (test-git-fn))))
(define tests
(list
test-git))
(define (system-test->manifest-entry test)
(manifest-entry
(name
(pkg:str "test."
(system-test-name test)))
(version "0")
(item test)))
(manifest
(map system-test->manifest-entry
tests))
|