Subject: Re: [bug#43616] [PATCH] tests: Simplify shell exit status negation;
From: Eric Bavier <[email-masked]>
To: Ludovic Courtès <[email-masked]>
Cc: [email-masked]
Date: Mon, 28 Sep 2020 21:23:26 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

On Sat, 2020-09-26 at 23:12 +0200, Ludovic Courtès wrote:
> Hi Eric,
> 
> [email-masked] skribis:
> 
> > From: Eric Bavier <[email-masked]>
> > 
> > * tests/guix-archive.sh, tests/guix-build-branch.sh, tests/guix-
> > build.sh,
> > tests/guix-daemon.sh, tests/guix-download.sh, tests/guix-
> > environment.sh,
> > tests/guix-gc.sh, tests/guix-git-authenticate.sh, tests/guix-
> > graph.sh,
> > tests/guix-hash.sh, tests/guix-lint.sh, tests/guix-pack-
> > relocatable.sh,
> > tests/guix-pack.sh, tests/guix-package-aliases.sh, tests/guix-
> > package-net.sh,
> > tests/guix-package.sh: Use the shell '!' keyword to negate command
> > exit status
> > in place of 'if ...; then false; else true; fi'
> 
> [...]
> 
> > -if guix archive something-that-does-not-exist
> > -then false; else true; fi
> > +! guix archive something-that-does-not-exist
> 
> I have a vague recollection that I came to the conclusion that the
> ‘if’
> was needed, but now I don’t see why.
> 
> If you’re confident please go ahead!  It’s never too late for me to
> improve my shell knowledge.  :-)

I've used the same in other project test suites for a while now, and
have successfully run Guix's tests with this patch several times.

Pushed in d8934360d2453a403b5433e71d09188e4ed23b57

Thanks for the review,
`~Eric