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

Side by Side Diff: tools/telemetry/telemetry/results/csv_output_formatter_unittest.py

Issue 809393002: Added support for improvement_direction to relevant values, which is propogated to chartjson. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix linter issues Created 5 years, 11 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 unified diff | Download patch
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 import csv 4 import csv
5 import os 5 import os
6 import StringIO 6 import StringIO
7 import unittest 7 import unittest
8 8
9 from telemetry import page as page_module 9 from telemetry import page as page_module
10 from telemetry.page import page_set 10 from telemetry.page import page_set
11 from telemetry.results import csv_output_formatter 11 from telemetry.results import csv_output_formatter
12 from telemetry.results import page_test_results 12 from telemetry.results import page_test_results
13 from telemetry.value import histogram 13 from telemetry.value import histogram
14 from telemetry.value import improvement_direction
14 from telemetry.value import scalar 15 from telemetry.value import scalar
15 16
16 17
17 def _MakePageSet(): 18 def _MakePageSet():
18 ps = page_set.PageSet(file_path=os.path.dirname(__file__)) 19 ps = page_set.PageSet(file_path=os.path.dirname(__file__))
19 ps.AddUserStory(page_module.Page('http://www.foo.com/', ps, ps.base_dir)) 20 ps.AddUserStory(page_module.Page('http://www.foo.com/', ps, ps.base_dir))
20 ps.AddUserStory(page_module.Page('http://www.bar.com/', ps, ps.base_dir)) 21 ps.AddUserStory(page_module.Page('http://www.bar.com/', ps, ps.base_dir))
21 return ps 22 return ps
22 23
23 24
(...skipping 14 matching lines...) Expand all
38 return rows[0] 39 return rows[0]
39 40
40 @property 41 @property
41 def output_data_rows(self): 42 def output_data_rows(self):
42 rows = list(csv.reader(self.lines)) 43 rows = list(csv.reader(self.lines))
43 return rows[1:] 44 return rows[1:]
44 45
45 def test_with_no_results_on_second_run(self): 46 def test_with_no_results_on_second_run(self):
46 results = page_test_results.PageTestResults() 47 results = page_test_results.PageTestResults()
47 results.WillRunPage(self._page_set[0]) 48 results.WillRunPage(self._page_set[0])
48 results.AddValue(scalar.ScalarValue(self._page_set[0], 'foo', 'seconds', 3)) 49 results.AddValue(scalar.ScalarValue(
50 self._page_set[0], 'foo', 'seconds', 3,
51 improvement_direction=improvement_direction.DOWN))
49 results.DidRunPage(self._page_set[0]) 52 results.DidRunPage(self._page_set[0])
50 53
51 results.WillRunPage(self._page_set[1]) 54 results.WillRunPage(self._page_set[1])
52 results.DidRunPage(self._page_set[1]) 55 results.DidRunPage(self._page_set[1])
53 56
54 self._formatter.Format(results) 57 self._formatter.Format(results)
55 58
56 self.assertEqual(['page_name', 'foo (seconds)'], self.output_header_row) 59 self.assertEqual(['page_name', 'foo (seconds)'], self.output_header_row)
57 # TODO(chrishenry): Is this really the right behavior? Should this 60 # TODO(chrishenry): Is this really the right behavior? Should this
58 # not output a second row with '-' as its results? 61 # not output a second row with '-' as its results?
59 expected = [[self._page_set[0].url, '3.0']] 62 expected = [[self._page_set[0].url, '3.0']]
60 self.assertEqual(expected, self.output_data_rows) 63 self.assertEqual(expected, self.output_data_rows)
61 64
62 def test_fewer_results_on_second_run(self): 65 def test_fewer_results_on_second_run(self):
63 results = page_test_results.PageTestResults() 66 results = page_test_results.PageTestResults()
64 results.WillRunPage(self._page_set[0]) 67 results.WillRunPage(self._page_set[0])
65 results.AddValue(scalar.ScalarValue(self._page_set[0], 'foo', 'seconds', 3)) 68 results.AddValue(scalar.ScalarValue(
66 results.AddValue(scalar.ScalarValue(self._page_set[0], 'bar', 'seconds', 4)) 69 self._page_set[0], 'foo', 'seconds', 3,
70 improvement_direction=improvement_direction.DOWN))
71 results.AddValue(scalar.ScalarValue(
72 self._page_set[0], 'bar', 'seconds', 4,
73 improvement_direction=improvement_direction.DOWN))
67 results.DidRunPage(self._page_set[0]) 74 results.DidRunPage(self._page_set[0])
68 75
69 results.WillRunPage(self._page_set[1]) 76 results.WillRunPage(self._page_set[1])
70 results.AddValue(scalar.ScalarValue(self._page_set[1], 'bar', 'seconds', 5)) 77 results.AddValue(scalar.ScalarValue(
78 self._page_set[1], 'bar', 'seconds', 5,
79 improvement_direction=improvement_direction.DOWN))
71 results.DidRunPage(self._page_set[1]) 80 results.DidRunPage(self._page_set[1])
72 81
73 self._formatter.Format(results) 82 self._formatter.Format(results)
74 self.assertEqual(['page_name', 'bar (seconds)', 'foo (seconds)'], 83 self.assertEqual(['page_name', 'bar (seconds)', 'foo (seconds)'],
75 self.output_header_row) 84 self.output_header_row)
76 expected = [[self._page_set[0].url, '4.0', '3.0'], 85 expected = [[self._page_set[0].url, '4.0', '3.0'],
77 [self._page_set[1].url, '5.0', '-']] 86 [self._page_set[1].url, '5.0', '-']]
78 self.assertEqual(expected, self.output_data_rows) 87 self.assertEqual(expected, self.output_data_rows)
79 88
80 def test_with_output_at_print_summary_time(self): 89 def test_with_output_at_print_summary_time(self):
81 results = page_test_results.PageTestResults() 90 results = page_test_results.PageTestResults()
82 results.WillRunPage(self._page_set[0]) 91 results.WillRunPage(self._page_set[0])
83 results.AddValue(scalar.ScalarValue(self._page_set[0], 'foo', 'seconds', 3)) 92 results.AddValue(scalar.ScalarValue(
93 self._page_set[0], 'foo', 'seconds', 3,
94 improvement_direction=improvement_direction.DOWN))
84 results.DidRunPage(self._page_set[0]) 95 results.DidRunPage(self._page_set[0])
85 96
86 results.WillRunPage(self._page_set[1]) 97 results.WillRunPage(self._page_set[1])
87 results.AddValue(scalar.ScalarValue(self._page_set[1], 'bar', 'seconds', 4)) 98 results.AddValue(scalar.ScalarValue(
99 self._page_set[1], 'bar', 'seconds', 4,
100 improvement_direction=improvement_direction.DOWN))
88 results.DidRunPage(self._page_set[1]) 101 results.DidRunPage(self._page_set[1])
89 102
90 self._formatter.Format(results) 103 self._formatter.Format(results)
91 104
92 self.assertEqual( 105 self.assertEqual(
93 self.output_header_row, 106 self.output_header_row,
94 ['page_name', 'bar (seconds)', 'foo (seconds)']) 107 ['page_name', 'bar (seconds)', 'foo (seconds)'])
95 108
96 expected = [[self._page_set[0].display_name, '-', '3.0'], 109 expected = [[self._page_set[0].display_name, '-', '3.0'],
97 [self._page_set[1].display_name, '4.0', '-']] 110 [self._page_set[1].display_name, '4.0', '-']]
98 self.assertEqual(expected, self.output_data_rows) 111 self.assertEqual(expected, self.output_data_rows)
99 112
100 def test_histogram(self): 113 def test_histogram(self):
101 results = page_test_results.PageTestResults() 114 results = page_test_results.PageTestResults()
102 results.WillRunPage(self._page_set[0]) 115 results.WillRunPage(self._page_set[0])
103 results.AddValue(histogram.HistogramValue( 116 results.AddValue(histogram.HistogramValue(
104 self._page_set[0], 'a', '', 117 self._page_set[0], 'a', '',
105 raw_value_json='{"buckets": [{"low": 1, "high": 2, "count": 1}]}')) 118 raw_value_json='{"buckets": [{"low": 1, "high": 2, "count": 1}]}',
119 improvement_direction=improvement_direction.UP))
106 results.DidRunPage(self._page_set[0]) 120 results.DidRunPage(self._page_set[0])
107 121
108 results.WillRunPage(self._page_set[1]) 122 results.WillRunPage(self._page_set[1])
109 results.AddValue(histogram.HistogramValue( 123 results.AddValue(histogram.HistogramValue(
110 self._page_set[1], 'a', '', 124 self._page_set[1], 'a', '',
111 raw_value_json='{"buckets": [{"low": 2, "high": 3, "count": 1}]}')) 125 raw_value_json='{"buckets": [{"low": 2, "high": 3, "count": 1}]}',
126 improvement_direction=improvement_direction.UP))
112 results.DidRunPage(self._page_set[1]) 127 results.DidRunPage(self._page_set[1])
113 128
114 self._formatter.Format(results) 129 self._formatter.Format(results)
115 130
116 self.assertEqual( 131 self.assertEqual(
117 self.output_header_row, 132 self.output_header_row,
118 ['page_name', 'a ()']) 133 ['page_name', 'a ()'])
119 self.assertEqual( 134 self.assertEqual(
120 self.output_data_rows, 135 self.output_data_rows,
121 [[self._page_set[0].display_name, '1.5'], 136 [[self._page_set[0].display_name, '1.5'],
122 [self._page_set[1].display_name, '2.5']]) 137 [self._page_set[1].display_name, '2.5']])
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698