~ruther/guix-local

3b9c00208868a75e6b77445fcd33d82536448bb2 — Ludovic Courtès 13 years ago 313b901
guix-package: Error out when passed a non-option argument.

* guix-package.in (guix-package)[parse-options]: Call `leave' when
  passed a non-option argument.
  Reported by Andreas Enge <andreas@enge.fr>.
* tests/guix-package.sh: Add test.
2 files changed, 4 insertions(+), 1 deletions(-)

M guix-package.in
M tests/guix-package.sh
M guix-package.in => guix-package.in +1 -1
@@ 326,7 326,7 @@ Install, remove, or upgrade PACKAGES in a single transaction.\n"))
               (lambda (opt name arg result)
                 (leave (_ "~A: unrecognized option~%") name))
               (lambda (arg result)
                 (alist-cons 'argument arg result))
                 (leave (_ "~A: extraneous argument~%") arg))
               %default-options))

  (define (guile-missing?)

M tests/guix-package.sh => tests/guix-package.sh +3 -0
@@ 139,3 139,6 @@ fi
# Failed attempt to roll back.
if guix-package --bootstrap --roll-back;
then false; else true; fi

# Extraneous argument.
! guix-package install foo-bar