unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: "Ludovic Courtès" <ludo@gnu.org>
To: Mathieu Othacehe <m.othacehe@gmail.com>
Cc: 40207@debbugs.gnu.org
Subject: [bug#40207] [PATCH 2/2] tests: install: Add %test-gui-installed-desktop-os-encrypted.
Date: Tue, 24 Mar 2020 11:38:12 +0100	[thread overview]
Message-ID: <874kueniln.fsf@gnu.org> (raw)
In-Reply-To: <20200324083626.30650-2-m.othacehe@gmail.com> (Mathieu Othacehe's message of "Tue, 24 Mar 2020 09:36:26 +0100")

Mathieu Othacehe <m.othacehe@gmail.com> 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’.

  reply	other threads:[~2020-03-24 10:39 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-24  8:34 [bug#40207] [PATCH 0/2] Add a desktop graphical installer test Mathieu Othacehe
2020-03-24  8:36 ` [bug#40207] [PATCH 1/2] installer: tests: Use a filter to select desktop-environments Mathieu Othacehe
2020-03-24  8:36   ` [bug#40207] [PATCH 2/2] tests: install: Add %test-gui-installed-desktop-os-encrypted Mathieu Othacehe
2020-03-24 10:38     ` Ludovic Courtès [this message]
2020-03-25 17:57       ` Mathieu Othacehe
2020-03-25 21:41         ` Ludovic Courtès
2020-03-26 10:54           ` Mathieu Othacehe
2020-03-24 10:31   ` [bug#40207] [PATCH 1/2] installer: tests: Use a filter to select desktop-environments Ludovic Courtès
2020-03-24 10:35     ` Mathieu Othacehe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=874kueniln.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=40207@debbugs.gnu.org \
    --cc=m.othacehe@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).