unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
To: Tobias Geerinckx-Rice <me@tobias.gr>
Cc: 60069@debbugs.gnu.org
Subject: [bug#60069] [PATCH 2/2] guix-install.sh: Directly exit in case of errors in chk_require.
Date: Wed, 14 Dec 2022 13:33:26 -0500	[thread overview]
Message-ID: <87sfhh3keh.fsf_-_@gmail.com> (raw)
In-Reply-To: <875yed4zp5.fsf@gmail.com> (Maxim Cournoyer's message of "Wed, 14 Dec 2022 13:17:42 -0500")

Hi,

Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:

> Hi Tobias,
>
> Tobias Geerinckx-Rice <me@tobias.gr> writes:
>
>> Maxim Cournoyer 写道:
>>> -    [ "${#warn}" -ne 0 ] &&
>>> -        { _err "${ERR}Missing commands: ${warn[*]}.";
>>> -          return 1; }
>>> -    +    [ "${#warn}" -ne 0 ] && die "Missing commands:
>>> ${warn[*]}."
>>> +
>>
>> I did not run this, but will it not itself trigger -e  when the test
>> is false?
>
> This apparently falls in the special casing by Bash of what is
> considered a failure when using 'set -e'; here's a test:
>
> $ cat test.sh
> #!/usr/bin/env bash
>
> set -e
>
> [ false ] && echo "hey, we made it!"
>
> $ ./test.sh
> hey, we made it!

The above example was bogus and unnecessary; looking at it more closely,
the test would return true when the 'warn' array contains 1 or more
items (missing commands), which would cause the die command to be
invoked and the script to exit.  The first test handling isn't modified,
so it'll chain though the second part the same as it does now.

I hope that's a better explanation.

-- 
Thanks,
Maxim




  reply	other threads:[~2022-12-14 18:34 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-14 15:56 [bug#60068] [PATCH 1/2] guix-install.sh: Add GUIX_ALLOW_OVERWRITE environment variable Maxim Cournoyer
2022-12-14 15:56 ` [bug#60069] [PATCH 2/2] guix-install.sh: Directly exit in case of errors in chk_require Maxim Cournoyer
2022-12-14 16:37   ` Tobias Geerinckx-Rice via Guix-patches via
2022-12-14 18:17     ` Maxim Cournoyer
2022-12-14 18:33       ` Maxim Cournoyer [this message]
2022-12-14 16:16 ` [bug#60068] [PATCH 1/2] guix-install.sh: Add GUIX_ALLOW_OVERWRITE environment variable Tobias Geerinckx-Rice via Guix-patches via
2022-12-14 18:25   ` Maxim Cournoyer
2023-02-04  4:36     ` Maxim Cournoyer
2022-12-14 20:46 ` [bug#60068] [PATCH v2 1/3] guix-install.sh: Add missing "useradd" command Maxim Cournoyer
2022-12-14 20:46   ` [bug#60068] [PATCH v2 2/3] guix-install.sh: Add GUIX_ALLOW_OVERWRITE environment variable Maxim Cournoyer
2022-12-15 14:43     ` [bug#60068] bug#60069: [PATCH 2/2] guix-install.sh: Directly exit in case of errors in chk_require Ludovic Courtès
2022-12-16  5:07       ` [bug#60069] " Maxim Cournoyer
2022-12-15 14:44     ` [bug#60068] bug#60069: " Ludovic Courtès
2022-12-14 20:46   ` [bug#60068] [PATCH v2 3/3] " Maxim Cournoyer
2022-12-15 14:41   ` [bug#60068] bug#60069: [PATCH 2/2] " Ludovic Courtès
2022-12-16  5:24     ` Maxim Cournoyer

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=87sfhh3keh.fsf_-_@gmail.com \
    --to=maxim.cournoyer@gmail.com \
    --cc=60069@debbugs.gnu.org \
    --cc=me@tobias.gr \
    /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).