guix-commits
[Top][All Lists]
Advanced

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

02/04: guix download: Fail when more than one URL is passed.


From: Ludovic Courtès
Subject: 02/04: guix download: Fail when more than one URL is passed.
Date: Mon, 23 Nov 2015 16:48:43 +0000

civodul pushed a commit to branch master
in repository guix.

commit 86cdfc451bad61faa66f100208c95f3275050957
Author: Ludovic Courtès <address@hidden>
Date:   Mon Nov 23 17:37:29 2015 +0100

    guix download: Fail when more than one URL is passed.
    
    * guix/scripts/download.scm (guix-download)[parse-option]: Call 'leave'
    when passed an extra argument.
    * tests/guix-download.sh: Add test.
---
 guix/scripts/download.scm |    3 +++
 tests/guix-download.sh    |    6 +++++-
 2 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/guix/scripts/download.scm b/guix/scripts/download.scm
index b81295e..6ebc14f 100644
--- a/guix/scripts/download.scm
+++ b/guix/scripts/download.scm
@@ -96,6 +96,9 @@ Supported formats: 'nix-base32' (default), 'base32', and 
'base16'
                 (lambda (opt name arg result)
                   (leave (_ "~A: unrecognized option~%") name))
                 (lambda (arg result)
+                  (when (assq 'argument result)
+                    (leave (_ "~A: extraneous argument~%") arg))
+
                   (alist-cons 'argument arg result))
                 %default-options))
 
diff --git a/tests/guix-download.sh b/tests/guix-download.sh
index 7af6f18..6283772 100644
--- a/tests/guix-download.sh
+++ b/tests/guix-download.sh
@@ -1,5 +1,5 @@
 # GNU Guix --- Functional package management for GNU
-# Copyright © 2012 Ludovic Courtès <address@hidden>
+# Copyright © 2012, 2015 Ludovic Courtès <address@hidden>
 #
 # This file is part of GNU Guix.
 #
@@ -34,3 +34,7 @@ then false; else true; fi
 
 # This one should succeed.
 guix download "file://$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



reply via email to

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