def testRemoveBugLabel(self): bug_label_patterns.AddBugLabelPattern('foo', '*/*/foo') bug_label_patterns.AddBugLabelPattern('bar', '*/*/bar') bug_label_patterns.AddBugLabelPattern('bar', '*/*/bar-extra') bug_label_patterns.RemoveBugLabel('bar') self.assertEqual({'foo': ['*/*/foo']}, bug_label_patterns.GetBugLabelPatterns())
def _AddTestToStubDataStore(self): """Adds a test which will be used in the methods below.""" bug_label_patterns.AddBugLabelPattern('label1', '*/*/dromaeo/dom') bug_label_patterns.AddBugLabelPattern('label2', '*/*/other/test') testing_common.AddTests( ['ChromiumPerf'], ['Win7'], {'dromaeo': {'dom': {}}}) test = utils.TestKey('ChromiumPerf/Win7/dromaeo/dom').get() test.improvement_direction = anomaly.DOWN return test
def testAddBugLabelPattern(self): bug_label_patterns.AddBugLabelPattern('foo', '*/*/foo') bug_label_patterns.AddBugLabelPattern('bar', '*/*/bar') bug_label_patterns.AddBugLabelPattern('bar', '*/*/bar-extra') self.assertEqual( 1, len(bug_label_patterns.BugLabelPatterns.query().fetch())) self.assertEqual( {'foo': ['*/*/foo'], 'bar': ['*/*/bar', '*/*/bar-extra']}, bug_label_patterns.GetBugLabelPatterns())
def testGetBugLabelsForTest(self): bug_label_patterns.AddBugLabelPattern('foo', '*/*/foo') bug_label_patterns.AddBugLabelPattern('f-prefix', '*/*/f*') testing_common.AddTests(['M'], ['b'], {'foo': {}, 'bar': {}}) foo_test = utils.TestKey('M/b/foo').get() bar_test = utils.TestKey('M/b/bar').get() self.assertEqual(['f-prefix', 'foo'], bug_label_patterns.GetBugLabelsForTest(foo_test)) self.assertEqual([], bug_label_patterns.GetBugLabelsForTest(bar_test))
def testGet_SetsBugLabelsComponents(self): self.SetCurrentUser('*****@*****.**') alert_keys = self._AddSampleAlerts() bug_label_patterns.AddBugLabelPattern('label1-foo', '*/*/*/first_paint') bug_label_patterns.AddBugLabelPattern('Cr-Performance-Blink', '*/*/*/mean_frame_time') response = self.testapp.get( '/file_bug?summary=s&description=d&keys=%s,%s' % (alert_keys[0].urlsafe(), alert_keys[1].urlsafe())) self.assertIn('label1-foo', response.body) self.assertIn('Performance>Blink', response.body)
def _AddTestToStubDataStore(self): """Adds a test which will be used in the methods below.""" bug_label_patterns.AddBugLabelPattern('label1', '*/*/dromaeo/dom') bug_label_patterns.AddBugLabelPattern('label2', '*/*/other/test') testing_common.AddTests( ['ChromiumPerf'], ['Win7'], {'dromaeo': {'dom': {}}}) test = utils.TestKey('ChromiumPerf/Win7/dromaeo/dom').get() test.improvement_direction = anomaly.DOWN sheriff.Sheriff( id='Chromium Perf Sheriff', url=_SHERIFF_URL, email=_SHERIFF_EMAIL, labels=['Performance-Sheriff']).put() return test
def testGet_SheriffWithSummary_EmailsInternalOnly(self): self._AddFourNewAlertsWithSummaryForOnlyTwo(internal_only=True) bug_label_patterns.AddBugLabelPattern('label1', '*/*/*/first_paint') self.testapp.get('/email_summary?internal_only=1') messages = self.mail_stub.get_sent_messages() self.assertEqual(1, len(messages)) self.assertEqual( 'Chromium Perf Sheriff: 2 anomalies found at 9995:10010.', messages[0].subject) self.assertEqual('*****@*****.**', messages[0].sender) self.assertEqual('*****@*****.**', messages[0].to) html = str(messages[0].html) self.assertIn('2 total performance regressions were found', html)
def _AddBuglabelPattern(self): """Adds a bug label to be added to a group of tests. Request parameters: buglabel_to_add: The bug label, which is a BugLabelPattern entity name. pattern: A test path pattern. """ label = self.request.get('buglabel_to_add') pattern = self.request.get('pattern') bug_label_patterns.AddBugLabelPattern(label, pattern) self.RenderHtml('result.html', { 'headline': 'Added label %s' % label, 'results': [{'name': 'Pattern', 'value': pattern}] })
def testGet_SheriffWithSummary(self): self._AddFourNewAlertsWithSummaryForOnlyTwo() bug_label_patterns.AddBugLabelPattern('label1', '*/*/*/first_paint') self.testapp.get('/email_summary') messages = self.mail_stub.get_sent_messages() self.assertEqual(1, len(messages)) self.assertEqual( 'Chromium Perf Sheriff: 2 anomalies found at 9995:10010.', messages[0].subject) self.assertEqual('*****@*****.**', messages[0].sender) self.assertEqual('*****@*****.**', messages[0].to) html = str(messages[0].html) self.assertIn('2 Total Anomalies', html) self.assertIn('A <b>100.0%</b> regression', html) self.assertNotIn('A <b>50.0%</b> regression', html) self.assertIn( 'labels=Type-Bug-Regression,Pri-2,Performance-Sheriff\'', html) self.assertIn( 'labels=Type-Bug-Regression,Pri-2,Performance-Sheriff,label1\'', html)
def testGet_SheriffWithSummary_DoesntEmailInternalOnly(self): self._AddFourNewAlertsWithSummaryForOnlyTwo(internal_only=True) bug_label_patterns.AddBugLabelPattern('label1', '*/*/*/first_paint') self.testapp.get('/email_summary') messages = self.mail_stub.get_sent_messages() self.assertEqual(0, len(messages))