services: Test 'shepherd-service-upgrade' with transient services.

This is a followup to eeb8ac43c8.

* tests/services.scm ("shepherd-service-upgrade: transient service"):
New test.
This commit is contained in:
Ludovic Courtès 2022-04-10 01:24:30 +02:00
parent e25eca35ff
commit ec6a585ee2
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -260,6 +260,23 @@ (define-module (test-services)
(list (map live-service-provision unload)
(map shepherd-service-provision restart)))))
(test-equal "shepherd-service-upgrade: transient service"
;; Transient service must not be unloaded:
;; <https://issues.guix.gnu.org/54812>.
'(((foo)) ;unload
((qux))) ;restart
(call-with-values
(lambda ()
(shepherd-service-upgrade
(list (live-service '(sshd-42) '() #t 42) ;transient
(live-service '(foo) '() #f #t) ;obsolete
(live-service '(qux) '() #f #t)) ;running
(list (shepherd-service (provision '(qux))
(start #t)))))
(lambda (unload restart)
(list (map live-service-provision unload)
(map shepherd-service-provision restart)))))
(test-eq "lookup-service-types"
system-service-type
(and (null? (lookup-service-types 'does-not-exist-at-all))