51 lines
1.8 KiB
Python
51 lines
1.8 KiB
Python
"""Unit tests for the resmokelib.testing.suite module."""
|
|
|
|
import unittest
|
|
|
|
from mock import MagicMock
|
|
|
|
from buildscripts.resmokelib.testing import suite as under_test
|
|
from buildscripts.resmokelib.testing.testcases.interface import TestCase
|
|
|
|
|
|
class TestNumTimesToRepeatTests(unittest.TestCase):
|
|
def setUp(self):
|
|
self.default_repeat_tests = under_test._config.REPEAT_TESTS
|
|
self.suite = under_test.Suite("suite_name", {"test_kind": "js_test"})
|
|
|
|
def tearDown(self):
|
|
under_test._config.REPEAT_TESTS = self.default_repeat_tests
|
|
|
|
def test_without_num_repeat_tests(self):
|
|
expected_num_repeat_tests = 1
|
|
num_repeat_tests = self.suite.get_num_times_to_repeat_tests()
|
|
self.assertEqual(num_repeat_tests, expected_num_repeat_tests)
|
|
|
|
def test_with_num_repeat_tests(self):
|
|
expected_num_repeat_tests = 5
|
|
under_test._config.REPEAT_TESTS = expected_num_repeat_tests
|
|
num_repeat_tests = self.suite.get_num_times_to_repeat_tests()
|
|
self.assertEqual(num_repeat_tests, expected_num_repeat_tests)
|
|
|
|
|
|
class TestNumJobsToStart(unittest.TestCase):
|
|
def setUp(self):
|
|
self.default_repeat_tests = under_test._config.REPEAT_TESTS
|
|
self.default_num_jobs = under_test._config.JOBS
|
|
|
|
self.suite = under_test.Suite("suite_name", {"test_kind": "js_test"})
|
|
self.suite._tests = []
|
|
self.num_tests = 5
|
|
for _ in range(self.num_tests):
|
|
self.suite._tests.append(MagicMock(TestCase))
|
|
|
|
def tearDown(self):
|
|
under_test._config.REPEAT_TESTS = self.default_repeat_tests
|
|
under_test._config.JOBS = self.default_num_jobs
|
|
|
|
def test_num_tests_gte_num_jobs(self):
|
|
num_repeat = 2
|
|
under_test._config.JOBS = 100
|
|
under_test._config.REPEAT_TESTS = num_repeat
|
|
self.assertEqual(self.num_tests * num_repeat, self.suite.get_num_jobs_to_start())
|