Commit 4e7eba7c authored by Guido van Rossum's avatar Guido van Rossum

Change the usage() function. Don't print the entire multi-page

docstring when there's a command line syntax error.
parent f10aa982
...@@ -175,10 +175,10 @@ RESOURCE_NAMES = ('audio', 'curses', 'largefile', 'network', 'bsddb', ...@@ -175,10 +175,10 @@ RESOURCE_NAMES = ('audio', 'curses', 'largefile', 'network', 'bsddb',
'decimal', 'compiler', 'subprocess', 'urlfetch') 'decimal', 'compiler', 'subprocess', 'urlfetch')
def usage(code, msg=''): def usage(msg):
print(__doc__) print(msg, file=sys.stderr)
if msg: print(msg) print("Use --help for usage", file=sys.stderr)
sys.exit(code) sys.exit(2)
def main(tests=None, testdir=None, verbose=0, quiet=False, generate=False, def main(tests=None, testdir=None, verbose=0, quiet=False, generate=False,
...@@ -219,14 +219,15 @@ def main(tests=None, testdir=None, verbose=0, quiet=False, generate=False, ...@@ -219,14 +219,15 @@ def main(tests=None, testdir=None, verbose=0, quiet=False, generate=False,
'debug', 'start=' 'debug', 'start='
]) ])
except getopt.error as msg: except getopt.error as msg:
usage(2, msg) usage(msg)
# Defaults # Defaults
if use_resources is None: if use_resources is None:
use_resources = [] use_resources = []
for o, a in opts: for o, a in opts:
if o in ('-h', '--help'): if o in ('-h', '--help'):
usage(0) print(__doc__)
return
elif o in ('-v', '--verbose'): elif o in ('-v', '--verbose'):
verbose += 1 verbose += 1
elif o in ('-w', '--verbose2'): elif o in ('-w', '--verbose2'):
...@@ -265,7 +266,7 @@ def main(tests=None, testdir=None, verbose=0, quiet=False, generate=False, ...@@ -265,7 +266,7 @@ def main(tests=None, testdir=None, verbose=0, quiet=False, generate=False,
huntrleaks = a.split(':') huntrleaks = a.split(':')
if len(huntrleaks) != 3: if len(huntrleaks) != 3:
print(a, huntrleaks) print(a, huntrleaks)
usage(2, '-R takes three colon-separated arguments') usage('-R takes three colon-separated arguments')
if len(huntrleaks[0]) == 0: if len(huntrleaks[0]) == 0:
huntrleaks[0] = 5 huntrleaks[0] = 5
else: else:
...@@ -289,16 +290,16 @@ def main(tests=None, testdir=None, verbose=0, quiet=False, generate=False, ...@@ -289,16 +290,16 @@ def main(tests=None, testdir=None, verbose=0, quiet=False, generate=False,
remove = True remove = True
r = r[1:] r = r[1:]
if r not in RESOURCE_NAMES: if r not in RESOURCE_NAMES:
usage(1, 'Invalid -u/--use option: ' + a) usage('Invalid -u/--use option: ' + a)
if remove: if remove:
if r in use_resources: if r in use_resources:
use_resources.remove(r) use_resources.remove(r)
elif r not in use_resources: elif r not in use_resources:
use_resources.append(r) use_resources.append(r)
if generate and verbose: if generate and verbose:
usage(2, "-g and -v don't go together!") usage("-g and -v don't go together!")
if single and fromfile: if single and fromfile:
usage(2, "-s and -f don't go together!") usage("-s and -f don't go together!")
good = [] good = []
bad = [] bad = []
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment