add proxy for the first part and try to develop the second part
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
import argparse
|
||||
|
||||
from . import filelist_from_patterns
|
||||
from .parproc import processing_loop
|
||||
|
||||
|
||||
def parallel_test_run(parse, options):
|
||||
def pysearch(pattern):
|
||||
if pattern.endswith('.py'):
|
||||
return pattern
|
||||
else:
|
||||
if not pattern.endswith('/'):
|
||||
pattern += '/'
|
||||
if '**' not in pattern:
|
||||
pattern += '**/'
|
||||
return pattern + '*.py'
|
||||
|
||||
try:
|
||||
patterns = [pysearch(p) for p in options.patterns]
|
||||
filenames = filelist_from_patterns(
|
||||
patterns, sizesort=options.sort, ignore=options.ignore,
|
||||
)
|
||||
|
||||
kwargs = vars(options)
|
||||
kwargs.pop('patterns', None)
|
||||
kwargs.pop('sort', None)
|
||||
kwargs.pop('ignore', None)
|
||||
parallel = not kwargs.pop('serial', False)
|
||||
|
||||
return processing_loop(parse, filenames, parallel=parallel, **kwargs)
|
||||
|
||||
except KeyboardInterrupt:
|
||||
if options.verbose:
|
||||
raise
|
||||
|
||||
|
||||
def parse_args():
|
||||
argparser = argparse.ArgumentParser(
|
||||
prog=__package__,
|
||||
# description=DESCRIPTION,
|
||||
add_help=False,
|
||||
)
|
||||
|
||||
argparser.add_argument(
|
||||
'patterns', nargs='+', metavar='PATTERNS', help='filename patterns',
|
||||
)
|
||||
argparser.add_argument(
|
||||
'--help', '-h', help='show this help message and exit', action='help',
|
||||
)
|
||||
argparser.add_argument(
|
||||
'--ignore',
|
||||
'-i',
|
||||
metavar='PATTERN',
|
||||
help='ignore these patterns',
|
||||
action='append',
|
||||
)
|
||||
argparser.add_argument(
|
||||
'--sort', '-s', help='sort files by size', action='store_true',
|
||||
)
|
||||
argparser.add_argument(
|
||||
'--serial', '-S', help='do not run in parallel', action='store_true',
|
||||
)
|
||||
argparser.add_argument(
|
||||
'--trace',
|
||||
'-t',
|
||||
help='produce verbose output for a parse',
|
||||
action='store_true',
|
||||
)
|
||||
argparser.add_argument(
|
||||
'--verbose',
|
||||
'-v',
|
||||
help='output exceptions as they happen',
|
||||
action='store_true',
|
||||
)
|
||||
argparser.add_argument(
|
||||
'--exitfirst',
|
||||
'-x',
|
||||
help='output exceptions as they happen',
|
||||
action='store_true',
|
||||
)
|
||||
return argparser.parse_args()
|
||||
|
||||
|
||||
def generic_main(parse):
|
||||
return parallel_test_run(parse, parse_args())
|
||||
Reference in New Issue
Block a user