;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016, 2017, 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (test-services) #:use-module (gnu services) #:use-module (gnu services herd) #:use-module (gnu services shepherd) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) #:use-module (srfi srfi
aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeo Famulari <leo@famulari.name>2023-02-07 18:45:46 +0100
committerLeo Famulari <leo@famulari.name>2023-02-08 23:43:41 +0100
commit7432b922efa0e9b633a05bd52644ee00ebd58d9f (patch)
treee2401badb082efa134f13cb462f0a2fbc02f1786 /nix/libutil/affinity.cc
parent07e74b63d4969de0b51c48edb586f0d7d8c08db7 (diff)
downloadguix-7432b922efa0e9b633a05bd52644ee00ebd58d9f.tar.gz
guix-7432b922efa0e9b633a05bd52644ee00ebd58d9f.zip
gnu: linux-libre: Update to 6.1.10.
* gnu/packages/linux.scm (linux-libre-6.1-version): Update to 6.1.10. (linux-libre-6.1-pristine-source): Update hash.
Diffstat (limited to 'nix/libutil/affinity.cc')
0 files changed, 0 insertions, 0 deletions
s)))) (instantiate-missing-services (list s)) #f))) (test-assert "shepherd-service-lookup-procedure" (let* ((s1 (shepherd-service (provision '(s1 s1b)) (start #f))) (s2 (shepherd-service (provision '(s2 s2b)) (start #f))) (s3 (shepherd-service (provision '(s3 s3b s3c)) (start #f))) (lookup (shepherd-service-lookup-procedure (list s1 s2 s3)))) (and (eq? (lookup 's1) (lookup 's1b) s1) (eq? (lookup 's2) (lookup 's2b) s2) (eq? (lookup 's3) (lookup 's3b) s3)))) (test-assert "shepherd-service-back-edges" (let* ((s1 (shepherd-service (provision '(s1)) (start #f))) (s2 (shepherd-service (provision '(s2)) (requirement '(s1)) (start #f))) (s3 (shepherd-service (provision '(s3)) (requirement '(s1 s2)) (start #f))) (e (shepherd-service-back-edges (list s1 s2 s3)))) (and (lset= eq? (e s1) (list s2 s3)) (lset= eq? (e s2) (list s3)) (null? (e s3))))) (test-equal "shepherd-service-upgrade: nothing to do" '(() ()) (call-with-values (lambda () (shepherd-service-upgrade '() '())) list)) (test-equal "shepherd-service-upgrade: one unchanged, one upgraded, one new" '(((bar)) ;unload ((bar) (baz))) ;load (call-with-values (lambda () ;; Here 'foo' is not upgraded because it is still running, whereas ;; 'bar' is upgraded because it is not currently running. 'baz' is ;; loaded because it's a new service. (shepherd-service-upgrade (list (live-service '(foo) '() #t) (live-service '(bar) '() #f) (live-service '(root) '() #t)) ;essential! (list (shepherd-service (provision '(foo)) (start #t)) (shepherd-service (provision '(bar)) (start #t)) (shepherd-service (provision '(baz)) (start #t))))) (lambda (unload load) (list (map live-service-provision unload) (map shepherd-service-provision load))))) (test-equal "shepherd-service-upgrade: service depended on is not unloaded" '(((baz)) ;unload ()) ;load (call-with-values (lambda () ;; Service 'bar' is not among the target services; yet, it must not be ;; unloaded because 'foo' depends on it. (shepherd-service-upgrade (list (live-service '(foo) '(bar) #t) (live-service '(bar) '() #t) ;still used! (live-service '(baz) '() #t)) (list (shepherd-service (provision '(foo)) (start #t))))) (lambda (unload load) (list (map live-service-provision unload) (map shepherd-service-provision load))))) (test-equal "shepherd-service-upgrade: obsolete services that depend on each other" '(((foo) (bar) (baz)) ;unload ((qux))) ;load (call-with-values (lambda () ;; 'foo', 'bar', and 'baz' depend on each other, but all of them are ;; obsolete, and thus should be unloaded. (shepherd-service-upgrade (list (live-service '(foo) '(bar) #t) ;obsolete (live-service '(bar) '(baz) #t) ;obsolete (live-service '(baz) '() #t)) ;obsolete (list (shepherd-service (provision '(qux)) (start #t))))) (lambda (unload load) (list (map live-service-provision unload) (map shepherd-service-provision load))))) (test-eq "lookup-service-types" system-service-type (and (null? (lookup-service-types 'does-not-exist-at-all)) (match (lookup-service-types 'system) ((one) one) (x x)))) (test-end)