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

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

Issue 2230103002: [Findit] Pipeline change to save suspected cls to data store. (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@0808-resubmit-suspected_cl_model
Patch Set: . Created 4 years, 4 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/waterfall/test/suspected_cl_util_test.py
diff --git a/appengine/findit/waterfall/test/suspected_cl_util_test.py b/appengine/findit/waterfall/test/suspected_cl_util_test.py
new file mode 100644
index 0000000000000000000000000000000000000000..1d819c7e511949f46b1d6c5c6176d238228788d3
--- /dev/null
+++ b/appengine/findit/waterfall/test/suspected_cl_util_test.py
@@ -0,0 +1,110 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+from common.waterfall import failure_type
+from model import analysis_approach_type
+from model.wf_suspected_cl import WfSuspectedCL
+from waterfall import suspected_cl_util
+from waterfall.test import wf_testcase
+
+
+class SuspectedCLUtilTest(wf_testcase.WaterfallTestCase):
+
+ def testCreateWfSuspectedCL(self):
+ approach = analysis_approach_type.HEURISTIC
+ master_name = 'm'
+ builder_name = 'b'
+ build_number = 123
+ compile_failure_type = failure_type.COMPILE
+ repo_name = 'chromium'
+ revision = 'r1'
+ commit_position = 1
+
+ self.assertIsNone(WfSuspectedCL.Get(repo_name, revision))
+
+ suspected_cl_util.UpdateSuspectedCL(
+ approach, master_name, builder_name, build_number, compile_failure_type,
+ repo_name, revision, commit_position)
+
+ suspected_cl = WfSuspectedCL.Get(repo_name, revision)
+
+ self.assertIsNotNone(suspected_cl)
+ self.assertEqual(analysis_approach_type.HEURISTIC, suspected_cl.approach)
+ self.assertEqual(compile_failure_type, suspected_cl.failure_type)
+ self.assertEqual([[master_name, builder_name, build_number]],
+ suspected_cl.builds)
+
+ def testUpdateWfSuspectedCL(self):
+ approach = analysis_approach_type.HEURISTIC
+ master_name = 'm'
+ builder_name = 'b'
+ build_number = 122
+ test_failure_type = failure_type.TEST
+ repo_name = 'chromium'
+ revision = 'r2'
+ commit_position = 2
+
+ suspected_cl = WfSuspectedCL.Create(repo_name, revision, commit_position)
+ suspected_cl.approach = analysis_approach_type.TRY_JOB
+ suspected_cl.builds.append(['m', 'b1', 100])
+ suspected_cl.failure_type = test_failure_type
+ suspected_cl.put()
+
+ suspected_cl_util.UpdateSuspectedCL(
+ approach, master_name, builder_name, build_number, test_failure_type,
+ repo_name, revision, commit_position)
+
+ suspected_cl = WfSuspectedCL.Get(repo_name, revision)
+
+ self.assertIsNotNone(suspected_cl)
+ self.assertEqual(analysis_approach_type.BOTH, suspected_cl.approach)
+ self.assertEqual(test_failure_type, suspected_cl.failure_type)
+ self.assertEqual(
+ [['m', 'b1', 100], [master_name, builder_name, build_number]],
+ suspected_cl.builds)
+
+ def testUpdateWfSuspectedCLAddAnotherHeuristic(self):
+ approach = analysis_approach_type.HEURISTIC
+ master_name = 'm'
+ builder_name = 'b'
+ build_number = 122
+ test_failure_type = failure_type.TEST
+ repo_name = 'chromium'
+ revision = 'r2'
+ commit_position = 2
+
+ suspected_cl = WfSuspectedCL.Create(repo_name, revision, commit_position)
+ suspected_cl.approach = analysis_approach_type.HEURISTIC
+ suspected_cl.put()
+
+ suspected_cl_util.UpdateSuspectedCL(
+ approach, master_name, builder_name, build_number, test_failure_type,
+ repo_name, revision, commit_position)
+
+ suspected_cl = WfSuspectedCL.Get(repo_name, revision)
+
+ self.assertEqual(analysis_approach_type.HEURISTIC, suspected_cl.approach)
+
+ def testUpdateWfSuspectedCLRerun(self):
+ approach = analysis_approach_type.HEURISTIC
+ master_name = 'm'
+ builder_name = 'b'
+ build_number = 122
+ test_failure_type = failure_type.TEST
+ repo_name = 'chromium'
+ revision = 'r2'
+ commit_position = 2
+
+ suspected_cl = WfSuspectedCL.Create(repo_name, revision, commit_position)
+ suspected_cl.builds = [[master_name, builder_name, build_number]]
+ suspected_cl.put()
+
+ suspected_cl_util.UpdateSuspectedCL(
+ approach, master_name, builder_name, build_number, test_failure_type,
+ repo_name, revision, commit_position)
+
+ suspected_cl = WfSuspectedCL.Get(repo_name, revision)
+
+ self.assertEqual([[master_name, builder_name, build_number]],
+ suspected_cl.builds)

Powered by Google App Engine
This is Rietveld 408576698