Fix tests
diff --git a/gtest_parallel.py b/gtest_parallel.py index aa88b14..ac29114 100755 --- a/gtest_parallel.py +++ b/gtest_parallel.py
@@ -363,9 +363,13 @@ if task.runtime_ms is not None: runtime_ms = '%d ms' % task.runtime_ms if print_test_command: + try: + cmd_str = " ".join(task.test_command) + except TypeError: + cmd_str = task.test_command self.out.permanent_line( "%11s: %s%s" % - (runtime_ms, " ".join(task.test_command), + (runtime_ms, cmd_str, (" (try #%d)" % task.execution_number) if print_try_number else "")) else: self.out.permanent_line(
diff --git a/gtest_parallel_mocks.py b/gtest_parallel_mocks.py index e4822bb..d229e63 100644 --- a/gtest_parallel_mocks.py +++ b/gtest_parallel_mocks.py
@@ -96,7 +96,7 @@ def register_exit(self, task): self.started.pop(task.task_id) - def run_task(self, task): + def run_task(self, task, timeout_per_test): self.__register_start(task) test_group = task.test_name.split('.')[0] @@ -152,7 +152,7 @@ self.test_name = test_id[1] self.task_id = (test_id[0], test_id[1], execution_number) - def run(self): + def run(self, timeout_per_test): pass
diff --git a/gtest_parallel_tests.py b/gtest_parallel_tests.py index df26943..6613d72 100755 --- a/gtest_parallel_tests.py +++ b/gtest_parallel_tests.py
@@ -109,7 +109,7 @@ for test_id, expected in tasks: task = task_mock_factory.get_task(test_id) - task_manager.run_task(task) + task_manager.run_task(task, timeout_per_test=30) expected['execution_number'] = list(range(len(expected['exit_code']))) logger.assertRecorded(test_id, expected, retries + 1) @@ -227,7 +227,7 @@ class TestSerializeTestCases(unittest.TestCase): def _execute_tasks(self, max_number_of_test_cases, max_number_of_tests_per_test_case, max_number_of_repeats, - max_number_of_workers, serialize_test_cases): + max_number_of_workers, timeout_per_test, serialize_test_cases): tasks = [] for test_case in range(max_number_of_test_cases): for test_name in range(max_number_of_tests_per_test_case): @@ -245,7 +245,7 @@ task_manager = TaskManagerMock() gtest_parallel.execute_tasks(tasks, max_number_of_workers, task_manager, - None, serialize_test_cases) + None, timeout_per_test, serialize_test_cases) self.assertEqual(serialize_test_cases, not task_manager.had_running_parallel_groups) @@ -256,6 +256,7 @@ max_number_of_tests_per_test_case=32, max_number_of_repeats=1, max_number_of_workers=16, + timeout_per_test=30, serialize_test_cases=True) def test_running_parallel_test_cases_with_repeats(self): @@ -263,6 +264,7 @@ max_number_of_tests_per_test_case=32, max_number_of_repeats=4, max_number_of_workers=16, + timeout_per_test=30, serialize_test_cases=True) def test_running_parallel_tests(self): @@ -270,6 +272,7 @@ max_number_of_tests_per_test_case=128, max_number_of_repeats=1, max_number_of_workers=16, + timeout_per_test=30, serialize_test_cases=False) @@ -324,12 +327,14 @@ class TestTimeoutTestCases(unittest.TestCase): def test_task_timeout(self): timeout = 1 + pool_size = 1 + timeout_per_test = 30 task = gtest_parallel.Task('test_binary', 'test_name', ['test_command'], 1, None, 'output_dir') tasks = [task] task_manager = TaskManagerMock() - gtest_parallel.execute_tasks(tasks, 1, task_manager, timeout, True) + gtest_parallel.execute_tasks(tasks, pool_size, task_manager, timeout, timeout_per_test, True) self.assertEqual(1, task_manager.total_tasks_run) self.assertEqual(None, task.exit_code) @@ -400,7 +405,7 @@ self.assertFalse(os.path.isfile(task.log_file)) - task.run() + task.run(timeout_per_test=30) self.assertTrue(os.path.isfile(task.log_file)) self.assertEqual(42, task.exit_code) @@ -414,7 +419,7 @@ self.assertTrue(os.path.isfile(task.log_file)) - task.run() + task.run(timeout_per_test=30) self.assertTrue(os.path.isfile(task.log_file)) self.assertIsNone(task.exit_code) @@ -462,7 +467,7 @@ self.assertFalse(os.path.isfile(passed[0].log_file)) - logger.print_tests('', passed, True) + logger.print_tests('', passed, print_try_number=True, print_test_command=True) logger.move_to(None, passed) logger.summarize(passed, [], []) @@ -488,7 +493,7 @@ self.assertTrue(os.path.isfile(failed[0].log_file)) - logger.print_tests('', failed, True) + logger.print_tests('', failed, print_try_number=True, print_test_command=True) logger.move_to('failed', failed) self.assertFalse(os.path.isfile(failed[0].log_file))