From mboxrd@z Thu Jan  1 00:00:00 1970
From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@gnu.org>
Subject: Re: Plan for a release!
Date: Sat, 21 Mar 2020 16:46:36 +0100
Message-ID: <87k13d1zj7.fsf@gnu.org>
References: <87pne3d5t6.fsf@gnu.org> <87o8t1smpe.fsf@gnu.org>
 <87k13h7gg3.fsf@gnu.org> <87tv2ld04o.fsf@gmail.com>
 <87k13fjo2i.fsf@gmail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Return-path: <guix-devel-bounces+gcggd-guix-devel=m.gmane-mx.org@gnu.org>
Received: from eggs.gnu.org ([2001:470:142:3::10]:42136)
 by lists.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <ludo@gnu.org>) id 1jFgKd-0006G9-FT
 for guix-devel@gnu.org; Sat, 21 Mar 2020 11:46:40 -0400
In-Reply-To: <87k13fjo2i.fsf@gmail.com> (Mathieu Othacehe's message of "Fri,
 20 Mar 2020 11:52:21 +0100")
List-Id: "Development of GNU Guix and the GNU System distribution."
 <guix-devel.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/guix-devel>,
 <mailto:guix-devel-request@gnu.org?subject=unsubscribe>
List-Archive: <https://lists.gnu.org/archive/html/guix-devel>
List-Post: <mailto:guix-devel@gnu.org>
List-Help: <mailto:guix-devel-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/guix-devel>,
 <mailto:guix-devel-request@gnu.org?subject=subscribe>
Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane-mx.org@gnu.org
Sender: "Guix-devel"
 <guix-devel-bounces+gcggd-guix-devel=m.gmane-mx.org@gnu.org>
To: Mathieu Othacehe <m.othacehe@gmail.com>
Cc: guix-devel@gnu.org

Hi Mathieu!

Mathieu Othacehe <m.othacehe@gmail.com> skribis:

>>> Done, but it=E2=80=99d be nice to add more test of the installer!
>>
>> I can help on that. Maybe adding:
>>
>> * More partitioning patterns
>> * More DE & services
>
> Turns out, when selecting GNOME in choose-services call of (gnu tests
> install), it triggers downloads during "guix system init ..." call.
>
> I guess it's normal because the installer image does not contain those
> packages. However, as there's no connection, it fails.
>
> Not sure, we can go further?

Yes: you need to have =E2=80=98installation-os-for-gui-tests=E2=80=99 (or p=
referably a
variant thereof) include all the services/packages needed for the target
config.

In the manual installation tests we use =E2=80=98define-os-with-source=E2=
=80=99 to both
embed the target OS and its references in the installation image *and*
have the source of the target OS available in /etc/target-config.scm in
the installation image.

The 2nd step is not relevant here, but the first step remains necessary.

> From 11193c030fa64cc3e2f6505062b7aa4fa9b2a2f4 Mon Sep 17 00:00:00 2001
> From: Mathieu Othacehe <m.othacehe@gmail.com>
> Date: Fri, 20 Mar 2020 11:36:33 +0100
> Subject: [PATCH] tests: install: Abort when one installation step fails.
>
> When marionette-eval calls fail in gui-test-program, the installation
> continues which results in two scenarios:
>
> - hang forever at the next marionette-eval call,
>
> - keep going and start a broken installation, which is annoying because it
> clears the terminal and hides the error.
>
> Make sure that gui-test-program is exited with #f return code when one of=
 the
> marionette-eval calls fail.
>
> * gnu/tests/install.scm (gui-test-program): Add a new macro
> "marionette-eval*". Use it to abort to prompt 'gui-test and return #f whe=
n one
> on the marionette-eval calls fail.

[...]

> +      (define-syntax-rule (marionette-eval* exp marionette)
> +        (unless (marionette-eval exp marionette)
> +          (abort-to-prompt 'gui-test)))

It=E2=80=99d be IMO clearer, although technically equivalent, to make it:

  (or (marionette-eval exp marionette)
      (throw 'marionette-eval-failure 'exp))

Perhaps you don=E2=80=99t even need to catch it.

Thanks for working on this!

Ludo=E2=80=99.