| Index: tools/telemetry/telemetry/page/buildbot_page_measurement_results_unittest.py
 | 
| diff --git a/tools/telemetry/telemetry/page/buildbot_page_measurement_results_unittest.py b/tools/telemetry/telemetry/page/buildbot_page_measurement_results_unittest.py
 | 
| index 6854eda8ab36aa0b29d6d6bcb019089235a81f7b..a8f6bf9773ffc28e744655580d4fca2f5e300718 100644
 | 
| --- a/tools/telemetry/telemetry/page/buildbot_page_measurement_results_unittest.py
 | 
| +++ b/tools/telemetry/telemetry/page/buildbot_page_measurement_results_unittest.py
 | 
| @@ -30,6 +30,39 @@ class SummarySavingPageMeasurementResults(
 | 
|      self.results.append(res)
 | 
|  
 | 
|  class BuildbotPageMeasurementResultsTest(unittest.TestCase):
 | 
| +  def assertEquals(self, ex, res):
 | 
| +    # This helps diagnose result mismatches.
 | 
| +    if ex != res and isinstance(ex, list):
 | 
| +      def CleanList(l):
 | 
| +        res = []
 | 
| +        for x in l:
 | 
| +          x = x.split('\n')
 | 
| +          res.extend(x)
 | 
| +        return res
 | 
| +      ex = CleanList(ex)
 | 
| +      res = CleanList(res)
 | 
| +      max_len = max(len(ex), len(res))
 | 
| +      max_width  = max([len(x) for x in ex + res])
 | 
| +      max_width = max(10, max_width)
 | 
| +      print "Lists differ!"
 | 
| +      print '%*s | %*s' % (max_width, 'expected', max_width, 'result')
 | 
| +      for i in range(max_len):
 | 
| +        if i < len(ex):
 | 
| +          e = ex[i]
 | 
| +        else:
 | 
| +          e = ''
 | 
| +        if i < len(res):
 | 
| +          r = res[i]
 | 
| +        else:
 | 
| +          r = ''
 | 
| +        if e != r:
 | 
| +          sep = '*'
 | 
| +        else:
 | 
| +          sep = '|'
 | 
| +        print '%*s %s %*s' % (max_width, e, sep, max_width, r)
 | 
| +      print ""
 | 
| +    super(BuildbotPageMeasurementResultsTest, self).assertEquals(ex, res)
 | 
| +
 | 
|    def test_basic_summary(self):
 | 
|      test_page_set = _MakePageSet()
 | 
|  
 | 
| @@ -37,21 +70,23 @@ class BuildbotPageMeasurementResultsTest(unittest.TestCase):
 | 
|      measurement_results.WillMeasurePage(test_page_set.pages[0])
 | 
|      measurement_results.Add('a', 'seconds', 3)
 | 
|      measurement_results.DidMeasurePage()
 | 
| +    measurement_results.AddSuccess(test_page_set.pages[0])
 | 
|  
 | 
|      measurement_results.WillMeasurePage(test_page_set.pages[1])
 | 
|      measurement_results.Add('a', 'seconds', 7)
 | 
|      measurement_results.DidMeasurePage()
 | 
| +    measurement_results.AddSuccess(test_page_set.pages[1])
 | 
|  
 | 
|      measurement_results.PrintSummary()
 | 
| -    expected = ['RESULT a_by_url: http___www.foo.com_= 3 seconds',
 | 
| -                'RESULT a_by_url: http___www.bar.com_= 7 seconds',
 | 
| +    expected = ['RESULT a_by_url: http___www.bar.com_= 7 seconds',
 | 
| +                'RESULT a_by_url: http___www.foo.com_= 3 seconds',
 | 
|                  '*RESULT a: a= [3,7] seconds\nAvg a: 5.000000seconds\n' +
 | 
|                      'Sd  a: 2.828427seconds',
 | 
|                  'RESULT telemetry_page_measurement_results: ' +
 | 
|                      'num_failed= 0 count',
 | 
|                  'RESULT telemetry_page_measurement_results: ' +
 | 
|                      'num_errored= 0 count']
 | 
| -    self.assertEquals(measurement_results.results, expected)
 | 
| +    self.assertEquals(expected, measurement_results.results)
 | 
|  
 | 
|    def test_basic_summary_nonuniform_results(self):
 | 
|      test_page_set = _MakePageSet()
 | 
| @@ -61,31 +96,34 @@ class BuildbotPageMeasurementResultsTest(unittest.TestCase):
 | 
|      measurement_results.Add('a', 'seconds', 3)
 | 
|      measurement_results.Add('b', 'seconds', 10)
 | 
|      measurement_results.DidMeasurePage()
 | 
| +    measurement_results.AddSuccess(test_page_set.pages[0])
 | 
|  
 | 
|      measurement_results.WillMeasurePage(test_page_set.pages[1])
 | 
|      measurement_results.Add('a', 'seconds', 3)
 | 
|      measurement_results.Add('b', 'seconds', 10)
 | 
|      measurement_results.DidMeasurePage()
 | 
| +    measurement_results.AddSuccess(test_page_set.pages[1])
 | 
|  
 | 
|      measurement_results.WillMeasurePage(test_page_set.pages[2])
 | 
|      measurement_results.Add('a', 'seconds', 7)
 | 
|      # Note, page[2] does not report a 'b' metric.
 | 
|      measurement_results.DidMeasurePage()
 | 
| +    measurement_results.AddSuccess(test_page_set.pages[2])
 | 
|  
 | 
|      measurement_results.PrintSummary()
 | 
| -    expected = ['RESULT a_by_url: http___www.foo.com_= 3 seconds',
 | 
| -                'RESULT a_by_url: http___www.bar.com_= 3 seconds',
 | 
| +    expected = ['RESULT a_by_url: http___www.bar.com_= 3 seconds',
 | 
|                  'RESULT a_by_url: http___www.baz.com_= 7 seconds',
 | 
| +                'RESULT a_by_url: http___www.foo.com_= 3 seconds',
 | 
|                  '*RESULT a: a= [3,3,7] seconds\nAvg a: 4.333333seconds\n' +
 | 
|                      'Sd  a: 2.309401seconds',
 | 
| -                'RESULT b_by_url: http___www.foo.com_= 10 seconds',
 | 
|                  'RESULT b_by_url: http___www.bar.com_= 10 seconds',
 | 
| +                'RESULT b_by_url: http___www.foo.com_= 10 seconds',
 | 
|                  '*RESULT b: b= [10,10] seconds\nAvg b: 10.000000seconds',
 | 
|                  'RESULT telemetry_page_measurement_results: ' +
 | 
|                      'num_failed= 0 count',
 | 
|                  'RESULT telemetry_page_measurement_results: ' +
 | 
|                      'num_errored= 0 count']
 | 
| -    self.assertEquals(measurement_results.results, expected)
 | 
| +    self.assertEquals(expected, measurement_results.results)
 | 
|  
 | 
|    def test_basic_summary_pass_and_fail_page(self):
 | 
|      """If a page failed, only print summary for individual passing pages."""
 | 
| @@ -100,6 +138,7 @@ class BuildbotPageMeasurementResultsTest(unittest.TestCase):
 | 
|      measurement_results.WillMeasurePage(test_page_set.pages[1])
 | 
|      measurement_results.Add('a', 'seconds', 7)
 | 
|      measurement_results.DidMeasurePage()
 | 
| +    measurement_results.AddSuccess(test_page_set.pages[1])
 | 
|  
 | 
|      measurement_results.PrintSummary()
 | 
|      expected = ['RESULT a_by_url: http___www.bar.com_= 7 seconds',
 | 
| @@ -107,7 +146,7 @@ class BuildbotPageMeasurementResultsTest(unittest.TestCase):
 | 
|                      'num_failed= 1 count',
 | 
|                  'RESULT telemetry_page_measurement_results: ' +
 | 
|                      'num_errored= 0 count']
 | 
| -    self.assertEquals(measurement_results.results, expected)
 | 
| +    self.assertEquals(expected, measurement_results.results)
 | 
|  
 | 
|    def test_repeated_pageset_one_iteration_one_page_fails(self):
 | 
|      """Page fails on one iteration, no results for that page should print."""
 | 
| @@ -117,6 +156,7 @@ class BuildbotPageMeasurementResultsTest(unittest.TestCase):
 | 
|      measurement_results.WillMeasurePage(test_page_set.pages[0])
 | 
|      measurement_results.Add('a', 'seconds', 3)
 | 
|      measurement_results.DidMeasurePage()
 | 
| +    measurement_results.AddSuccess(test_page_set.pages[0])
 | 
|  
 | 
|      measurement_results.WillMeasurePage(test_page_set.pages[1])
 | 
|      measurement_results.Add('a', 'seconds', 7)
 | 
| @@ -126,10 +166,12 @@ class BuildbotPageMeasurementResultsTest(unittest.TestCase):
 | 
|      measurement_results.WillMeasurePage(test_page_set.pages[0])
 | 
|      measurement_results.Add('a', 'seconds', 4)
 | 
|      measurement_results.DidMeasurePage()
 | 
| +    measurement_results.AddSuccess(test_page_set.pages[0])
 | 
|  
 | 
|      measurement_results.WillMeasurePage(test_page_set.pages[1])
 | 
|      measurement_results.Add('a', 'seconds', 8)
 | 
|      measurement_results.DidMeasurePage()
 | 
| +    measurement_results.AddSuccess(test_page_set.pages[1])
 | 
|  
 | 
|      measurement_results.PrintSummary()
 | 
|      expected = ['RESULT a_by_url: http___www.foo.com_= [3,4] seconds\n' +
 | 
| @@ -139,7 +181,7 @@ class BuildbotPageMeasurementResultsTest(unittest.TestCase):
 | 
|                      'num_failed= 1 count',
 | 
|                  'RESULT telemetry_page_measurement_results: ' +
 | 
|                      'num_errored= 0 count']
 | 
| -    self.assertEquals(measurement_results.results, expected)
 | 
| +    self.assertEquals(expected, measurement_results.results)
 | 
|  
 | 
|    def test_repeated_pageset_one_iteration_one_page_error(self):
 | 
|      """Page error on one iteration, no results for that page should print."""
 | 
| @@ -149,6 +191,7 @@ class BuildbotPageMeasurementResultsTest(unittest.TestCase):
 | 
|      measurement_results.WillMeasurePage(test_page_set.pages[0])
 | 
|      measurement_results.Add('a', 'seconds', 3)
 | 
|      measurement_results.DidMeasurePage()
 | 
| +    measurement_results.AddSuccess(test_page_set.pages[0])
 | 
|  
 | 
|      measurement_results.WillMeasurePage(test_page_set.pages[1])
 | 
|      measurement_results.Add('a', 'seconds', 7)
 | 
| @@ -158,10 +201,12 @@ class BuildbotPageMeasurementResultsTest(unittest.TestCase):
 | 
|      measurement_results.WillMeasurePage(test_page_set.pages[0])
 | 
|      measurement_results.Add('a', 'seconds', 4)
 | 
|      measurement_results.DidMeasurePage()
 | 
| +    measurement_results.AddSuccess(test_page_set.pages[0])
 | 
|  
 | 
|      measurement_results.WillMeasurePage(test_page_set.pages[1])
 | 
|      measurement_results.Add('a', 'seconds', 8)
 | 
|      measurement_results.DidMeasurePage()
 | 
| +    measurement_results.AddSuccess(test_page_set.pages[1])
 | 
|  
 | 
|      measurement_results.PrintSummary()
 | 
|      expected = ['RESULT a_by_url: http___www.foo.com_= [3,4] seconds\n' +
 | 
| @@ -171,7 +216,7 @@ class BuildbotPageMeasurementResultsTest(unittest.TestCase):
 | 
|                      'num_failed= 0 count',
 | 
|                  'RESULT telemetry_page_measurement_results:' +
 | 
|                      ' num_errored= 1 count']
 | 
| -    self.assertEquals(measurement_results.results, expected)
 | 
| +    self.assertEquals(expected, measurement_results.results)
 | 
|  
 | 
|    def test_repeated_pageset(self):
 | 
|      test_page_set = _MakePageSet()
 | 
| @@ -180,26 +225,30 @@ class BuildbotPageMeasurementResultsTest(unittest.TestCase):
 | 
|      measurement_results.WillMeasurePage(test_page_set.pages[0])
 | 
|      measurement_results.Add('a', 'seconds', 3)
 | 
|      measurement_results.DidMeasurePage()
 | 
| +    measurement_results.AddSuccess(test_page_set.pages[0])
 | 
|  
 | 
|      measurement_results.WillMeasurePage(test_page_set.pages[1])
 | 
|      measurement_results.Add('a', 'seconds', 7)
 | 
|      measurement_results.DidMeasurePage()
 | 
| +    measurement_results.AddSuccess(test_page_set.pages[1])
 | 
|  
 | 
|      measurement_results.WillMeasurePage(test_page_set.pages[0])
 | 
|      measurement_results.Add('a', 'seconds', 4)
 | 
|      measurement_results.DidMeasurePage()
 | 
| +    measurement_results.AddSuccess(test_page_set.pages[0])
 | 
|  
 | 
|      measurement_results.WillMeasurePage(test_page_set.pages[1])
 | 
|      measurement_results.Add('a', 'seconds', 8)
 | 
|      measurement_results.DidMeasurePage()
 | 
| +    measurement_results.AddSuccess(test_page_set.pages[1])
 | 
|  
 | 
|      measurement_results.PrintSummary()
 | 
| -    expected = ['RESULT a_by_url: http___www.foo.com_= [3,4] seconds\n' +
 | 
| -                    'Avg a_by_url: 3.500000seconds\n' +
 | 
| -                    'Sd  a_by_url: 0.707107seconds',
 | 
| -                'RESULT a_by_url: http___www.bar.com_= [7,8] seconds\n' +
 | 
| +    expected = ['RESULT a_by_url: http___www.bar.com_= [7,8] seconds\n' +
 | 
|                      'Avg a_by_url: 7.500000seconds\n' +
 | 
|                      'Sd  a_by_url: 0.707107seconds',
 | 
| +                'RESULT a_by_url: http___www.foo.com_= [3,4] seconds\n' +
 | 
| +                    'Avg a_by_url: 3.500000seconds\n' +
 | 
| +                    'Sd  a_by_url: 0.707107seconds',
 | 
|                  '*RESULT a: a= [3,7,4,8] seconds\n' +
 | 
|                      'Avg a: 5.500000seconds\n' +
 | 
|                      'Sd  a: 2.380476seconds',
 | 
| @@ -208,9 +257,7 @@ class BuildbotPageMeasurementResultsTest(unittest.TestCase):
 | 
|                  'RESULT telemetry_page_measurement_results: ' +
 | 
|                      'num_errored= 0 count'
 | 
|                  ]
 | 
| -    self.assertEquals(
 | 
| -      measurement_results.results,
 | 
| -      expected)
 | 
| +    self.assertEquals(expected, measurement_results.results)
 | 
|  
 | 
|    def test_repeated_pages(self):
 | 
|      test_page_set = _MakePageSet()
 | 
| @@ -219,26 +266,30 @@ class BuildbotPageMeasurementResultsTest(unittest.TestCase):
 | 
|      measurement_results.WillMeasurePage(test_page_set.pages[0])
 | 
|      measurement_results.Add('a', 'seconds', 3)
 | 
|      measurement_results.DidMeasurePage()
 | 
| +    measurement_results.AddSuccess(test_page_set.pages[0])
 | 
|  
 | 
|      measurement_results.WillMeasurePage(test_page_set.pages[0])
 | 
|      measurement_results.Add('a', 'seconds', 4)
 | 
|      measurement_results.DidMeasurePage()
 | 
| +    measurement_results.AddSuccess(test_page_set.pages[0])
 | 
|  
 | 
|      measurement_results.WillMeasurePage(test_page_set.pages[1])
 | 
|      measurement_results.Add('a', 'seconds', 7)
 | 
|      measurement_results.DidMeasurePage()
 | 
| +    measurement_results.AddSuccess(test_page_set.pages[1])
 | 
|  
 | 
|      measurement_results.WillMeasurePage(test_page_set.pages[1])
 | 
|      measurement_results.Add('a', 'seconds', 8)
 | 
|      measurement_results.DidMeasurePage()
 | 
| +    measurement_results.AddSuccess(test_page_set.pages[1])
 | 
|  
 | 
|      measurement_results.PrintSummary()
 | 
| -    expected = ['RESULT a_by_url: http___www.foo.com_= [3,4] seconds\n' +
 | 
| -                    'Avg a_by_url: 3.500000seconds\n' +
 | 
| -                    'Sd  a_by_url: 0.707107seconds',
 | 
| -                'RESULT a_by_url: http___www.bar.com_= [7,8] seconds\n' +
 | 
| +    expected = ['RESULT a_by_url: http___www.bar.com_= [7,8] seconds\n' +
 | 
|                      'Avg a_by_url: 7.500000seconds\n' +
 | 
|                      'Sd  a_by_url: 0.707107seconds',
 | 
| +                'RESULT a_by_url: http___www.foo.com_= [3,4] seconds\n' +
 | 
| +                    'Avg a_by_url: 3.500000seconds\n' +
 | 
| +                    'Sd  a_by_url: 0.707107seconds',
 | 
|                  '*RESULT a: a= [3,4,7,8] seconds\n' +
 | 
|                      'Avg a: 5.500000seconds\n' +
 | 
|                      'Sd  a: 2.380476seconds',
 | 
| @@ -247,93 +298,155 @@ class BuildbotPageMeasurementResultsTest(unittest.TestCase):
 | 
|                  'RESULT telemetry_page_measurement_results: ' +
 | 
|                      'num_errored= 0 count'
 | 
|                  ]
 | 
| -    self.assertEquals(
 | 
| -      measurement_results.results,
 | 
| -      expected)
 | 
| +    self.assertEquals(expected, measurement_results.results)
 | 
|  
 | 
| -  def test_overall_results(self):
 | 
| +  def test_overall_results_trace_tag(self):
 | 
|      test_page_set = _MakePageSet()
 | 
|  
 | 
| -    measurement_results = SummarySavingPageMeasurementResults()
 | 
| +    measurement_results = SummarySavingPageMeasurementResults(trace_tag='_ref')
 | 
|  
 | 
|      measurement_results.AddSummary('a', 'seconds', 1)
 | 
|  
 | 
|      measurement_results.WillMeasurePage(test_page_set.pages[0])
 | 
|      measurement_results.Add('b', 'seconds', 2)
 | 
|      measurement_results.DidMeasurePage()
 | 
| +    measurement_results.AddSuccess(test_page_set.pages[0])
 | 
|  
 | 
|      measurement_results.WillMeasurePage(test_page_set.pages[1])
 | 
|      measurement_results.Add('b', 'seconds', 3)
 | 
|      measurement_results.DidMeasurePage()
 | 
| +    measurement_results.AddSuccess(test_page_set.pages[1])
 | 
|  
 | 
|      measurement_results.AddSummary('c', 'seconds', 4)
 | 
|  
 | 
|      measurement_results.PrintSummary()
 | 
|  
 | 
| -    self.assertEquals(
 | 
| -        measurement_results.results,
 | 
| -        ['RESULT b_by_url: http___www.foo.com_= 2 seconds',
 | 
| -         'RESULT b_by_url: http___www.bar.com_= 3 seconds',
 | 
| -         '*RESULT b: b= [2,3] seconds\n' +
 | 
| -            'Avg b: 2.500000seconds\nSd  b: 0.707107seconds',
 | 
| -         '*RESULT a: a= 1 seconds',
 | 
| -         '*RESULT c: c= 4 seconds',
 | 
| -         'RESULT telemetry_page_measurement_results: num_failed= 0 count',
 | 
| -         'RESULT telemetry_page_measurement_results: num_errored= 0 count'])
 | 
| +    expected = [
 | 
| +      '*RESULT b: b_ref= [2,3] seconds\n' +
 | 
| +      'Avg b: 2.500000seconds\nSd  b: 0.707107seconds',
 | 
| +      '*RESULT a: a_ref= 1 seconds',
 | 
| +      '*RESULT c: c_ref= 4 seconds',
 | 
| +      'RESULT telemetry_page_measurement_results: num_failed= 0 count',
 | 
| +      'RESULT telemetry_page_measurement_results: num_errored= 0 count']
 | 
| +    self.assertEquals(expected, measurement_results.results)
 | 
|  
 | 
| -  def test_overall_results_trace_tag(self):
 | 
| +
 | 
| +  def test_overall_results_page_runs_twice(self):
 | 
|      test_page_set = _MakePageSet()
 | 
|  
 | 
| -    measurement_results = SummarySavingPageMeasurementResults(trace_tag='_ref')
 | 
| +    measurement_results = SummarySavingPageMeasurementResults()
 | 
|  
 | 
|      measurement_results.AddSummary('a', 'seconds', 1)
 | 
|  
 | 
|      measurement_results.WillMeasurePage(test_page_set.pages[0])
 | 
|      measurement_results.Add('b', 'seconds', 2)
 | 
|      measurement_results.DidMeasurePage()
 | 
| +    measurement_results.AddSuccess(test_page_set.pages[0])
 | 
|  
 | 
| -    measurement_results.WillMeasurePage(test_page_set.pages[1])
 | 
| +    measurement_results.WillMeasurePage(test_page_set.pages[0])
 | 
|      measurement_results.Add('b', 'seconds', 3)
 | 
|      measurement_results.DidMeasurePage()
 | 
| +    measurement_results.AddSuccess(test_page_set.pages[0])
 | 
|  
 | 
| -    measurement_results.AddSummary('c', 'seconds', 4)
 | 
| +    measurement_results.PrintSummary()
 | 
| +
 | 
| +    expected = [
 | 
| +        'RESULT b_by_url: http___www.foo.com_= [2,3] seconds\n' +
 | 
| +            'Avg b_by_url: 2.500000seconds\nSd  b_by_url: 0.707107seconds',
 | 
| +        '*RESULT b: b= [2,3] seconds\n' +
 | 
| +        'Avg b: 2.500000seconds\nSd  b: 0.707107seconds',
 | 
| +        '*RESULT a: a= 1 seconds',
 | 
| +        'RESULT telemetry_page_measurement_results: num_failed= 0 count',
 | 
| +        'RESULT telemetry_page_measurement_results: num_errored= 0 count']
 | 
| +    self.assertEquals(expected, measurement_results.results)
 | 
| +
 | 
| +  def test_unimportant_results(self):
 | 
| +    test_page_set = _MakePageSet()
 | 
| +
 | 
| +    measurement_results = SummarySavingPageMeasurementResults()
 | 
| +
 | 
| +    measurement_results.AddSummary('a', 'seconds', 1, data_type='unimportant')
 | 
| +
 | 
| +    measurement_results.WillMeasurePage(test_page_set.pages[0])
 | 
| +    measurement_results.Add('b', 'seconds', 2, data_type='unimportant')
 | 
| +    measurement_results.DidMeasurePage()
 | 
| +    measurement_results.AddSuccess(test_page_set.pages[0])
 | 
| +
 | 
| +    measurement_results.WillMeasurePage(test_page_set.pages[1])
 | 
| +    measurement_results.Add('b', 'seconds', 3, data_type='unimportant')
 | 
| +    measurement_results.DidMeasurePage()
 | 
| +    measurement_results.AddSuccess(test_page_set.pages[1])
 | 
|  
 | 
|      measurement_results.PrintSummary()
 | 
|  
 | 
|      self.assertEquals(
 | 
|          measurement_results.results,
 | 
| -        ['*RESULT b: b_ref= [2,3] seconds\n' +
 | 
| +        ['RESULT b_by_url: http___www.bar.com_= 3 seconds',
 | 
| +         'RESULT b_by_url: http___www.foo.com_= 2 seconds',
 | 
| +         'RESULT b: b= [2,3] seconds\n' +
 | 
|              'Avg b: 2.500000seconds\nSd  b: 0.707107seconds',
 | 
| -         '*RESULT a: a_ref= 1 seconds',
 | 
| -         '*RESULT c: c_ref= 4 seconds',
 | 
| +         'RESULT a: a= 1 seconds',
 | 
|           'RESULT telemetry_page_measurement_results: num_failed= 0 count',
 | 
|           'RESULT telemetry_page_measurement_results: num_errored= 0 count'])
 | 
|  
 | 
| +  def test_list_value(self):
 | 
| +    test_page_set = _MakePageSet()
 | 
| +
 | 
| +    measurement_results = SummarySavingPageMeasurementResults()
 | 
| +
 | 
| +    measurement_results.AddSummary('a', 'seconds', [1, 1])
 | 
| +
 | 
| +    measurement_results.WillMeasurePage(test_page_set.pages[0])
 | 
| +    measurement_results.Add('b', 'seconds', [2, 2])
 | 
| +    measurement_results.DidMeasurePage()
 | 
| +    measurement_results.AddSuccess(test_page_set.pages[0])
 | 
| +
 | 
| +    measurement_results.WillMeasurePage(test_page_set.pages[1])
 | 
| +    measurement_results.Add('b', 'seconds', [3, 3])
 | 
| +    measurement_results.DidMeasurePage()
 | 
| +    measurement_results.AddSuccess(test_page_set.pages[1])
 | 
| +
 | 
| +    measurement_results.PrintSummary()
 | 
| +
 | 
| +    expected = [
 | 
| +      'RESULT b_by_url: http___www.bar.com_= [3,3] seconds\n' +
 | 
| +          'Avg b_by_url: 3.000000seconds',
 | 
| +      'RESULT b_by_url: http___www.foo.com_= [2,2] seconds\n' +
 | 
| +          'Avg b_by_url: 2.000000seconds',
 | 
| +      '*RESULT b: b= [2,2,3,3] seconds\nAvg b: 2.500000seconds\n' +
 | 
| +          'Sd  b: 0.577350seconds',
 | 
| +      '*RESULT a: a= [1,1] seconds\nAvg a: 1.000000seconds',
 | 
| +      'RESULT telemetry_page_measurement_results: num_failed= 0 count',
 | 
| +      'RESULT telemetry_page_measurement_results: num_errored= 0 count']
 | 
| +    self.assertEquals(expected, measurement_results.results)
 | 
| +
 | 
|    def test_histogram(self):
 | 
|      test_page_set = _MakePageSet()
 | 
|  
 | 
|      measurement_results = SummarySavingPageMeasurementResults()
 | 
|      measurement_results.WillMeasurePage(test_page_set.pages[0])
 | 
|      measurement_results.Add('a', 'units',
 | 
| -                          '{"buckets": [{"low": 1, "high": 2, "count": 1}]}',
 | 
| -                          data_type='histogram')
 | 
| +                            '{"buckets": [{"low": 1, "high": 2, "count": 1}]}',
 | 
| +                            data_type='unimportant-histogram')
 | 
|      measurement_results.DidMeasurePage()
 | 
| +    measurement_results.AddSuccess(test_page_set.pages[0])
 | 
|  
 | 
|      measurement_results.WillMeasurePage(test_page_set.pages[1])
 | 
|      measurement_results.Add('a', 'units',
 | 
|                            '{"buckets": [{"low": 2, "high": 3, "count": 1}]}',
 | 
| -                          data_type='histogram')
 | 
| +                          data_type='unimportant-histogram')
 | 
|      measurement_results.DidMeasurePage()
 | 
| +    measurement_results.AddSuccess(test_page_set.pages[1])
 | 
|  
 | 
|      measurement_results.PrintSummary()
 | 
|  
 | 
|      expected = [
 | 
| -        'HISTOGRAM a_by_url: http___www.foo.com_= ' +
 | 
| -            '{"buckets": [{"low": 1, "high": 2, "count": 1}]} units\n' +
 | 
| -            'Avg a_by_url: 1.500000units',
 | 
|          'HISTOGRAM a_by_url: http___www.bar.com_= ' +
 | 
|              '{"buckets": [{"low": 2, "high": 3, "count": 1}]} units\n' +
 | 
|              'Avg a_by_url: 2.500000units',
 | 
| +        'HISTOGRAM a_by_url: http___www.foo.com_= ' +
 | 
| +            '{"buckets": [{"low": 1, "high": 2, "count": 1}]} units\n' +
 | 
| +            'Avg a_by_url: 1.500000units',
 | 
|          'RESULT telemetry_page_measurement_results: num_failed= 0 count',
 | 
|          'RESULT telemetry_page_measurement_results: num_errored= 0 count']
 | 
| -    self.assertEquals(measurement_results.results, expected)
 | 
| +    self.assertEquals(expected, measurement_results.results)
 | 
| 
 |