guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/02: guix package: '--show' errors when asked for a non-existent packa


From: Ludovic Courtès
Subject: 01/02: guix package: '--show' errors when asked for a non-existent package.
Date: Sun, 11 Nov 2018 17:53:53 -0500 (EST)

civodul pushed a commit to branch master
in repository guix.

commit 652163154c06b47936a453f44ea35938789718de
Author: Ludovic Courtès <address@hidden>
Date:   Sun Nov 11 17:13:20 2018 +0100

    guix package: '--show' errors when asked for a non-existent package.
    
    Fixes <https://bugs.gnu.org/33323>.
    Reported by swedebugia <address@hidden>.
    
    * guix/scripts/package.scm (process-query): Call 'leave' when
    'find-packages-by-name' returns the empty list.
    * tests/guix-package.sh: Test it.
---
 guix/scripts/package.scm | 10 +++++++---
 tests/guix-package.sh    |  4 ++++
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm
index 500fc9a..5743816 100644
--- a/guix/scripts/package.scm
+++ b/guix/scripts/package.scm
@@ -771,9 +771,13 @@ processed, #f otherwise."
       (('show requested-name)
        (let-values (((name version)
                      (package-name->name+version requested-name)))
-         (leave-on-EPIPE
-          (for-each (cute package->recutils <> (current-output-port))
-                    (find-packages-by-name name version)))
+         (match (find-packages-by-name name version)
+           (()
+            (leave (G_ "address@hidden@~a~]: package not found~%") name 
version))
+           (packages
+            (leave-on-EPIPE
+             (for-each (cute package->recutils <> (current-output-port))
+                       packages))))
          #t))
 
       (('search-paths kind)
diff --git a/tests/guix-package.sh b/tests/guix-package.sh
index f7dfbfa..7eeb430 100644
--- a/tests/guix-package.sh
+++ b/tests/guix-package.sh
@@ -106,6 +106,10 @@ guix package --show=guile | grep "^name: guile"
 # Ensure `--show' doesn't fail for packages with non-package inputs.
 guix package --show=texlive
 
+# Fail for non-existent packages or package/version pairs.
+if guix package --show=does-not-exist; then false; else true; fi
+if guix package address@hidden; then false; else true; fi
+
 # Search.
 LC_MESSAGES=C
 export LC_MESSAGES



reply via email to

[Prev in Thread] Current Thread [Next in Thread]