From 4074506151df97b973784f14ce7206c18c10fe60 Mon Sep 17 00:00:00 2001 From: Gary Wong Date: Mon, 17 Dec 2012 15:27:04 -0700 Subject: [PATCH] Bug fix: improve error-handling with GENI test script options. createimage.py: Properly document the mandatory and optional parameters in the help message. test-common.py: Use gnu_getopt instead of getopt. That way, options are interpreted anywhere on the command line, instead of before non-option parameters only. --- protogeni/test/createimage.py | 21 +++++++++++++++++++++ protogeni/test/test-common.py | 12 ++++++------ 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/protogeni/test/createimage.py b/protogeni/test/createimage.py index 9a2c82f98..3a9442566 100755 --- a/protogeni/test/createimage.py +++ b/protogeni/test/createimage.py @@ -39,6 +39,27 @@ import re ACCEPTSLICENAME=1 +def Usage(): + print "usage: " + sys.argv[ 0 ] + " [option...] imagename sliver-urn [global]" + print """Options: + -c file, --credentials=file read self-credentials from file + [default: query from SA] + -d, --debug be verbose about XML methods invoked + -f file, --certificate=file read SSL certificate from file + [default: ~/.ssl/encrypted.pem] + -h, --help show options and usage + -l uri, --sa=uri specify uri of slice authority + [default: local] + -m uri, --cm=uri specify uri of component manager + [default: local] + -n name, --slicename=name specify human-readable name of slice + [default: mytestslice] + -p file, --passphrase=file read passphrase from file + [default: ~/.ssl/password] + -r file, --read-commands=file specify additional configuration file + -s file, --slicecredentials=file read slice credentials from file + [default: query from SA]""" + debug = 0 impotent = 1 doglobal = 1 diff --git a/protogeni/test/test-common.py b/protogeni/test/test-common.py index 0e80f0d53..0febf467d 100755 --- a/protogeni/test/test-common.py +++ b/protogeni/test/test-common.py @@ -84,12 +84,12 @@ if "Usage" not in dir(): [default: query from SA]""" try: - opts, REQARGS = getopt.getopt( sys.argv[ 1: ], "a:c:df:hl:m:n:p:r:s:", - [ "admincredentials=", "credentials=", - "debug", "certificate=", - "help", "sa=", "cm=", "slicename=", - "passphrase=", "read-commands=", - "slicecredentials=", "delete" ] ) + opts, REQARGS = getopt.gnu_getopt( sys.argv[ 1: ], "a:c:df:hl:m:n:p:r:s:", + [ "admincredentials=", "credentials=", + "debug", "certificate=", + "help", "sa=", "cm=", "slicename=", + "passphrase=", "read-commands=", + "slicecredentials=", "delete" ] ) except getopt.GetoptError, err: print >> sys.stderr, str( err ) Usage() -- GitLab