mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-25 22:08:16 -05:00
tests: Adjust services tests to new 'shepherd-service-upgrade'.
This is a followup to 4245ddcbc9
.
* tests/services.scm ("shepherd-service-upgrade: one unchanged, one upgraded, one new")
("shepherd-service-upgrade: service depended on is not unloaded")
("shepherd-service-upgrade: obsolete services that depend on each
other"): Adjust to changes in 'shepherd-service-upgrade'.
This commit is contained in:
parent
d4e9317b9d
commit
7fed9353ec
1 changed files with 16 additions and 14 deletions
|
@ -207,13 +207,14 @@ (define live-service
|
||||||
list))
|
list))
|
||||||
|
|
||||||
(test-equal "shepherd-service-upgrade: one unchanged, one upgraded, one new"
|
(test-equal "shepherd-service-upgrade: one unchanged, one upgraded, one new"
|
||||||
'(((bar)) ;unload
|
'(() ;unload
|
||||||
((bar) (baz))) ;load
|
((foo))) ;restart
|
||||||
(call-with-values
|
(call-with-values
|
||||||
(lambda ()
|
(lambda ()
|
||||||
;; Here 'foo' is not upgraded because it is still running, whereas
|
;; Here 'foo' is replaced and must be explicitly restarted later
|
||||||
;; 'bar' is upgraded because it is not currently running. 'baz' is
|
;; because it is still running, whereas 'bar' is upgraded right away
|
||||||
;; loaded because it's a new service.
|
;; because it is not currently running. 'baz' is loaded because it's
|
||||||
|
;; a new service.
|
||||||
(shepherd-service-upgrade
|
(shepherd-service-upgrade
|
||||||
(list (live-service '(foo) '() #t)
|
(list (live-service '(foo) '() #t)
|
||||||
(live-service '(bar) '() #f)
|
(live-service '(bar) '() #f)
|
||||||
|
@ -224,30 +225,31 @@ (define live-service
|
||||||
(start #t))
|
(start #t))
|
||||||
(shepherd-service (provision '(baz))
|
(shepherd-service (provision '(baz))
|
||||||
(start #t)))))
|
(start #t)))))
|
||||||
(lambda (unload load)
|
(lambda (unload restart)
|
||||||
(list (map live-service-provision unload)
|
(list (map live-service-provision unload)
|
||||||
(map shepherd-service-provision load)))))
|
(map shepherd-service-provision restart)))))
|
||||||
|
|
||||||
(test-equal "shepherd-service-upgrade: service depended on is not unloaded"
|
(test-equal "shepherd-service-upgrade: service depended on is not unloaded"
|
||||||
'(((baz)) ;unload
|
'(((baz)) ;unload
|
||||||
()) ;load
|
((foo))) ;restart
|
||||||
(call-with-values
|
(call-with-values
|
||||||
(lambda ()
|
(lambda ()
|
||||||
;; Service 'bar' is not among the target services; yet, it must not be
|
;; Service 'bar' is not among the target services; yet, it must not be
|
||||||
;; unloaded because 'foo' depends on it.
|
;; unloaded because 'foo' depends on it. 'foo' gets replaced but it
|
||||||
|
;; must be restarted manually.
|
||||||
(shepherd-service-upgrade
|
(shepherd-service-upgrade
|
||||||
(list (live-service '(foo) '(bar) #t)
|
(list (live-service '(foo) '(bar) #t)
|
||||||
(live-service '(bar) '() #t) ;still used!
|
(live-service '(bar) '() #t) ;still used!
|
||||||
(live-service '(baz) '() #t))
|
(live-service '(baz) '() #t))
|
||||||
(list (shepherd-service (provision '(foo))
|
(list (shepherd-service (provision '(foo))
|
||||||
(start #t)))))
|
(start #t)))))
|
||||||
(lambda (unload load)
|
(lambda (unload restart)
|
||||||
(list (map live-service-provision unload)
|
(list (map live-service-provision unload)
|
||||||
(map shepherd-service-provision load)))))
|
(map shepherd-service-provision restart)))))
|
||||||
|
|
||||||
(test-equal "shepherd-service-upgrade: obsolete services that depend on each other"
|
(test-equal "shepherd-service-upgrade: obsolete services that depend on each other"
|
||||||
'(((foo) (bar) (baz)) ;unload
|
'(((foo) (bar) (baz)) ;unload
|
||||||
((qux))) ;load
|
()) ;restart
|
||||||
(call-with-values
|
(call-with-values
|
||||||
(lambda ()
|
(lambda ()
|
||||||
;; 'foo', 'bar', and 'baz' depend on each other, but all of them are
|
;; 'foo', 'bar', and 'baz' depend on each other, but all of them are
|
||||||
|
@ -258,9 +260,9 @@ (define live-service
|
||||||
(live-service '(baz) '() #t)) ;obsolete
|
(live-service '(baz) '() #t)) ;obsolete
|
||||||
(list (shepherd-service (provision '(qux))
|
(list (shepherd-service (provision '(qux))
|
||||||
(start #t)))))
|
(start #t)))))
|
||||||
(lambda (unload load)
|
(lambda (unload restart)
|
||||||
(list (map live-service-provision unload)
|
(list (map live-service-provision unload)
|
||||||
(map shepherd-service-provision load)))))
|
(map shepherd-service-provision restart)))))
|
||||||
|
|
||||||
(test-eq "lookup-service-types"
|
(test-eq "lookup-service-types"
|
||||||
system-service-type
|
system-service-type
|
||||||
|
|
Loading…
Reference in a new issue