me
/
guix
Archived
1
0
Fork 0

tests: install: Test an XFS root file system.

* gnu/tests/install.scm (%xfs-root-os, %xfs-root-os-source)
(%xfs-root-installation-script, %test-xfs-root-os): New variables.
master
Tobias Geerinckx-Rice 2021-09-23 13:25:39 +02:00
parent f34b808741
commit 0b298cb9f7
No known key found for this signature in database
GPG Key ID: 0DB0FF884F556D79
1 changed files with 74 additions and 0 deletions

View File

@ -72,6 +72,7 @@
%test-btrfs-raid-root-os
%test-jfs-root-os
%test-f2fs-root-os
%test-xfs-root-os
%test-lvm-separate-home-os
%test-gui-installed-os
@ -1394,6 +1395,79 @@ build (current-guix) and then store a couple of full system images.")
(command (qemu-command/writable-image image)))
(run-basic-test %f2fs-root-os command "f2fs-root-os")))))
;;;
;;; XFS root file system.
;;;
(define-os-with-source (%xfs-root-os %xfs-root-os-source)
;; The OS we want to install.
(use-modules (gnu) (gnu tests) (srfi srfi-1))
(operating-system
(host-name "liberigilo")
(timezone "Europe/Paris")
(locale "en_US.UTF-8")
(bootloader (bootloader-configuration
(bootloader grub-bootloader)
(targets (list "/dev/vdb"))))
(kernel-arguments '("console=ttyS0"))
(file-systems (cons (file-system
(device (file-system-label "my-root"))
(mount-point "/")
(type "xfs"))
%base-file-systems))
(users (cons (user-account
(name "charlie")
(group "users")
(supplementary-groups '("wheel" "audio" "video")))
%base-user-accounts))
(services (cons (service marionette-service-type
(marionette-configuration
(imported-modules '((gnu services herd)
(guix combinators)))))
%base-services))))
(define %xfs-root-installation-script
;; Shell script of a simple installation.
"\
. /etc/profile
set -e -x
guix --version
export GUIX_BUILD_OPTIONS=--no-grafts
ls -l /run/current-system/gc-roots
parted --script /dev/vdb mklabel gpt \\
mkpart primary ext2 1M 3M \\
mkpart primary ext2 3M 2G \\
set 1 boot on \\
set 1 bios_grub on
mkfs.xfs -L my-root -q /dev/vdb2
mount /dev/vdb2 /mnt
herd start cow-store /mnt
mkdir /mnt/etc
cp /etc/target-config.scm /mnt/etc/config.scm
guix system build /mnt/etc/config.scm
guix system init /mnt/etc/config.scm /mnt --no-substitutes
sync
reboot\n")
(define %test-xfs-root-os
(system-test
(name "xfs-root-os")
(description
"Test basic functionality of an OS installed like one would do by hand.
This test is expensive in terms of CPU and storage usage since we need to
build (current-guix) and then store a couple of full system images.")
(value
(mlet* %store-monad ((image (run-install %xfs-root-os
%xfs-root-os-source
#:script
%xfs-root-installation-script))
(command (qemu-command/writable-image image)))
(run-basic-test %xfs-root-os command "xfs-root-os")))))
;;;
;;; Installation through the graphical interface.