Change the usage() function. Don't print the entire multi-page
docstring when there's a command line syntax error.
diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py
index 58b2c0b..3f9faae 100755
--- a/Lib/test/regrtest.py
+++ b/Lib/test/regrtest.py
@@ -175,10 +175,10 @@
'decimal', 'compiler', 'subprocess', 'urlfetch')
-def usage(code, msg=''):
- print(__doc__)
- if msg: print(msg)
- sys.exit(code)
+def usage(msg):
+ print(msg, file=sys.stderr)
+ print("Use --help for usage", file=sys.stderr)
+ sys.exit(2)
def main(tests=None, testdir=None, verbose=0, quiet=False, generate=False,
@@ -219,14 +219,15 @@
'debug', 'start='
])
except getopt.error as msg:
- usage(2, msg)
+ usage(msg)
# Defaults
if use_resources is None:
use_resources = []
for o, a in opts:
if o in ('-h', '--help'):
- usage(0)
+ print(__doc__)
+ return
elif o in ('-v', '--verbose'):
verbose += 1
elif o in ('-w', '--verbose2'):
@@ -265,7 +266,7 @@
huntrleaks = a.split(':')
if len(huntrleaks) != 3:
print(a, huntrleaks)
- usage(2, '-R takes three colon-separated arguments')
+ usage('-R takes three colon-separated arguments')
if len(huntrleaks[0]) == 0:
huntrleaks[0] = 5
else:
@@ -289,16 +290,16 @@
remove = True
r = r[1:]
if r not in RESOURCE_NAMES:
- usage(1, 'Invalid -u/--use option: ' + a)
+ usage('Invalid -u/--use option: ' + a)
if remove:
if r in use_resources:
use_resources.remove(r)
elif r not in use_resources:
use_resources.append(r)
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:
- usage(2, "-s and -f don't go together!")
+ usage("-s and -f don't go together!")
good = []
bad = []