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

Unified Diff: appengine/findit/handlers/test/build_failure_test.py

Issue 2361583002: [Findit] UI change and triage change for cl level trige. (Closed)
Patch Set: rebase Created 4 years, 3 months 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
Index: appengine/findit/handlers/test/build_failure_test.py
diff --git a/appengine/findit/handlers/test/build_failure_test.py b/appengine/findit/handlers/test/build_failure_test.py
index e6936903ff1f8d41e453c4f696a12ed294695db0..9d36f6468a9f3e80e86bfe9b60503dfdba00c427 100644
--- a/appengine/findit/handlers/test/build_failure_test.py
+++ b/appengine/findit/handlers/test/build_failure_test.py
@@ -13,10 +13,12 @@ import webtest
from handlers import build_failure
from handlers import handlers_util
from handlers import result_status
-from model.wf_analysis import WfAnalysis
-from model.wf_try_job import WfTryJob
+from model import analysis_approach_type
from model import analysis_status
+from model import suspected_cl_status
from model.wf_analysis import WfAnalysis
+from model.wf_suspected_cl import WfSuspectedCL
+from model.wf_try_job import WfTryJob
from waterfall import buildbot
from waterfall.test import wf_testcase
@@ -139,15 +141,41 @@ class BuildFailureTest(wf_testcase.WaterfallTestCase):
]
self.assertIsNone(build_failure._GetTriageHistory(analysis))
+ def testGetCLDict(self):
+ analysis = WfAnalysis.Create('m', 'b', 1)
+ analysis.suspected_cls = [
+ {
+ 'repo_name': 'chromium',
+ 'revision': 'rev2',
+ 'url': 'url',
+ 'commit_position': 123
+ }
+ ]
+ analysis.put()
+ cl_info = 'chromium/rev1'
+ self.assertIsNone(build_failure._GetCLDict(analysis, cl_info))
+
+ def testGetCLDictNone(self):
+ self.assertIsNone(build_failure._GetCLDict(None, None))
+
def testGetTriageHistoryWhenUserIsAdmin(self):
analysis = WfAnalysis.Create('m', 'b', 1)
analysis.status = analysis_status.COMPLETED
+ analysis.suspected_cls = [
+ {
+ 'repo_name': 'chromium',
+ 'revision': 'rev1',
+ 'url': 'url',
+ 'commit_position': 123
+ }
+ ]
analysis.triage_history = [
{
'triage_timestamp': 1438380761,
'user_name': 'test',
'result_status': 'dummy status',
'version': 'dummy version',
+ 'triaged_cl': 'chromium/rev1'
}
]
self.mock_current_user(user_email='test@chromium.org', is_admin=True)
@@ -171,6 +199,14 @@ class BuildFailureTest(wf_testcase.WaterfallTestCase):
analysis = WfAnalysis.Create(master_name, builder_name, build_number)
analysis.status = analysis_status.COMPLETED
+ analysis.suspected_cls = [
+ {
+ 'repo_name': 'chromium',
+ 'revision': 'r99_2',
+ 'commit_position': None,
+ 'url': None,
+ }
+ ]
analysis.put()
response = self.test_app.get('/build-failure',
@@ -737,6 +773,14 @@ class BuildFailureTest(wf_testcase.WaterfallTestCase):
'compile': 'm/b/122',
}
analysis.status = analysis_status.COMPLETED
+ analysis.suspected_cls = [
+ {
+ 'repo_name': 'chromium',
+ 'revision': 'rev',
+ 'commit_position': 122,
+ 'url': None
+ }
+ ]
analysis.put()
try_job = WfTryJob.Create('m', 'b', 122)
@@ -753,6 +797,19 @@ class BuildFailureTest(wf_testcase.WaterfallTestCase):
]
try_job.put()
+ suspected_cl = WfSuspectedCL.Create('chromium', 'rev', 122)
+ suspected_cl.builds = {
+ 'm/b/123': {
+ 'failure_type': 'compile',
+ 'failures': None,
+ 'status': suspected_cl_status.CORRECT,
+ 'approach': analysis_approach_type.HEURISTIC,
+ 'top_score': 5,
+ 'Confidence': 97.9
+ }
+ }
+ suspected_cl.put()
+
expected_try_job_result = {
'status': 'completed',
'url': 'build/url',
@@ -763,9 +820,64 @@ class BuildFailureTest(wf_testcase.WaterfallTestCase):
'failed': False,
}
+ expected_suspected_cls = [
+ {
+ 'repo_name': 'chromium',
+ 'revision': 'rev',
+ 'commit_position': 122,
+ 'url': None,
+ 'status': suspected_cl_status.CORRECT
+ }
+ ]
+
build_url = buildbot.CreateBuildUrl('m', 'b', 123)
response = self.test_app.get('/build-failure',
params={'url': build_url, 'format': 'json'})
self.assertEquals(200, response.status_int)
self.assertEqual(expected_try_job_result, response.json_body['try_job'])
+ self.assertEqual(
+ expected_suspected_cls, response.json_body['suspected_cls'])
+
+ def testGetAllSuspectedCLsAndCheckStatus(self):
+ master_name = 'm'
+ builder_name = 'b'
+ build_number = 123
+ analysis = WfAnalysis.Create(master_name, builder_name, build_number)
+ analysis.suspected_cls = [
+ {
+ 'repo_name': 'chromium',
+ 'revision': 'rev',
+ 'commit_position': 122,
+ 'url': None
+ }
+ ]
+ analysis.put()
+ suspected_cl = WfSuspectedCL.Create('chromium', 'rev', 122)
+ suspected_cl.builds = {
+ 'm/b/122': {
+ 'failure_type': 'compile',
+ 'failures': None,
+ 'status': suspected_cl_status.CORRECT,
+ 'approach': analysis_approach_type.HEURISTIC,
+ 'top_score': 5,
+ 'Confidence': 97.9
+ }
+ }
+ suspected_cl.put()
+
+ expected_suspected_cls = [
+ {
+ 'repo_name': 'chromium',
+ 'revision': 'rev',
+ 'commit_position': 122,
+ 'url': None,
+ 'status': None
+ }
+ ]
+
+ suspected_cls = build_failure._GetAllSuspectedCLsAndCheckStatus(
+ master_name, builder_name, build_number, analysis)
+ self.assertEqual(
+ expected_suspected_cls, suspected_cls)
+

Powered by Google App Engine
This is Rietveld 408576698