Adding --non-interactive switch to run_tests.py
This commit is contained in:
32
run_tests.py
32
run_tests.py
@@ -55,6 +55,8 @@ parser.add_option('--wrap-exe', dest='wrapexe',
|
|||||||
default="")
|
default="")
|
||||||
parser.add_option('--time', dest='time', help='Enable time output',
|
parser.add_option('--time', dest='time', help='Enable time output',
|
||||||
default=False, action="store_true")
|
default=False, action="store_true")
|
||||||
|
parser.add_option('--non-interactive', dest='non_interactive', help='Disable interactive status updates',
|
||||||
|
default=False, action="store_true")
|
||||||
|
|
||||||
(options, args) = parser.parse_args()
|
(options, args) = parser.parse_args()
|
||||||
|
|
||||||
@@ -162,14 +164,15 @@ total_tests = 0
|
|||||||
# finished. Should be called with the lock held..
|
# finished. Should be called with the lock held..
|
||||||
def update_progress(fn, total_tests_arg, counter, max_test_length_arg):
|
def update_progress(fn, total_tests_arg, counter, max_test_length_arg):
|
||||||
counter.value += 1
|
counter.value += 1
|
||||||
progress_str = " Done %d / %d [%s]" % (counter.value, total_tests_arg, fn)
|
if options.non_interactive == False:
|
||||||
# spaces to clear out detrius from previous printing...
|
progress_str = " Done %d / %d [%s]" % (counter.value, total_tests_arg, fn)
|
||||||
spaces_needed = max_test_length_arg - len(fn)
|
# spaces to clear out detrius from previous printing...
|
||||||
for x in range(spaces_needed):
|
spaces_needed = max_test_length_arg - len(fn)
|
||||||
progress_str += ' '
|
for x in range(spaces_needed):
|
||||||
progress_str += '\r'
|
progress_str += ' '
|
||||||
sys.stdout.write(progress_str)
|
progress_str += '\r'
|
||||||
sys.stdout.flush()
|
sys.stdout.write(progress_str)
|
||||||
|
sys.stdout.flush()
|
||||||
|
|
||||||
def run_command(cmd):
|
def run_command(cmd):
|
||||||
if options.verbose:
|
if options.verbose:
|
||||||
@@ -489,11 +492,8 @@ if __name__ == '__main__':
|
|||||||
# (i.e. return 0 if all is ok)
|
# (i.e. return 0 if all is ok)
|
||||||
for t in task_threads:
|
for t in task_threads:
|
||||||
t.join()
|
t.join()
|
||||||
sys.stdout.write("\n")
|
if options.non_interactive == False:
|
||||||
|
sys.stdout.write("\n")
|
||||||
elapsed_time = time.time() - start_time
|
|
||||||
if options.time:
|
|
||||||
sys.stdout.write("Elapsed time: %d s\n" % elapsed_time)
|
|
||||||
|
|
||||||
while not qret.empty():
|
while not qret.empty():
|
||||||
(c, r, s) = qret.get()
|
(c, r, s) = qret.get()
|
||||||
@@ -501,6 +501,8 @@ if __name__ == '__main__':
|
|||||||
run_error_files += r
|
run_error_files += r
|
||||||
skip_files += s
|
skip_files += s
|
||||||
|
|
||||||
|
if options.non_interactive:
|
||||||
|
sys.stdout.write(" Done %d / %d\n" % (finished_tests_counter.value, total_tests))
|
||||||
if len(skip_files) > 0:
|
if len(skip_files) > 0:
|
||||||
skip_files.sort()
|
skip_files.sort()
|
||||||
sys.stdout.write("%d / %d tests SKIPPED:\n" % (len(skip_files), total_tests))
|
sys.stdout.write("%d / %d tests SKIPPED:\n" % (len(skip_files), total_tests))
|
||||||
@@ -517,4 +519,8 @@ if __name__ == '__main__':
|
|||||||
for f in run_error_files:
|
for f in run_error_files:
|
||||||
sys.stdout.write("\t%s\n" % f)
|
sys.stdout.write("\t%s\n" % f)
|
||||||
|
|
||||||
|
elapsed_time = time.time() - start_time
|
||||||
|
if options.time:
|
||||||
|
sys.stdout.write("Elapsed time: %d s\n" % elapsed_time)
|
||||||
|
|
||||||
sys.exit(len(compile_error_files) + len(run_error_files))
|
sys.exit(len(compile_error_files) + len(run_error_files))
|
||||||
|
|||||||
Reference in New Issue
Block a user