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.
This commit is contained in:
Ludovic Courtès 2015-11-23 17:37:29 +01:00
parent 71ae18ee52
commit 86cdfc451b
2 changed files with 8 additions and 1 deletions

View File

@ -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))

View File

@ -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