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

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: . Created 4 years, 2 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 9a016f4afc9db342022fb2667d8c44f4907e24a5..f1d9fc812aaada2a98db7951e3b4a9b29295ddfc 100644
--- a/appengine/findit/handlers/test/build_failure_test.py
+++ b/appengine/findit/handlers/test/build_failure_test.py
@@ -13,11 +13,13 @@ import webtest
from handlers import build_failure
from handlers import handlers_util
from handlers import result_status
+from model import analysis_approach_type
+from model import analysis_status
+from model import suspected_cl_status
from model.base_build_model import BaseBuildModel
from model.wf_analysis import WfAnalysis
+from model.wf_suspected_cl import WfSuspectedCL
from model.wf_try_job import WfTryJob
-from model import analysis_status
-from model.wf_analysis import WfAnalysis
from waterfall import buildbot
from waterfall.test import wf_testcase
@@ -141,15 +143,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.assertEqual({}, build_failure._GetCLDict(analysis, cl_info))
+
+ def testGetCLDictNone(self):
+ self.assertEqual({}, 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)
@@ -173,6 +201,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',
@@ -739,6 +775,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)
@@ -755,6 +799,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',
@@ -765,9 +822,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)
+
« no previous file with comments | « appengine/findit/handlers/build_failure.py ('k') | appengine/findit/handlers/test/triage_suspected_cl_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698