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

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

Issue 2086113004: [Findit] Show build analysis references in UI for Findit Cross-platform auto-triage (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@build-matching
Patch Set: Merged with ("rebased" on) Issue 2029873002's code. Other changes. Created 4 years, 6 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/triage_analysis_test.py
diff --git a/appengine/findit/handlers/test/triage_analysis_test.py b/appengine/findit/handlers/test/triage_analysis_test.py
index cfb0ccbe8633dbfac65d2a865101af940be57930..e4729cf718cb286fbacc00ad3b21a3be11cab1c7 100644
--- a/appengine/findit/handlers/test/triage_analysis_test.py
+++ b/appengine/findit/handlers/test/triage_analysis_test.py
@@ -5,10 +5,8 @@
from datetime import datetime
from datetime import timedelta
-from google.appengine.ext import ndb
-import webapp2
-
from testing_utils import testing
lijeffrey 2016/06/27 20:38:22 I think you can leave this one where it was even t
josiahk 2016/06/28 22:59:23 Kept per conversation.
+import webapp2
from handlers import triage_analysis
from model import analysis_status
@@ -136,7 +134,9 @@ class TriageAnalysisTest(testing.AppengineTestCase):
'/triage-analysis',
params={'url': build_url, 'correct': True, 'format': 'json'})
self.assertEquals(200, response.status_int)
- self.assertEquals({'success': True}, response.json_body)
+ self.assertEquals(
+ {'success': True, 'num_duplicate_analyses': 0},
lijeffrey 2016/06/27 20:38:22 nit: put each field on a new line, same with the o
josiahk 2016/06/28 22:59:23 Done! Thanks!
+ response.json_body)
def testIncompleteTriage(self):
build_url = buildbot.CreateBuildUrl(
@@ -145,7 +145,20 @@ class TriageAnalysisTest(testing.AppengineTestCase):
'/triage-analysis',
params={'url': build_url, 'correct': True, 'format': 'json'})
self.assertEquals(200, response.status_int)
- self.assertEquals({'success': False}, response.json_body)
+ self.assertEquals(
+ {'success': False, 'num_duplicate_analyses': 0},
+ response.json_body)
+
+ def testDuplicatePropertyWorksWhenNotDuplicate(self):
lijeffrey 2016/06/27 20:38:22 nit: you can name this testDuplicatePropertyNoDup
josiahk 2016/06/28 22:59:23 Thanks!
+ analysis = WfAnalysis.Get(
+ self.master_name, self.builder_name, self.build_number_found)
+ self.assertFalse(analysis.is_duplicate)
+
+ def testDuplicatePropertyWorksWhenDuplicate(self):
+ analysis = WfAnalysis.Get(
+ self.master_name, self.builder_name, self.build_number_found)
+ analysis.result_status = result_status.FOUND_CORRECT_DUPLICATE
+ self.assertTrue(analysis.is_duplicate)
def testAnalysesMatch(self):
analysis_with_empty_failures = WfAnalysis.Create(
@@ -364,11 +377,7 @@ class TriageAnalysisTest(testing.AppengineTestCase):
analysis.result = {
'failures': [
{
- 'suspected_cls': [
- {
- 'revision': 'abc',
- }
- ],
+ 'suspected_cls': self.suspected_cls,
'step_name': 'step_4',
}
]
@@ -376,6 +385,7 @@ class TriageAnalysisTest(testing.AppengineTestCase):
analysis.result_status = result_status.FOUND_UNTRIAGED
analysis.build_start_time = build_start_time
analysis.status = analysis_status.COMPLETED
+ analysis.suspected_cls = self.suspected_cls
analysis.put()
return analysis
@@ -447,7 +457,7 @@ class TriageAnalysisTest(testing.AppengineTestCase):
self.assertEquals(
len(triage_analysis._GetDuplicateAnalyses(analysis_original)), 0)
- def testTriageDuplicateResults(self):
+ def testTriageDuplicateResultsFoundCorrectDuplicate(self):
# Two days ago, UTC Noon.
original_time = (datetime.utcnow() - timedelta(days=2)).replace(
hour=12, minute=0, second=0, microsecond=0)
@@ -456,10 +466,25 @@ class TriageAnalysisTest(testing.AppengineTestCase):
# Create another analysis at the same time (also two days ago).
self._createAnalysis(311, original_time)
- triage_analysis._TriageDuplicateResults(analysis_original, True)
+ triage_analysis._TriageDuplicateResults(analysis_original, is_correct=True)
second_analysis = WfAnalysis.Get(self.master_name, self.builder_name, 311)
- self.assertEquals(result_status.NOT_FOUND_CORRECT,
+ self.assertEquals(result_status.FOUND_CORRECT_DUPLICATE,
second_analysis.result_status)
+ def testTriageDuplicateResultsFoundIncorrectDuplicate(self):
+ # Two days ago, UTC Noon.
+ original_time = (datetime.utcnow() - timedelta(days=2)).replace(
+ hour=12, minute=0, second=0, microsecond=0)
+ analysis_original = self._createAnalysis(312, original_time)
+
+ # Create another analysis at the same time (also two days ago).
+ self._createAnalysis(313, original_time)
lijeffrey 2016/06/27 20:38:22 why not make the second analysis a slightly later
josiahk 2016/06/28 22:59:23 Done!
+
+ triage_analysis._TriageDuplicateResults(analysis_original, is_correct=False)
+
+ second_analysis = WfAnalysis.Get(self.master_name, self.builder_name, 313)
+
+ self.assertEquals(result_status.FOUND_INCORRECT_DUPLICATE,
+ second_analysis.result_status)

Powered by Google App Engine
This is Rietveld 408576698