Add --print_test_command to print actual test command (#95)
diff --git a/gtest_parallel.py b/gtest_parallel.py index cd72a38..aa88b14 100755 --- a/gtest_parallel.py +++ b/gtest_parallel.py
@@ -355,17 +355,23 @@ for task in tasks: shutil.move(task.log_file, destination_dir) - def print_tests(self, message, tasks, print_try_number): + def print_tests(self, message, tasks, print_try_number, print_test_command): self.out.permanent_line("%s (%s/%s):" % (message, len(tasks), self.total_tasks)) for task in sorted(tasks): runtime_ms = 'Interrupted' if task.runtime_ms is not None: runtime_ms = '%d ms' % task.runtime_ms - self.out.permanent_line( - "%11s: %s %s%s" % - (runtime_ms, task.test_binary, task.test_name, - (" (try #%d)" % task.execution_number) if print_try_number else "")) + if print_test_command: + self.out.permanent_line( + "%11s: %s%s" % + (runtime_ms, " ".join(task.test_command), + (" (try #%d)" % task.execution_number) if print_try_number else "")) + else: + self.out.permanent_line( + "%11s: %s %s%s" % + (runtime_ms, task.test_binary, task.test_name, + (" (try #%d)" % task.execution_number) if print_try_number else "")) def log_exit(self, task): with self.stdout_lock: @@ -795,6 +801,11 @@ action='store_true', default=False, help='list the run time of each test at the end of execution') + parser.add_option( + '--print_test_command', + action='store_true', + default=False, + help='Print full test command instead of name') parser.add_option('--shard_count', type='int', default=1, @@ -906,19 +917,19 @@ if task_manager.passed: logger.move_to('passed', task_manager.passed) if options.print_test_times: - logger.print_tests('PASSED TESTS', task_manager.passed, print_try_number) + logger.print_tests('PASSED TESTS', task_manager.passed, print_try_number, options.print_test_command) if task_manager.failed: - logger.print_tests('FAILED TESTS', task_manager.failed, print_try_number) + logger.print_tests('FAILED TESTS', task_manager.failed, print_try_number, options.print_test_command) logger.move_to('failed', task_manager.failed) if task_manager.timed_out: - logger.print_tests('TIMED OUT TESTS', task_manager.timed_out, print_try_number) + logger.print_tests('TIMED OUT TESTS', task_manager.timed_out, print_try_number, options.print_test_command) logger.move_to('timed_out', task_manager.timed_out) if task_manager.started: logger.print_tests('INTERRUPTED TESTS', task_manager.started.values(), - print_try_number) + print_try_number, options.print_test_command) logger.move_to('interrupted', task_manager.started.values()) if options.repeat > 1 and (task_manager.failed or task_manager.started):