Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1774)

Unified Diff: appengine/findit/waterfall/test/process_swarming_task_result_pipeline_test.py

Issue 2477343003: [Findit] Refactoring monitor swarming task pipelines (Closed)
Patch Set: Addressing nit Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « appengine/findit/waterfall/test/process_flake_swarming_task_result_pipeline_test.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: appengine/findit/waterfall/test/process_swarming_task_result_pipeline_test.py
diff --git a/appengine/findit/waterfall/test/process_swarming_task_result_pipeline_test.py b/appengine/findit/waterfall/test/process_swarming_task_result_pipeline_test.py
index 3026c133da81221e2cd0f5a437ea159a40ddb53e..64e9a9768e78cbc96ec51a540229b7f660c06462 100644
--- a/appengine/findit/waterfall/test/process_swarming_task_result_pipeline_test.py
+++ b/appengine/findit/waterfall/test/process_swarming_task_result_pipeline_test.py
@@ -6,132 +6,18 @@ import datetime
from model import analysis_status
from model.wf_swarming_task import WfSwarmingTask
-from waterfall import process_swarming_task_result_pipeline
from waterfall import swarming_util
from waterfall.process_swarming_task_result_pipeline import (
ProcessSwarmingTaskResultPipeline)
+from waterfall.test import (
+ process_base_swarming_task_result_pipeline_test as base_test)
from waterfall.test import wf_testcase
-_ISOLATED_SERVER = 'https://isolateserver.appspot.com'
-_ISOLATED_STORAGE_URL = 'isolateserver.storage.googleapis.com'
-_SAMPLE_FAILURE_LOG = {
- 'per_iteration_data': [
- {
- 'TestSuite1.test1': [
- {
- 'status': 'SUCCESS',
- 'other_info': 'N/A'
- }
- ],
- 'TestSuite1.test2': [
- {
- 'status': 'FAILURE',
- 'other_info': 'N/A'
- },
- {
- 'status': 'FAILURE',
- 'other_info': 'N/A'
- },
- {
- 'status': 'SUCCESS',
- 'other_info': 'N/A'
- }
- ],
- 'TestSuite1.test3': [
- {
- 'status': 'FAILURE',
- 'other_info': 'N/A'
- },
- {
- 'status': 'FAILURE',
- 'other_info': 'N/A'
- },
- {
- 'status': 'FAILURE',
- 'other_info': 'N/A'
- }
- ]
- },
- {
- 'TestSuite1.test1': [
- {
- 'status': 'SUCCESS',
- 'other_info': 'N/A'
- }
- ],
- 'TestSuite1.test2': [
- {
- 'status': 'SUCCESS',
- 'other_info': 'N/A'
- }
- ],
- 'TestSuite1.test3': [
- {
- 'status': 'FAILURE',
- 'other_info': 'N/A'
- },
- {
- 'status': 'FAILURE',
- 'other_info': 'N/A'
- },
- {
- 'status': 'FAILURE',
- 'other_info': 'N/A'
- }
- ]
- }
- ]
-}
-_EXPECTED_TESTS_STATUESE = {
- 'TestSuite1.test1': {
- 'total_run': 2,
- 'SUCCESS': 2
- },
- 'TestSuite1.test2': {
- 'total_run': 4,
- 'SUCCESS': 2,
- 'FAILURE': 2
- },
- 'TestSuite1.test3': {
- 'total_run': 6,
- 'FAILURE': 6
- }
-}
-_EXPECTED_CLASSIFIED_TESTS = {
- 'flaky_tests': ['TestSuite1.test2', 'TestSuite1.test1'],
- 'reliable_tests': ['TestSuite1.test3']
-}
-
-
class ProcessSwarmingTaskResultPipelineTest(wf_testcase.WaterfallTestCase):
def _MockedGetSwarmingTaskResultById(self, task_id, _):
- swarming_task_results = {
- 'task_id1': {
- 'state': 'COMPLETED',
- 'exit_code': '1',
- 'tags': [
- 'priority:25',
- 'ref_name:abc_tests'
- ],
- 'outputs_ref': {
- 'isolatedserver': _ISOLATED_SERVER,
- 'namespace': 'default-gzip',
- 'isolated': 'shard1_isolated'
- },
- 'created_ts': '2016-02-10T18:32:06.538220',
- 'started_ts': '2016-02-10T18:32:09.090550',
- 'completed_ts': '2016-02-10T18:33:09'
- },
- 'task_id2': {
- 'state': 'TIMED_OUT',
- 'outputs_ref': None
- }
- }
-
- mocked_result = swarming_task_results[task_id]
- return mocked_result
+ return base_test._SWARMING_TASK_RESULTS[task_id]
def setUp(self):
super(ProcessSwarmingTaskResultPipelineTest, self).setUp()
@@ -142,22 +28,11 @@ class ProcessSwarmingTaskResultPipelineTest(wf_testcase.WaterfallTestCase):
self.mock(swarming_util, 'GetSwarmingTaskResultById',
self._MockedGetSwarmingTaskResultById)
- def testCheckTestsRunStatusesNoOutPutJson(self):
- tests_statuses = (
- process_swarming_task_result_pipeline._CheckTestsRunStatuses(None))
- self.assertEqual({}, tests_statuses)
-
- def testCheckTestsRunStatuses(self):
- tests_statuses = (
- process_swarming_task_result_pipeline._CheckTestsRunStatuses(
- _SAMPLE_FAILURE_LOG))
- self.assertEqual(_EXPECTED_TESTS_STATUESE, tests_statuses)
-
def _MockedGetSwarmingTaskFailureLog(self, *_):
- return _SAMPLE_FAILURE_LOG
+ return base_test._SAMPLE_FAILURE_LOG
def testProcessSwarmingTaskResultPipeline(self):
-
+ # End to end test.
self.mock(swarming_util, 'GetSwarmingTaskFailureLog',
self._MockedGetSwarmingTaskFailureLog)
@@ -174,72 +49,19 @@ class ProcessSwarmingTaskResultPipelineTest(wf_testcase.WaterfallTestCase):
self.assertEqual(self.step_name, step_name)
self.assertEqual('abc_tests', task_info[0])
- self.assertEqual(_EXPECTED_CLASSIFIED_TESTS['reliable_tests'], task_info[1])
+ self.assertEqual(
+ base_test._EXPECTED_CLASSIFIED_TESTS['reliable_tests'], task_info[1])
task = WfSwarmingTask.Get(
self.master_name, self.builder_name, self.build_number, self.step_name)
self.assertEqual(analysis_status.COMPLETED, task.status)
- self.assertEqual(_EXPECTED_TESTS_STATUESE, task.tests_statuses)
- self.assertEqual(_EXPECTED_CLASSIFIED_TESTS, task.classified_tests)
+ self.assertEqual(base_test._EXPECTED_TESTS_STATUS, task.tests_statuses)
+ self.assertEqual(
+ base_test._EXPECTED_CLASSIFIED_TESTS, task.classified_tests)
self.assertEqual(datetime.datetime(2016, 2, 10, 18, 32, 6, 538220),
task.created_time)
self.assertEqual(datetime.datetime(2016, 2, 10, 18, 32, 9, 90550),
task.started_time)
self.assertEqual(datetime.datetime(2016, 2, 10, 18, 33, 9),
task.completed_time)
-
- def testProcessSwarmingTaskResultPipelineTaskNotRunning(self):
-
- task = WfSwarmingTask.Create(
- self.master_name, self.builder_name,
- self.build_number, self.step_name)
- task.task_id = 'task_id2'
- task.put()
-
- pipeline = ProcessSwarmingTaskResultPipeline()
- step_name, task_info = pipeline.run(
- self.master_name, self.builder_name,
- self.build_number, self.step_name)
-
- self.assertEqual(self.step_name, step_name)
- self.assertIsNone(task_info[0])
- self.assertEqual([], task_info[1])
-
- task = WfSwarmingTask.Get(
- self.master_name, self.builder_name, self.build_number, self.step_name)
-
- self.assertEqual(analysis_status.ERROR, task.status)
- self.assertEqual({}, task.tests_statuses)
- self.assertEqual({}, task.classified_tests)
-
- def testProcessSwarmingTaskResultPipelineTaskTimeOut(self):
-
- # Override swarming config settings to force a timeout.
- override_swarming_settings = {
- 'task_timeout_hours': -1
- }
- self.UpdateUnitTestConfigSettings(
- 'swarming_settings', override_swarming_settings)
-
- task = WfSwarmingTask.Create(
- self.master_name, self.builder_name,
- self.build_number, self.step_name)
- task.task_id = 'task_id1'
- task.put()
-
- pipeline = ProcessSwarmingTaskResultPipeline()
- step_name, task_info = pipeline.run(
- self.master_name, self.builder_name,
- self.build_number, self.step_name)
-
- self.assertEqual(self.step_name, step_name)
- self.assertEqual('abc_tests', task_info[0])
- self.assertEqual([], task_info[1])
-
- task = WfSwarmingTask.Get(
- self.master_name, self.builder_name, self.build_number, self.step_name)
-
- self.assertEqual(analysis_status.ERROR, task.status)
- self.assertEqual({}, task.tests_statuses)
- self.assertEqual({}, task.classified_tests)
« no previous file with comments | « appengine/findit/waterfall/test/process_flake_swarming_task_result_pipeline_test.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698