[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#40207] [PATCH 2/2] tests: install: Add %test-gui-installed-desktop-
From: |
Ludovic Courtès |
Subject: |
[bug#40207] [PATCH 2/2] tests: install: Add %test-gui-installed-desktop-os-encrypted. |
Date: |
Tue, 24 Mar 2020 11:38:12 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Mathieu Othacehe <address@hidden> skribis:
> * gnu/tests/install.scm (run-install): Make sure that the default target-size
> is used if #f is passed,
> (gui-test-program): add a desktop? argument, and pass it to choose-services,
> (guided-installation-test): add desktop? and target-size arguments. If
> desktop? is #t, make sure that all desktop-environments are available. Pass
> target-size to run-install call and desktop? to gui-test-program call.
> (%test-gui-installed-desktop-os-encrypted): New variable.
[...]
> - (target-size (* 2200 MiB)))
> + (target-size #f))
> "Run SCRIPT (a shell script following the system installation procedure) in
> OS to install TARGET-OS. Return a VM image of TARGET-SIZE bytes containing
> the installed system. The packages specified in PACKAGES will be appended to
> packages defined in installation-os."
>
> - (mlet* %store-monad ((_ (set-grafting #f))
> + (mlet* %store-monad ((target-size -> (or target-size (* 2200 MiB)))
[...]
> +(define* (guided-installation-test name
> + #:key
> + (desktop? #f)
> + encrypted?
> + (target-size #f))
What about giving #:target-size a default value here so that the hunk
above in unnecessary?
> (define os
> (operating-system
> (inherit %minimal-os)
> @@ -1055,26 +1073,56 @@ build (current-guix) and then store a couple of full
> system images.")
> (supplementary-groups
> '("wheel" "audio" "video"))))
> %base-user-accounts))
> + (keyboard-layout (and desktop?
> + (keyboard-layout "us" "altgr-intl")))
> ;; The installer does not create a swap device in guided mode with
> ;; encryption support.
> (swap-devices (if encrypted? '() '("/dev/vdb2")))
> - (services (cons (service dhcp-client-service-type)
> - (operating-system-user-services %minimal-os)))))
> +
> + ;; Make sure that all the packages and services that may be used by the
> + ;; graphical installer are available.
> + (packages (append
> + (if desktop?
> + (list openbox awesome i3-wm i3status
> + dmenu st ratpoison xterm)
> + '())
> + %base-packages))
> + (services
> + (if desktop?
> + (append
> + (list (service gnome-desktop-service-type)
> + (service xfce-desktop-service-type)
> + (service mate-desktop-service-type)
> + (service enlightenment-desktop-service-type)
> + (set-xorg-configuration
> + (xorg-configuration
> + (keyboard-layout keyboard-layout)))
> + (service marionette-service-type
> + (marionette-configuration
> + (imported-modules '((gnu services herd)
> + (guix build utils)
> + (guix combinators))))))
> + %desktop-services)
> + (cons (service dhcp-client-service-type)
> + (operating-system-user-services %minimal-os))))))
What about making a separate OS definition for the desktop installation
case? We’d move the ‘os’ variable to the top-level and add an ‘os’
parameter to ‘guided-installation-test’.
Having two separate OS definitions (one for desktop install, one for
“bare-bones” install) should be clearer than having a single definition
with conditionals.
> +;; Building a desktop image is very time and space consuming. Install all
> +;; desktop environments in a single test to reduce the overhead.
> +(define %test-gui-installed-desktop-os-encrypted
> + (guided-installation-test "gui-installed-desktop-os-encrypted"
> + #:desktop? #t
> + #:encrypted? #t
> + #:target-size (* 9000 MiB)))
Wo0t!
Thanks a lot for working on it! You can stop by on #guix if you feel
like it so we’re all less lonely during confinement. :-)
Ludo’.
[bug#40207] [PATCH 1/2] installer: tests: Use a filter to select desktop-environments., Ludovic Courtès, 2020/03/24