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

Unified Diff: tools/telemetry/telemetry/page/buildbot_page_measurement_results_unittest.py

Issue 23431036: Create and display "comparison statistics" to compare two statistics Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Sync'd to r233008. Created 7 years, 1 month 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: 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..2f8dc9cbe7cc9f38020382cff4890cb756f684fa 100644
--- a/tools/telemetry/telemetry/page/buildbot_page_measurement_results_unittest.py
+++ b/tools/telemetry/telemetry/page/buildbot_page_measurement_results_unittest.py
@@ -5,6 +5,7 @@ import os
import unittest
from telemetry.page import buildbot_page_measurement_results
+from telemetry.page import page_measurement_value
from telemetry.page import page_set
from telemetry.page import perf_tests_helper
@@ -29,6 +30,9 @@ class SummarySavingPageMeasurementResults(
res = perf_tests_helper.PrintPerfResult(*args, print_to_stdout=False)
self.results.append(res)
+ def GetComparisonStats(self):
+ return self._comparison_stats
+
class BuildbotPageMeasurementResultsTest(unittest.TestCase):
def test_basic_summary(self):
test_page_set = _MakePageSet()
@@ -337,3 +341,70 @@ class BuildbotPageMeasurementResultsTest(unittest.TestCase):
'RESULT telemetry_page_measurement_results: num_failed= 0 count',
'RESULT telemetry_page_measurement_results: num_errored= 0 count']
self.assertEquals(measurement_results.results, expected)
+
+ def test_comparison_byname_devolution(self):
+ test_page_set = _MakePageSet()
+
+ measurement_results = SummarySavingPageMeasurementResults()
+
+ measurement_results.AddComparison('a', '', 'b', '', 'c', '')
+
+ aName = page_measurement_value.MeasurementName('', 'a')
+ bName = page_measurement_value.MeasurementName('', 'b')
+ cName = page_measurement_value.MeasurementName('', 'c')
+ topStat = { 'reference' : aName, 'comparison' : bName }
+
+ compStats = measurement_results.GetComparisonStats()
+ self.assertEquals(set(compStats.keys()), set([cName,]))
+ self.assertEquals(compStats[cName], topStat)
+
+ measurement_results.WillMeasurePage(test_page_set.pages[0])
+ measurement_results.Add('a', 'seconds', 3)
+ measurement_results.DidMeasurePage()
+ measurement_results.WillMeasurePage(test_page_set.pages[0])
+ measurement_results.Add('b', 'seconds', 5)
+ measurement_results.DidMeasurePage()
+
+ measurement_results.WillMeasurePage(test_page_set.pages[1])
+ measurement_results.Add('a', 'seconds', 7)
+ measurement_results.DidMeasurePage()
+ measurement_results.WillMeasurePage(test_page_set.pages[1])
+ measurement_results.Add('b', 'seconds', 14)
+ measurement_results.DidMeasurePage()
+
+ measurement_results.PrintSummary()
+ expected = ['RESULT a_by_url: http___www.foo.com_= 3 seconds',
+ 'RESULT a_by_url: http___www.bar.com_= 7 seconds',
+ '*RESULT a: a= [3,7] seconds\nAvg a: 5.000000seconds\n' +
+ 'Sd a: 2.828427seconds',
+ 'RESULT b_by_url: http___www.foo.com_= 5 seconds',
+ 'RESULT b_by_url: http___www.bar.com_= 14 seconds',
+ '*RESULT b: b= [5,14] seconds\nAvg b: 9.500000seconds\n' +
+ 'Sd b: 6.363961seconds',
+ 'RESULT telemetry_page_measurement_results: ' +
+ 'num_failed= 0 count',
+ 'RESULT telemetry_page_measurement_results: ' +
+ 'num_errored= 0 count']
+
+ self.assertEquals(measurement_results.results, expected)
+
+ fooName = page_measurement_value.MeasurementName(
+ 'c_by_url', 'http://www.foo.com/')
+ barName = page_measurement_value.MeasurementName(
+ 'c_by_url', 'http://www.bar.com/')
+ fooStat = { 'reference' : page_measurement_value.MeasurementName(
+ 'a_by_url', 'http://www.foo.com/'),
+ 'comparison' : page_measurement_value.MeasurementName(
+ 'b_by_url', 'http://www.foo.com/') }
+ barStat = { 'reference' : page_measurement_value.MeasurementName(
+ 'a_by_url', 'http://www.bar.com/'),
+ 'comparison' : page_measurement_value.MeasurementName(
+ 'b_by_url', 'http://www.bar.com/') }
+
+ compStats = measurement_results.GetComparisonStats()
+ self.assertEquals(set(compStats.keys()), set([cName, fooName, barName]))
+ self.assertEquals(compStats[cName], topStat)
+ self.assertEquals(compStats[fooName], fooStat)
+ self.assertEquals(compStats[barName], barStat)
+
+

Powered by Google App Engine
This is Rietveld 408576698