| 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)
|
|
|