diff options
author | Ludovic Courtès <ludo@gnu.org> | 2015-11-23 17:37:29 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2015-11-23 17:48:35 +0100 |
commit | 86cdfc451bad61faa66f100208c95f3275050957 (patch) | |
tree | 6bf201b92611a5e196c58e03c4b2dadebcbb8d0e | |
parent | 71ae18ee52757eb60be50bb2e50bab5e84d0f097 (diff) | |
download | guix-86cdfc451bad61faa66f100208c95f3275050957.tar guix-86cdfc451bad61faa66f100208c95f3275050957.tar.gz |
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.
-rw-r--r-- | guix/scripts/download.scm | 3 | ||||
-rw-r--r-- | 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 b81295e5d9..6ebc14f573 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 7af6f181f6..6283772c48 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 <ludo@gnu.org> +# Copyright © 2012, 2015 Ludovic Courtès <ludo@gnu.org> # # 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 |