Comments
Patch
@@ -128,17 +128,17 @@ def parselistfiles(files, listtype, warn
for line in f.readlines():
line = line.split('#', 1)[0].strip()
if line:
entries[line] = filename
f.close()
return entries
-def parseargs():
+def parseargs(args):
parser = optparse.OptionParser("%prog [options] [tests]")
# keep these sorted
parser.add_option("--blacklist", action="append",
help="skip tests listed in the specified blacklist file")
parser.add_option("--whitelist", action="append",
help="always run tests listed in the specified whitelist file")
parser.add_option("--changed", type="string",
@@ -205,17 +205,17 @@ def parseargs():
parser.add_option('--extra-config-opt', action="append",
help='set the given config opt in the test hgrc')
parser.add_option('--random', action="store_true",
help='run tests in random order')
for option, (envvar, default) in defaults.items():
defaults[option] = type(default)(os.environ.get(envvar, default))
parser.set_defaults(**defaults)
- (options, args) = parser.parse_args()
+ (options, args) = parser.parse_args(args)
# jython is always pure
if 'java' in sys.platform or '__pypy__' in sys.modules:
options.pure = True
if options.with_hg:
options.with_hg = os.path.expanduser(options.with_hg)
if not (os.path.isfile(options.with_hg) and
@@ -1171,18 +1171,18 @@ def runtests(options, tests):
if failed:
return 1
if warned:
return 80
testtypes = [('.py', pytest, '.out'),
('.t', tsttest, '')]
-def main():
- (options, args) = parseargs()
+def main(args):
+ (options, args) = parseargs(args)
os.umask(022)
checktools()
if not args:
if options.changed:
proc = Popen4('hg st --rev "%s" -man0 .' % options.changed,
None, 0)
@@ -1294,9 +1294,9 @@ def main():
try:
sys.exit(runtests(options, tests) or 0)
finally:
time.sleep(.1)
cleanup(options)
if __name__ == '__main__':
- main()
+ main(sys.argv[1:])