[PATCH] tests: Simplify shell exit status negation;

  • Done
  • quality assurance status badge
Details
2 participants
  • bavier
  • Ludovic Courtès
Owner
unassigned
Submitted by
bavier
Severity
normal
B
B
bavier wrote on 25 Sep 2020 20:00
(address . guix-patches@gnu.org)(name . Eric Bavier)(address . bavier@member.fsf.org)
20200925180004.26836-1-bavier@posteo.net
From: Eric Bavier <bavier@member.fsf.org>

* 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'
---
tests/guix-archive.sh | 9 +++----
tests/guix-build-branch.sh | 3 +--
tests/guix-build.sh | 22 ++++++-----------
tests/guix-daemon.sh | 2 +-
tests/guix-download.sh | 12 +++------
tests/guix-environment.sh | 8 +++---
tests/guix-gc.sh | 13 ++++------
tests/guix-git-authenticate.sh | 5 ++--
tests/guix-graph.sh | 7 +++---
tests/guix-hash.sh | 12 +++------
tests/guix-lint.sh | 18 +++++---------
tests/guix-pack-relocatable.sh | 3 +--
tests/guix-pack.sh | 3 +--
tests/guix-package-aliases.sh | 14 ++++-------
tests/guix-package-net.sh | 9 +++----
tests/guix-package.sh | 45 +++++++++++++---------------------
16 files changed, 67 insertions(+), 118 deletions(-)

