Index: testing/tools/run_corpus_tests.py |
diff --git a/testing/tools/run_corpus_tests.py b/testing/tools/run_corpus_tests.py |
index b6cbff75377fe696575847d9aac080f64e429b9f..29f23b504a5caefbbf2903e23308b48888809a09 100755 |
--- a/testing/tools/run_corpus_tests.py |
+++ b/testing/tools/run_corpus_tests.py |
@@ -104,14 +104,25 @@ def main(): |
walk_from_dir = finder.TestingDir('corpus'); |
input_file_re = re.compile('^[a-zA-Z0-9_.]+[.]pdf$') |
test_cases = [] |
- for source_dir, _, filename_list in os.walk(walk_from_dir): |
- for input_filename in filename_list: |
- if input_file_re.match(input_filename): |
- input_path = os.path.join(source_dir, input_filename) |
- if os.path.isfile(input_path): |
- test_cases.append((input_filename, source_dir)) |
- if options.num_workers > 1: |
+ if len(args): |
+ for file_name in args: |
+ input_path = os.path.join(walk_from_dir, file_name) |
+ if not os.path.isfile(input_path): |
+ print "Can't find test file '%s'" % file_name |
+ return 1 |
+ |
+ test_cases.append((os.path.basename(input_path), |
+ os.path.dirname(input_path))) |
+ else: |
+ for source_dir, _, filename_list in os.walk(walk_from_dir): |
+ for input_filename in filename_list: |
+ if input_file_re.match(input_filename): |
+ input_path = os.path.join(source_dir, input_filename) |
+ if os.path.isfile(input_path): |
+ test_cases.append((input_filename, source_dir)) |
+ |
+ if options.num_workers > 1 and len(test_cases) > 1: |
try: |
pool = multiprocessing.Pool(options.num_workers) |
worker_func = functools.partial(test_one_file_parallel, working_dir, |