Adding --non-interactive switch to run_tests.py

This commit is contained in:
Dmitry Babokin
2013-08-21 19:25:30 +04:00
parent 0755e4f8ff
commit 60b413a9cb

View File

@@ -55,6 +55,8 @@ parser.add_option('--wrap-exe', dest='wrapexe',
default="")
parser.add_option('--time', dest='time', help='Enable time output',
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()
@@ -162,14 +164,15 @@ total_tests = 0
# finished. Should be called with the lock held..
def update_progress(fn, total_tests_arg, counter, max_test_length_arg):
counter.value += 1
progress_str = " Done %d / %d [%s]" % (counter.value, total_tests_arg, fn)
# spaces to clear out detrius from previous printing...
spaces_needed = max_test_length_arg - len(fn)
for x in range(spaces_needed):
progress_str += ' '
progress_str += '\r'
sys.stdout.write(progress_str)
sys.stdout.flush()
if options.non_interactive == False:
progress_str = " Done %d / %d [%s]" % (counter.value, total_tests_arg, fn)
# spaces to clear out detrius from previous printing...
spaces_needed = max_test_length_arg - len(fn)
for x in range(spaces_needed):
progress_str += ' '
progress_str += '\r'
sys.stdout.write(progress_str)
sys.stdout.flush()
def run_command(cmd):
if options.verbose:
@@ -489,11 +492,8 @@ if __name__ == '__main__':
# (i.e. return 0 if all is ok)
for t in task_threads:
t.join()
sys.stdout.write("\n")
elapsed_time = time.time() - start_time
if options.time:
sys.stdout.write("Elapsed time: %d s\n" % elapsed_time)
if options.non_interactive == False:
sys.stdout.write("\n")
while not qret.empty():
(c, r, s) = qret.get()
@@ -501,6 +501,8 @@ if __name__ == '__main__':
run_error_files += r
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:
skip_files.sort()
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:
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))