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))