;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016, 2018, 2022 Ludovic Courtès ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; ;;; 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-system) #:use-module (gnu) #:use-module ((gnu services) #:select (service-value)) #:use-module (guix store) #:use-module (guix monads) #:use-mod
aboutsummaryrefslogtreecommitdiff
blob: 3508499cd317b814ecc8e73ba226a7a2216ed3da (about) (plain)
blob size (805KB) exceeds display size limit (100KB).
ystem, store" (let* ((gnu (file-system (device "foobar") (mount-point (%store-prefix)) (type "ext5"))) (os (operating-system (inherit %os) (file-systems (cons* gnu %root-fs %base-file-systems))))) (eq? gnu (operating-system-store-file-system os)))) (test-equal "operating-system-user-mapped-devices" '() (operating-system-user-mapped-devices %os-with-mapped-device)) (test-equal "operating-system-boot-mapped-devices" (list %luks-device) (operating-system-boot-mapped-devices %os-with-mapped-device)) (test-equal "operating-system-boot-mapped-devices, implicit dependency" (list %luks-device) ;; Here we expect the implicit dependency between "/" and ;; "/dev/mapper/my-luks-device" to be found, in spite of the lack of a ;; 'dependencies' field in the root file system. (operating-system-boot-mapped-devices (operating-system (inherit %os-with-mapped-device) (file-systems (cons (file-system (device "/dev/mapper/my-luks-device") (mount-point "/") (type "ext4")) %base-file-systems))))) (test-equal "non-boot-file-system-service" '() ;; Make sure that mapped devices with at least one needed-for-boot user are ;; handled exclusively from the initrd. See . (append-map file-system-dependencies (service-value ((@@ (gnu system) non-boot-file-system-service) (operating-system (inherit %os-with-mapped-device) (file-systems (list (file-system (mount-point "/foo/bar") (device "qux:baz") (type "none") (dependencies (list %luks-device))) (file-system (device (file-system-label "my-root")) (mount-point "/") (type "ext4") (dependencies (list %luks-device)))))))))) (test-assert "lower-object, %current-system sensitivity" ;; Make sure that 'lower-object' returns the same derivation, no matter what ;; '%current-system' is. See . (let ((drv1 (with-store store (parameterize ((%current-system "x86_64-linux")) (run-with-store store (lower-object %os "aarch64-linux"))))) (drv2 (with-store store (parameterize ((%current-system "aarch64-linux")) (run-with-store store (lower-object %os "aarch64-linux")))))) (eq? drv1 drv2))) (test-end)