Toggle diff (507 lines)
diff --git a/tests/guix-archive.sh b/tests/guix-archive.sh
index 4c5eea05cf..e796c62f9a 100644
--- a/tests/guix-archive.sh
+++ b/tests/guix-archive.sh
@@ -44,8 +44,7 @@ cmp "$archive" "$archive_alt"
# Check the exit value upon import.
guix archive --import < "$archive"
-if guix archive something-that-does-not-exist
-then false; else true; fi
+! guix archive something-that-does-not-exist
# This one must not be listed as missing.
guix build guile-bootstrap > "$archive"
@@ -62,8 +61,7 @@ cmp "$archive" "$archive_alt"
# This is not a valid store file name, so an error.
echo something invalid > "$archive"
-if guix archive --missing < "$archive"
-then false; else true; fi
+! guix archive --missing < "$archive"
# Check '--extract'.
guile -c "(use-modules (guix serialization))
@@ -79,5 +77,4 @@ guix archive -t < "$archive" | grep "^D /share/guile"
guix archive -t < "$archive" | grep "^x /bin/guile"
guix archive -t < "$archive" | grep "^r /share/guile.*/boot-9\.scm"
-if echo foo | guix archive --authorize
-then false; else true; fi
+! echo foo | guix archive --authorize
diff --git a/tests/guix-build-branch.sh b/tests/guix-build-branch.sh
index c5b07e07c6..79aa06a58f 100644
--- a/tests/guix-build-branch.sh
+++ b/tests/guix-build-branch.sh
@@ -58,5 +58,4 @@ guix gc -R "$v0_1_0_drv" | grep guile-gcrypt-8fe64e8 # this is the tag ID
test "$v0_1_0_drv" != "$latest_drv"
test "$v0_1_0_drv" != "$orig_drv"
-if guix build guix --with-commit=guile-gcrypt=000 -d
-then false; else true; fi
+! guix build guix --with-commit=guile-gcrypt=000 -d
diff --git a/tests/guix-build.sh b/tests/guix-build.sh
index 6c08857358..57ecba42be 100644
--- a/tests/guix-build.sh
+++ b/tests/guix-build.sh
@@ -24,8 +24,7 @@
guix build --version
# Should fail.
-if guix build -e +;
-then false; else true; fi
+! guix build -e +
# Source-less packages are accepted; they just return nothing.
guix build -e '(@ (gnu packages bootstrap) %bootstrap-glibc)' -S
@@ -178,7 +177,7 @@ cat > "$module_dir/foo.scm" <<EOF
(inputs (quasiquote (("sed" ,sed)))))) ;unbound variable
EOF
-if guix build package-with-something-wrong -n; then false; else true; fi
+! guix build package-with-something-wrong -n
guix build package-with-something-wrong -n 2> "$module_dir/err" || true
grep "unbound" "$module_dir/err" # actual error
grep "forget.*(gnu packages base)" "$module_dir/err" # hint
@@ -222,7 +221,7 @@ test "`guix build --log-file guile-bootstrap`" = "$log"
test "`guix build --log-file $out`" = "$log"
# Should fail because the name/version combination could not be found.
-if guix build hello-0.0.1 -n; then false; else true; fi
+! guix build hello-0.0.1 -n
# Keep a symlink to the result, registered as a root.
result="t-result-$$"
@@ -231,8 +230,7 @@ guix build -r "$result" \
test -x "$result/bin/guile"
# Should fail, because $result already exists.
-if guix build -r "$result" -e '(@@ (gnu packages bootstrap) %bootstrap-guile)'
-then false; else true; fi
+! guix build -r "$result" -e '(@@ (gnu packages bootstrap) %bootstrap-guile)'
rm -f "$result"
@@ -259,8 +257,7 @@ drv1=`guix build guile -d`
drv2=`guix build guile --with-input=gimp=ruby -d`
test "$drv1" = "$drv2"
-if guix build guile --with-input=libunistring=something-really-silly
-then false; else true; fi
+! guix build guile --with-input=libunistring=something-really-silly
# Deprecated/superseded packages.
test "`guix build superseded -d`" = "`guix build bar -d`"
@@ -268,10 +265,8 @@ test "`guix build superseded -d`" = "`guix build bar -d`"
# Parsing package names and versions.
guix build -n time # PASS
guix build -n time@1.9 # PASS, version found
-if guix build -n time@3.2; # FAIL, version not found
-then false; else true; fi
-if guix build -n something-that-will-never-exist; # FAIL
-then false; else true; fi
+! guix build -n time@3.2 # FAIL, version not found
+! guix build -n something-that-will-never-exist # FAIL
# Invoking a monadic procedure.
guix build -e "(begin
@@ -343,5 +338,4 @@ export GUIX_BUILD_OPTIONS
guix build emacs
GUIX_BUILD_OPTIONS="--something-completely-crazy"
-if guix build emacs;
-then false; else true; fi
+! guix build emacs
diff --git a/tests/guix-daemon.sh b/tests/guix-daemon.sh
index b58500966b..330ad68835 100644
--- a/tests/guix-daemon.sh
+++ b/tests/guix-daemon.sh
@@ -224,7 +224,7 @@ daemon_pid=$!
GUIX_DAEMON_SOCKET="guix://$tcp_socket"
export GUIX_DAEMON_SOCKET
-if guix gc; then false; else true; fi
+! guix gc
unset GUIX_DAEMON_SOCKET
kill "$daemon_pid"
diff --git a/tests/guix-download.sh b/tests/guix-download.sh
index 30f55fbe2b..5475d43e60 100644
--- a/tests/guix-download.sh
+++ b/tests/guix-download.sh
@@ -23,14 +23,11 @@
guix download --version
# Make sure it fails here.
-if guix download http://does.not/exist
-then false; else true; fi
+! guix download http://does.not/exist
-if guix download unknown://some/where;
-then false; else true; fi
+! guix download unknown://some/where;
-if guix download /does-not-exist
-then false; else true; fi
+! guix download /does-not-exist
# This one should succeed.
guix download "file://$abs_top_srcdir/README"
@@ -46,5 +43,4 @@ GUIX_DAEMON_SOCKET="/nowhere" guix download -o "$output" \
cmp "$output" "$abs_top_srcdir/README"
# This one should fail.
-if guix download "file:///does-not-exist" "file://$abs_top_srcdir/README"
-then false; else true; fi
+! guix download "file:///does-not-exist" "file://$abs_top_srcdir/README"
diff --git a/tests/guix-environment.sh b/tests/guix-environment.sh
index 2faf38df06..f8be48f0c0 100644
--- a/tests/guix-environment.sh
+++ b/tests/guix-environment.sh
@@ -60,7 +60,7 @@ guix environment --bootstrap --ad-hoc guile-bootstrap --pure \
grep '^PATH=' "$tmpdir/a"
grep '^GUIX_TEST_ABC=' "$tmpdir/a"
grep '^GUIX_TEST_DEF=' "$tmpdir/a"
-if grep '^GUIX_TEST_XYZ=' "$tmpdir/a"; then false; else true; fi
+! grep '^GUIX_TEST_XYZ=' "$tmpdir/a"
# Make sure the exit value is preserved.
if guix environment --bootstrap --ad-hoc guile-bootstrap --pure \
@@ -194,8 +194,7 @@ then
done
# 'make-boot0' itself must not be listed.
- if guix gc --references "$profile" | grep make-boot0
- then false; else true; fi
+ ! guix gc --references "$profile" | grep make-boot0
# Make sure that the shell spawned with '--exec' sees the same environment
# as returned by '--search-paths'.
@@ -212,8 +211,7 @@ then
test "x$make_boot0_debug" != "x"
# Make sure the "debug" output is not listed.
- if guix gc --references "$profile" | grep "$make_boot0_debug"
- then false; else true; fi
+ ! guix gc --references "$profile" | grep "$make_boot0_debug"
# Compute the build environment for the initial GNU Make, but add in the
# bootstrap Guile as an ad-hoc addition.
diff --git a/tests/guix-gc.sh b/tests/guix-gc.sh
index 8284287730..f40619876d 100644
--- a/tests/guix-gc.sh
+++ b/tests/guix-gc.sh
@@ -36,11 +36,11 @@ unset out
# For some operations, passing extra arguments is an error.
for option in "" "-C 500M" "--verify" "--optimize" "--list-roots"
do
- if guix gc $option whatever; then false; else true; fi
+ ! guix gc $option whatever
done
# This should fail.
-if guix gc --verify=foo; then false; else true; fi
+! guix gc --verify=foo
# Check the references of a .drv.
drv="`guix build guile-bootstrap -d`"
@@ -51,8 +51,7 @@ guix gc --references "$drv" | grep -e -bash
guix gc --references "$out"
guix gc --references "$out/bin/guile"
-if guix gc --references /dev/null;
-then false; else true; fi
+! guix gc --references /dev/null;
# Check derivers.
guix gc --derivers "$out" | grep "$drv"
@@ -72,8 +71,7 @@ test -f "$drv" && test -L guix-gc-root
guix gc --list-roots | grep "$PWD/guix-gc-root"
guix gc --list-live | grep "$drv"
-if guix gc --delete "$drv";
-then false; else true; fi
+! guix gc --delete "$drv";
rm guix-gc-root
guix gc --list-dead | grep "$drv"
@@ -84,8 +82,7 @@ guix gc --delete "$drv"
guix gc -C 1KiB
# Check trivial error cases.
-if guix gc --delete /dev/null;
-then false; else true; fi
+! guix gc --delete /dev/null;
# Bug #19757
out="`guix build guile-bootstrap`"
diff --git a/tests/guix-git-authenticate.sh b/tests/guix-git-authenticate.sh
index 1c76e240b5..8ebbea398b 100644
--- a/tests/guix-git-authenticate.sh
+++ b/tests/guix-git-authenticate.sh
@@ -46,9 +46,8 @@ v1_0_0_signer="3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5" # civodul
v1_0_1_commit="d68de958b60426798ed62797ff7c96c327a672ac"
# This should fail because these commits lack '.guix-authorizations'.
-if guix git authenticate "$v1_0_0_commit" "$v1_0_0_signer" \
- --cache-key="$cache_key" --end="$v1_0_1_commit";
-then false; else true; fi
+! guix git authenticate "$v1_0_0_commit" "$v1_0_0_signer" \
+ --cache-key="$cache_key" --end="$v1_0_1_commit"
# This should work thanks to '--historical-authorizations'.
guix git authenticate "$v1_0_0_commit" "$v1_0_0_signer" \
diff --git a/tests/guix-graph.sh b/tests/guix-graph.sh
index ccb4933c88..666660ab4b 100644
--- a/tests/guix-graph.sh
+++ b/tests/guix-graph.sh
@@ -60,7 +60,7 @@ guix graph -t references guile-bootstrap | grep guile-bootstrap
guix graph -e '(@ (gnu packages bootstrap) %bootstrap-guile)' \
| grep guile-bootstrap
-if guix graph -e +; then false; else true; fi
+! guix graph -e +
# Try passing store file names.
@@ -77,14 +77,13 @@ cmp "$tmpfile1" "$tmpfile2"
# Try package transformation options.
guix graph git | grep 'label = "openssl'
guix graph git --with-input=openssl=libressl | grep 'label = "libressl'
-if guix graph git --with-input=openssl=libressl | grep 'label = "openssl'
-then false; else true; fi
+! guix graph git --with-input=openssl=libressl | grep 'label = "openssl'
# Try --load-path
guix graph -L $module_dir dummy | grep 'label = "dummy'
# Displaying shortest paths (or lack thereof).
-if guix graph --path emacs vim; then false; else true; fi
+! guix graph --path emacs vim
path="\
emacs
diff --git a/tests/guix-hash.sh b/tests/guix-hash.sh
index 3538b9aeda..346355539f 100644
--- a/tests/guix-hash.sh
+++ b/tests/guix-hash.sh
@@ -34,8 +34,7 @@ test `guix hash -f base32 /dev/null` = 4oymiquy7qobjgx36tejs35zeqt24qpemsnzgtfes
test `guix hash -H sha512 -f hex /dev/null` = cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e
test `guix hash -H sha1 -f base64 /dev/null` = "2jmj7l5rSw0yVb/vlWAYkK/YBwk="
-if guix hash -H abcd1234 /dev/null;
-then false; else true; fi
+! guix hash -H abcd1234 /dev/null
mkdir "$tmpdir"
echo -n executable > "$tmpdir/exe"
@@ -46,13 +45,11 @@ mkdir "$tmpdir/subdir"
test `guix hash -r "$tmpdir"` = 10k1lw41wyrjf9mxydi0is5nkpynlsvgslinics4ppir13g7d74p
# Without '-r', this should fail.
-if guix hash "$tmpdir"
-then false; else true; fi
+! guix hash "$tmpdir"
# This should fail because /dev/null is a character device, which
# the archive format doesn't support.
-if guix hash -r /dev/null
-then false; else true; fi
+! guix hash -r /dev/null
# Adding a .git directory
mkdir "$tmpdir/.git"
@@ -65,6 +62,5 @@ test `guix hash -r $tmpdir` = 0a50z04zyzf7pidwxv0nwbj82pgzbrhdy9562kncnvkcfvb48m
test `guix hash -r $tmpdir -x` = 10k1lw41wyrjf9mxydi0is5nkpynlsvgslinics4ppir13g7d74p
# Without '-r', this should fail.
-if guix hash "$tmpdir"
-then false; else true; fi
+! guix hash "$tmpdir"
diff --git a/tests/guix-lint.sh b/tests/guix-lint.sh
index ebe79efb84..fdf548fbf1 100644
--- a/tests/guix-lint.sh
+++ b/tests/guix-lint.sh
@@ -58,24 +58,19 @@ grep_warning ()
# 3) the description has a single space following the end-of-sentence period.
out=`guix lint -c synopsis,description dummy 2>&1`
-if [ `grep_warning "$out"` -ne 3 ]
-then false; else true; fi
+test `grep_warning "$out"` -eq 3
out=`guix lint -c synopsis dummy 2>&1`
-if [ `grep_warning "$out"` -ne 2 ]
-then false; else true; fi
+test `grep_warning "$out"` -eq 2
out=`guix lint -c description dummy 2>&1`
-if [ `grep_warning "$out"` -ne 1 ]
-then false; else true; fi
+test `grep_warning "$out"` -eq 1
out=`guix lint -c description,synopsis dummy 2>&1`
-if [ `grep_warning "$out"` -ne 3 ]
-then false; else true; fi
+test `grep_warning "$out"` -eq 3
-if guix lint -c synopsis,invalid-checker dummy 2>&1 | \
+guix lint -c synopsis,invalid-checker dummy 2>&1 | \
grep -q 'invalid-checker: invalid checker'
-then true; else false; fi
# Make sure specifying multiple packages works.
guix lint -c inputs-should-be-native dummy dummy@42 dummy
@@ -85,8 +80,7 @@ guix lint -c inputs-should-be-native dummy dummy@42 dummy
unset GUIX_PACKAGE_PATH
out=`guix lint -L $module_dir -c synopsis,description dummy 2>&1`
-if [ `grep_warning "$out"` -ne 3 ]
-then false; else true; fi
+test `grep_warning "$out"` -eq 3
# Make sure specifying multiple packages works.
guix lint -L $module_dir -c inputs-should-be-native dummy dummy@42 dummy
diff --git a/tests/guix-pack-relocatable.sh b/tests/guix-pack-relocatable.sh
index b8d36a02c6..a960ecd209 100644
--- a/tests/guix-pack-relocatable.sh
+++ b/tests/guix-pack-relocatable.sh
@@ -77,8 +77,7 @@ then
grep 'GNU sed' "$test_directory/output"
# Check whether the exit code is preserved.
- if run_without_store "$test_directory/Bin/sed" --does-not-exist;
- then false; else true; fi
+ ! run_without_store "$test_directory/Bin/sed" --does-not-exist
chmod -Rf +w "$test_directory"; rm -rf "$test_directory"/*
else
diff --git a/tests/guix-pack.sh b/tests/guix-pack.sh
index 39b64791e2..0339221ac2 100644
--- a/tests/guix-pack.sh
+++ b/tests/guix-pack.sh
@@ -45,8 +45,7 @@ guix gc -R "$drv" | grep "`guix build coreutils -d --no-grafts`"
drv="`guix pack idutils -d --no-grafts --target=arm-linux-gnueabihf`"
guix gc -R "$drv" | \
grep "`guix build idutils --target=arm-linux-gnueabihf -d --no-grafts`"
-if guix gc -R "$drv" | grep "`guix build idutils -d --no-grafts`";
-then false; else true; fi
+! guix gc -R "$drv" | grep "`guix build idutils -d --no-grafts`"
# Build a tarball with no compression.
guix pack --compression=none --bootstrap guile-bootstrap
diff --git a/tests/guix-package-aliases.sh b/tests/guix-package-aliases.sh
index e24bff3a56..e4ddace057 100644
--- a/tests/guix-package-aliases.sh
+++ b/tests/guix-package-aliases.sh
@@ -36,26 +36,22 @@ guix install --bootstrap guile-bootstrap -p "$profile"
test -x "$profile/bin/guile"
# Make sure '-r' isn't passed as-is to 'guix package'.
-if guix install -r guile-bootstrap -p "$profile" --bootstrap
-then false; else true; fi
+! guix install -r guile-bootstrap -p "$profile" --bootstrap
test -x "$profile/bin/guile"
guix upgrade --version
guix upgrade -n
guix upgrade gui.e -n
-if guix upgrade foo bar -n;
-then false; else true; fi
+! guix upgrade foo bar -n;
guix remove --version
guix remove --bootstrap guile-bootstrap -p "$profile"
! test -x "$profile/bin/guile"
test `guix package -p "$profile" -I | wc -l` -eq 0
-if guix remove -p "$profile" this-is-not-installed --bootstrap
-then false; else true; fi
+! guix remove -p "$profile" this-is-not-installed --bootstrap
-if guix remove -i guile-bootstrap -p "$profile" --bootstrap
-then false; else true; fi
+! guix remove -i guile-bootstrap -p "$profile" --bootstrap
guix search '\<board\>' game | grep '^name: gnubg'
@@ -64,7 +60,7 @@ guix show guile
guix show python@3 | grep "^name: python"
# "python@2" exists but is deprecated; make sure it doesn't show up.
-if guix show python@2; then false; else true; fi
+! guix show python@2
# Specifying multiple packages.
output="`guix show sed grep | grep ^name:`"
diff --git a/tests/guix-package-net.sh b/tests/guix-package-net.sh
index 3876701fa2..6d21c6cff6 100644
--- a/tests/guix-package-net.sh
+++ b/tests/guix-package-net.sh
@@ -95,10 +95,8 @@ test "`guix package -p "$profile" -l | cut -f1 | grep guile | head -n1`" \
= " guile-bootstrap"
# Exit with 1 when a generation does not exist.
-if guix package -p "$profile" --list-generations=42;
-then false; else true; fi
-if guix package -p "$profile" --switch-generation=99;
-then false; else true; fi
+! guix package -p "$profile" --list-generations=42
+! guix package -p "$profile" --switch-generation=99
# Remove a package.
guix package --bootstrap -p "$profile" -r "guile-bootstrap"
@@ -174,8 +172,7 @@ test -z "`guix package -p "$profile" -l 3`"
rm "$profile"
guix package --bootstrap -p "$profile" -i guile-bootstrap
guix package --bootstrap -p "$profile_alt" -i gcc-bootstrap
-if guix package -p "$profile" --search-paths | grep LIBRARY_PATH
-then false; fi
+! guix package -p "$profile" --search-paths | grep LIBRARY_PATH
guix package -p "$profile" -p "$profile_alt" --search-paths \
| grep "LIBRARY_PATH.*$profile/lib.$profile_alt/lib"
diff --git a/tests/guix-package.sh b/tests/guix-package.sh
index 1f955257be..1a95b8e9a4 100644
--- a/tests/guix-package.sh
+++ b/tests/guix-package.sh
@@ -36,8 +36,7 @@ rm -f "$profile" "$tmpfile"
trap 'rm -f "$profile" "$profile.lock" "$profile-"[0-9]* "$tmpfile"; rm -rf "$module_dir" t-home-'"$$" EXIT
# Use `-e' with a non-package expression.
-if guix package --bootstrap -e +;
-then false; else true; fi
+! guix package --bootstrap -e +
# Install a store item and make sure the version and output in the manifest
# are correct.
@@ -62,8 +61,7 @@ test -f "$profile/bin/guile"
# Collisions are properly flagged (in this case, 'g-wrap' propagates
# guile@2.2, which conflicts with guile@2.0.)
-if guix package --bootstrap -n -p "$profile" -i g-wrap guile@2.0
-then false; else true; fi
+! guix package --bootstrap -n -p "$profile" -i g-wrap guile@2.0
guix package --bootstrap -n -p "$profile" -i g-wrap guile@2.0 \
--allow-collisions
@@ -78,8 +76,7 @@ test "`guix package -p "$profile" --search-paths | wc -l`" = 1 # $PATH
type -P rm )
# Exit with 1 when a generation does not exist.
-if guix package -p "$profile" --delete-generations=42;
-then false; else true; fi
+! guix package -p "$profile" --delete-generations=42
# Exit with 0 when trying to delete the zeroth generation.
guix package -p "$profile" --delete-generations=0
@@ -92,15 +89,12 @@ guix package --bootstrap -i "glibc:debug" -p "$profile" -n
# Make sure nonexistent outputs are reported.
guix package --bootstrap -i "guile-bootstrap:out" -p "$profile" -n
-if guix package --bootstrap -i "guile-bootstrap:does-not-exist" -p "$profile" -n;
-then false; else true; fi
-if guix package --bootstrap -i "guile-bootstrap:does-not-exist" -p "$profile";
-then false; else true; fi
+! guix package --bootstrap -i "guile-bootstrap:do
This message was truncated. Download the full message here.
L
L
Ludovic Courtès wrote on 26 Sep 2020 23:12
(address . bavier@posteo.net)
87sgb4fdj3.fsf@gnu.org
Hi Eric,

bavier@posteo.net skribis:

Toggle quote (10 lines)
> From: Eric Bavier <bavier@member.fsf.org>
>
> * 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'

[...]

Toggle quote (4 lines)
> -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. :-)

Ludo’.
E
E
Eric Bavier wrote on 29 Sep 2020 04:23
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 43616-done@debbugs.gnu.org)
525ad162f05ce43bda03a723f0faaf9385e93e77.camel@posteo.net
On Sat, 2020-09-26 at 23:12 +0200, Ludovic Courtès wrote:
Toggle quote (33 lines)
> Hi Eric,
>
> bavier@posteo.net skribis:
>
> > From: Eric Bavier <bavier@member.fsf.org>
> >
> > * 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
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 43616@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 43616
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch