def testStringDifferentPageMerging(self): page0 = self.pages[0] page1 = self.pages[1] v0 = string.StringValue(page0, 'x', 'label', 'L1') v1 = string.StringValue(page1, 'x', 'label', 'L2') vM = string.StringValue.MergeLikeValuesFromDifferentPages([v0, v1]) self.assertEquals(None, vM.page) self.assertEquals('x', vM.name) self.assertEquals('label', vM.units) self.assertEquals(True, vM.important) self.assertEquals(['L1', 'L2'], vM.values)
def testStringSamePageMerging(self): page0 = self.pages[0] v0 = string.StringValue(page0, 'x', 'label', 'L1') v1 = string.StringValue(page0, 'x', 'label', 'L2') self.assertTrue(v1.IsMergableWith(v0)) vM = string.StringValue.MergeLikeValuesFromSamePage([v0, v1]) self.assertEquals(page0, vM.page) self.assertEquals('x', vM.name) self.assertEquals('label', vM.units) self.assertEquals(True, vM.important) self.assertEquals(['L1', 'L2'], vM.values)
def testBuildbotValueType(self): page0 = self.pages[0] v = string.StringValue(page0, 'x', 'label', 'L1', important=True) self.assertEquals('default', v.GetBuildbotDataType( value.COMPUTED_PER_PAGE_SUMMARY_OUTPUT_CONTEXT)) self.assertEquals(['L1'], v.GetBuildbotValue()) self.assertEquals(('x', page0.display_name), v.GetBuildbotMeasurementAndTraceNameForPerPageResult()) v = string.StringValue(page0, 'x', 'label', 'L1', important=False) self.assertEquals( 'unimportant', v.GetBuildbotDataType(value.COMPUTED_PER_PAGE_SUMMARY_OUTPUT_CONTEXT))
def testStringWithNoneValueMerging(self): page0 = self.pages[0] v0 = string.StringValue(page0, 'x', 'unit', 'L1') v1 = string.StringValue(page0, 'x', 'unit', None, none_value_reason='n') self.assertTrue(v1.IsMergableWith(v0)) vM = string.StringValue.MergeLikeValuesFromSamePage([v0, v1]) self.assertEquals(None, vM.values) self.assertEquals(none_values.MERGE_FAILURE_REASON, vM.none_value_reason)
def ValidateAndMeasurePage(self, page, tab, results): # This value should be discarded on the first run when the # browser crashed. results.AddValue( string.StringValue(page, 'test', 't', str(self.has_crashed))) if not self.has_crashed: self.has_crashed = True raise exceptions.BrowserGoneException(tab.browser)
def testNoneValueAsDict(self): v = string.StringValue(None, 'x', 'unit', None, important=False, none_value_reason='n') d = v.AsDictWithoutBaseClassEntries() self.assertEquals(d, {'value': None, 'none_value_reason': 'n'})
def ValidateAndMeasurePage(self, page, tab, results): """ Collect all possible metrics and added them to results. """ trace_result = tab.browser.platform.tracing_controller.Stop() trace_dir = self.options.trace_dir if trace_dir: trace_file_path = util.GetSequentialFileName( os.path.join(trace_dir, 'trace')) + '.json' try: with open(trace_file_path, 'w') as f: trace_result.Serialize(f) results.AddValue(string_value_module.StringValue( page, 'trace_path', 'string', trace_file_path)) except IOError, e: logging.error('Cannot open %s. %s' % (trace_file_path, e))
def ValidateAndMeasurePage(self, page, _, results): results.AddValue(string.StringValue(page, 'test', 't', page.url))
def RunPage(self, page, _, results): results.AddValue( string.StringValue(page, 'test', 't', page.name))
def testAsDict(self): v = string.StringValue(None, 'x', 'unit', 'foo', important=False) d = v.AsDictWithoutBaseClassEntries() self.assertEquals(d, {'value': 'foo'})
def testStringWithNoneReasonMustHaveNoneValue(self): page0 = self.pages[0] self.assertRaises( none_values.ValueMustHaveNoneValue, lambda: string.StringValue( page0, 'x', 'unit', 'L1', none_value_reason='n'))
def testStringWithNoneValueMustHaveNoneReason(self): page0 = self.pages[0] self.assertRaises(none_values.NoneValueMissingReason, lambda: string.StringValue(page0, 'x', 'unit', None))