Lines Matching refs:suite
33 from autotest_lib.server.cros.dynamic_suite import suite as SuiteBase
37 from autotest_lib.server.cros.dynamic_suite.suite import RetryHandler
38 from autotest_lib.server.cros.dynamic_suite.suite import Suite
42 """Unit tests for dynamic_suite Suite class.
45 @var _TAG: fake suite tag
105 @param suite_name: The suite name to parse control files for.
140 @param suite_name: The suite name to parse control files for.
167 predicate = lambda d: d.suite == self._TAG
199 look for all control files with the suite attribute.
204 predicate = lambda t: hasattr(t, 'suite')
214 predicate = lambda d: d.suite == self._TAG
246 """Should be able to schedule an ad-hoc suite by specifying
251 suite = Suite.create_from_predicates([predicate], self._BUILDS,
256 self.assertFalse(self.files['one'] in suite.tests)
257 self.assertFalse(self.files['two'] in suite.tests)
258 self.assertFalse(self.files['four'] in suite.tests)
259 self.assertTrue(self.files['five'] in suite.tests)
279 raises=False, suite_deps=[], suite=None,
288 @param suite_deps: If True, add suite level dependencies.
291 record_job_id = suite and suite._results_dir
293 self.mox.StubOutWithMock(suite, '_remember_job_keyval')
311 'suite': self._TAG,
349 suite._remember_job_keyval(fake_job)
363 suite = Suite.create_from_name(self._TAG, self._BUILDS, self._BOARD,
369 self.expect_job_scheduling(recorder, suite=suite)
374 suite.schedule(recorder.record_entry)
375 for job in suite._jobs:
394 suite = Suite.create_from_name(self._TAG, self._BUILDS, self._BOARD,
397 suite.schedule(recorder.record_entry)
415 suite = Suite.create_from_name(self._TAG, self._BUILDS, self._BOARD,
419 suite.schedule(recorder.record_entry)
436 suite = Suite.create_from_name(self._TAG, self._BUILDS, self._BOARD,
439 suite.schedule(recorder.record_entry)
470 suite = Suite.create_from_name(self._TAG, self._BUILDS, self._BOARD,
474 suite.schedule(recorder.record_entry)
476 self.assertEqual(expected_retry_map, suite._retry_handler._retry_map)
480 """Test suite max retries."""
493 suite = Suite.create_from_name(self._TAG, self._BUILDS, self._BOARD,
497 suite.schedule(recorder.record_entry)
498 self.assertEqual(suite._retry_handler._max_retries, 1)
500 job_id = suite._retry_handler._retry_map.iterkeys().next()
501 suite._retry_handler.add_retry(old_job_id=job_id, new_job_id=10)
502 self.assertEqual(suite._retry_handler._max_retries, 0)
506 """Should add suite dependencies to tests scheduled."""
520 suite = Suite.create_from_name(self._TAG, self._BUILDS, self._BOARD,
523 suite.schedule(recorder.record_entry)
549 suite = Suite.create_from_name(self._TAG, self._BUILDS, self._BOARD,
553 suite.schedule(recorder.record_entry)
557 """Create a Suite, using mocked tests and control file contents.
559 @return Suite object, after mocking out behavior needed to create it.
564 suite = Suite.create_from_name(
577 return suite
581 """Create a suite, returned a set of mocked results to expect.
588 self.suite = self._createSuiteWithMockedTestsAndControlFiles(
590 self.suite._results_dir = results_dir
624 def schedule_and_expect_these_results(self, suite, results, recorder):
625 """Create mox stubs for call to suite.schedule and
628 @param suite: suite object for which to stub out schedule(...)
648 self.mox.StubOutWithMock(suite, 'schedule')
649 suite.schedule(recorder.record_entry)
650 suite._retry_handler = RetryHandler({})
661 suite = self._createSuiteWithMockedTestsAndControlFiles()
667 self.schedule_and_expect_these_results(suite, results, recorder)
670 suite.schedule(recorder.record_entry)
671 suite.wait(recorder.record_entry)
676 suite = self._createSuiteWithMockedTestsAndControlFiles()
683 self.mox.StubOutWithMock(suite, 'schedule')
684 suite.schedule(recorder.record_entry)
691 suite.schedule(recorder.record_entry)
692 suite.wait(recorder.record_entry)
697 suite = self._createSuiteWithMockedTestsAndControlFiles()
708 self.mox.StubOutWithMock(suite._job_creator, 'create_job')
709 suite._job_creator.create_job(
714 suite.schedule(recorder.record_entry)
715 suite.wait(recorder.record_entry)
760 self.suite,
763 self.mox.StubOutWithMock(self.suite._job_creator, 'create_job')
764 self.suite._job_creator.create_job(
768 self.suite.schedule(self.recorder.record_entry)
769 self.suite._retry_handler._retry_map = {
773 self.suite._jobs_to_tests[self._FAKE_JOB_ID] = test_to_retry
774 self.suite.wait(self.recorder.record_entry)
782 self.assertEquals(self.suite._retry_handler._retry_map,
785 self.assertEquals(self.suite._jobs_to_tests[fake_new_job_id],
795 self.suite,
799 self.suite.schedule(self.recorder.record_entry)
800 self.suite._retry_handler._retry_map = {
804 self.suite._jobs_to_tests[self._FAKE_JOB_ID] = test_to_retry
805 expected_jobs_to_tests = self.suite._jobs_to_tests.copy()
806 expected_retry_map = self.suite._retry_handler._retry_map.copy()
807 self.suite.wait(self.recorder.record_entry)
810 self.assertEquals(self.suite._retry_handler._retry_map,
812 self.assertEquals(self.suite._jobs_to_tests, expected_jobs_to_tests)
816 """Make sure the suite survives even if the retry failed."""
822 self.suite,
825 self.mox.StubOutWithMock(self.suite._job_creator, 'create_job')
826 self.suite._job_creator.create_job(
830 self.mox.StubOutWithMock(self.suite, '_should_report')
831 self.suite._should_report(mox.IgnoreArg()).AndReturn(False)
835 self.suite.schedule(self.recorder.record_entry)
836 self.suite._retry_handler._retry_map = {
840 self.suite._jobs_to_tests[self._FAKE_JOB_ID] = test_to_retry
841 self.suite.wait(self.recorder.record_entry)
846 expected_jobs_to_tests = self.suite._jobs_to_tests.copy()
847 self.assertEquals(self.suite._retry_handler._retry_map,
849 self.assertEquals(self.suite._jobs_to_tests, expected_jobs_to_tests)