| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
| 5 | 5 |
| 6 """Test cases for results_dashboard.""" | 6 """Test cases for results_dashboard.""" |
| 7 | 7 |
| 8 import datetime | 8 import datetime |
| 9 import json | 9 import json |
| 10 import os | 10 import os |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 47 self.build_dir = tempfile.mkdtemp() | 47 self.build_dir = tempfile.mkdtemp() |
| 48 os.makedirs(os.path.join(self.build_dir, results_dashboard.CACHE_DIR)) | 48 os.makedirs(os.path.join(self.build_dir, results_dashboard.CACHE_DIR)) |
| 49 self.cache_filename = os.path.join(self.build_dir, | 49 self.cache_filename = os.path.join(self.build_dir, |
| 50 results_dashboard.CACHE_DIR, | 50 results_dashboard.CACHE_DIR, |
| 51 results_dashboard.CACHE_FILENAME) | 51 results_dashboard.CACHE_FILENAME) |
| 52 | 52 |
| 53 def tearDown(self): | 53 def tearDown(self): |
| 54 self.mox.UnsetStubs() | 54 self.mox.UnsetStubs() |
| 55 shutil.rmtree(self.build_dir) | 55 shutil.rmtree(self.build_dir) |
| 56 | 56 |
| 57 def _TestSendResults(self, send_results_args, expected_new_json, errors, | 57 def _SendResults(self, send_results_args, expected_new_json, errors, |
| 58 mock_timestamp=False, webkit_master=False): | 58 mock_timestamp=False, webkit_master=False): |
| 59 """Test one call of SendResults with the given set of arguments. | 59 """Test one call of SendResults with the given set of arguments. |
| 60 | 60 |
| 61 Args: | 61 Args: |
| 62 send_results_args: The list of arguments to pass to SendResults. | 62 send_results_args: The list of arguments to pass to SendResults. |
| 63 expected_new_json: A list of JSON string expected to be sent. | 63 expected_new_json: A list of JSON string expected to be sent. |
| 64 errors: A list of corresponding errors expected to be received | 64 errors: A list of corresponding errors expected to be received |
| 65 (Each item in the list is either a string or None.) | 65 (Each item in the list is either a string or None.) |
| 66 mock_timestamp: Whether to stub out datetime with FakeDateTime(). | 66 mock_timestamp: Whether to stub out datetime with FakeDateTime(). |
| 67 webkit_master: Whether GetActiveMaster should give the webkit master. | 67 webkit_master: Whether GetActiveMaster should give the webkit master. |
| (...skipping 22 matching lines...) Expand all Loading... |
| 90 if error: | 90 if error: |
| 91 urllib2.urlopen(IsEncodedJson(json_line)).AndRaise(error) | 91 urllib2.urlopen(IsEncodedJson(json_line)).AndRaise(error) |
| 92 else: | 92 else: |
| 93 urllib2.urlopen(IsEncodedJson(json_line)) | 93 urllib2.urlopen(IsEncodedJson(json_line)) |
| 94 self.mox.ReplayAll() | 94 self.mox.ReplayAll() |
| 95 results_dashboard.SendResults(*send_results_args) | 95 results_dashboard.SendResults(*send_results_args) |
| 96 self.mox.VerifyAll() | 96 self.mox.VerifyAll() |
| 97 | 97 |
| 98 def test_SingleLogLine(self): | 98 def test_SingleLogLine(self): |
| 99 args = [ | 99 args = [ |
| 100 { | 100 'bar-summary.dat', |
| 101 'bar-summary.dat': [ | 101 ['{"traces": {"baz": ["100.0", "5.0"]},' |
| 102 '{"traces": {"baz": ["100.0", "5.0"]},' | 102 ' "rev": "12345", "webkit_rev": "6789", "webrtc_rev": "3456",' |
| 103 ' "rev": "12345", "webkit_rev": "6789", "webrtc_rev": "3456",' | 103 ' "v8_rev": "2345"}'], |
| 104 ' "v8_rev": "2345"}' | |
| 105 ], | |
| 106 }, | |
| 107 'linux-release', | 104 'linux-release', |
| 108 'foo', | 105 'foo', |
| 109 'https://chrome-perf.googleplex.com', | 106 'https://chrome-perf.googleplex.com', |
| 110 'chromium.perf', | 107 'chromium.perf', |
| 111 'XP Perf (1)', | 108 'XP Perf (1)', |
| 112 '7890', | 109 '7890', |
| 113 self.build_dir, | 110 self.build_dir, |
| 114 {}] | 111 {}] |
| 115 expected_new_json = [json.dumps([{ | 112 expected_new_json = [json.dumps([{ |
| 116 'master': 'ChromiumPerf', | 113 'master': 'ChromiumPerf', |
| 117 'bot': 'linux-release', | 114 'bot': 'linux-release', |
| 118 'test': 'foo/bar/baz', | 115 'test': 'foo/bar/baz', |
| 119 'revision': 12345, | 116 'revision': 12345, |
| 120 'value': '100.0', | 117 'value': '100.0', |
| 121 'error': '5.0', | 118 'error': '5.0', |
| 122 'masterid': 'chromium.perf', | 119 'masterid': 'chromium.perf', |
| 123 'buildername': 'XP Perf (1)', | 120 'buildername': 'XP Perf (1)', |
| 124 'buildnumber': '7890', | 121 'buildnumber': '7890', |
| 125 'supplemental_columns': { | 122 'supplemental_columns': { |
| 126 'r_webkit_rev': '6789', | 123 'r_webkit_rev': '6789', |
| 127 'r_webrtc_rev': '3456', | 124 'r_webrtc_rev': '3456', |
| 128 'r_v8_rev': '2345', | 125 'r_v8_rev': '2345', |
| 129 }}])] | 126 }}])] |
| 130 errors = [None] | 127 errors = [None] |
| 131 self._TestSendResults(args, expected_new_json, errors) | 128 self._SendResults(args, expected_new_json, errors) |
| 132 | 129 |
| 133 def test_SupplementalColumns(self): | 130 def test_SupplementalColumns(self): |
| 134 args = [ | 131 args = [ |
| 135 { | 132 'bar-summary.dat', |
| 136 'bar-summary.dat': [ | 133 ['{"traces": {"baz": ["100.0", "5.0"]},' |
| 137 '{"traces": {"baz": ["100.0", "5.0"]},' | 134 ' "rev": "12345", "webkit_rev": "6789", "webrtc_rev": "3456",' |
| 138 ' "rev": "12345", "webkit_rev": "6789", "webrtc_rev": "3456",' | 135 ' "v8_rev": "2345"}'], |
| 139 ' "v8_rev": "2345"}' | |
| 140 ], | |
| 141 }, | |
| 142 'linux-release', | 136 'linux-release', |
| 143 'foo', | 137 'foo', |
| 144 'https://chrome-perf.googleplex.com', | 138 'https://chrome-perf.googleplex.com', |
| 145 'chromium.perf', | 139 'chromium.perf', |
| 146 'XP Perf (1)', | 140 'XP Perf (1)', |
| 147 '7890', self.build_dir, | 141 '7890', self.build_dir, |
| 148 { | 142 { |
| 149 'r_webkit_rev': '6789', | 143 'r_webkit_rev': '6789', |
| 150 'r_webrtc_rev': '3456', | 144 'r_webrtc_rev': '3456', |
| 151 'r_v8_rev': '2345', | 145 'r_v8_rev': '2345', |
| (...skipping 11 matching lines...) Expand all Loading... |
| 163 'buildername': 'XP Perf (1)', | 157 'buildername': 'XP Perf (1)', |
| 164 'buildnumber': '7890', | 158 'buildnumber': '7890', |
| 165 'supplemental_columns': { | 159 'supplemental_columns': { |
| 166 'r_webkit_rev': '6789', | 160 'r_webkit_rev': '6789', |
| 167 'r_webrtc_rev': '3456', | 161 'r_webrtc_rev': '3456', |
| 168 'r_v8_rev': '2345', | 162 'r_v8_rev': '2345', |
| 169 'r_foo': 'SHA1', | 163 'r_foo': 'SHA1', |
| 170 'r_bar': 'SHA2', | 164 'r_bar': 'SHA2', |
| 171 }}])] | 165 }}])] |
| 172 errors = [None] | 166 errors = [None] |
| 173 self._TestSendResults(args, expected_new_json, errors) | 167 self._SendResults(args, expected_new_json, errors) |
| 174 | 168 |
| 175 def test_UnitsLogLine(self): | 169 def test_UnitsLogLine(self): |
| 176 args = [ | 170 args = [ |
| 177 { | 171 'bar-summary.dat', |
| 178 'bar-summary.dat': [ | 172 ['{"traces": {"baz": ["100.0", "5.0"]},' |
| 179 '{"traces": {"baz": ["100.0", "5.0"]},' | 173 ' "rev": "12345", "webkit_rev": "6789", "webrtc_rev": "3456", ' |
| 180 ' "rev": "12345", "webkit_rev": "6789", "webrtc_rev": "3456", ' | 174 ' "v8_rev": "2345", "units": "ms"}', |
| 181 ' "v8_rev": "2345", "units": "ms"}', | 175 '{"traces": {"bam": ["100.0", "5.0"]},' |
| 182 '{"traces": {"bam": ["100.0", "5.0"]},' | 176 ' "rev": "12345", "webkit_rev": "6789", "webrtc_rev": "3456", ' |
| 183 ' "rev": "12345", "webkit_rev": "6789", "webrtc_rev": "3456", ' | 177 ' "v8_rev": "2345", "units": ""}'], |
| 184 ' "v8_rev": "2345", "units": ""}' | |
| 185 ], | |
| 186 }, | |
| 187 'linux-release', | 178 'linux-release', |
| 188 'foo', | 179 'foo', |
| 189 'https://chrome-perf.googleplex.com', | 180 'https://chrome-perf.googleplex.com', |
| 190 'chromium.perf', | 181 'chromium.perf', |
| 191 'XP Perf (1)', | 182 'XP Perf (1)', |
| 192 '7890', | 183 '7890', |
| 193 self.build_dir, | 184 self.build_dir, |
| 194 {}] | 185 {}] |
| 195 expected_new_json = [json.dumps([{ | 186 expected_new_json = [json.dumps([{ |
| 196 'master': 'ChromiumPerf', | 187 'master': 'ChromiumPerf', |
| (...skipping 19 matching lines...) Expand all Loading... |
| 216 'error': '5.0', | 207 'error': '5.0', |
| 217 'masterid': 'chromium.perf', | 208 'masterid': 'chromium.perf', |
| 218 'buildername': 'XP Perf (1)', | 209 'buildername': 'XP Perf (1)', |
| 219 'buildnumber': '7890', | 210 'buildnumber': '7890', |
| 220 'supplemental_columns': { | 211 'supplemental_columns': { |
| 221 'r_webkit_rev': '6789', | 212 'r_webkit_rev': '6789', |
| 222 'r_webrtc_rev': '3456', | 213 'r_webrtc_rev': '3456', |
| 223 'r_v8_rev': '2345', | 214 'r_v8_rev': '2345', |
| 224 }}])] | 215 }}])] |
| 225 errors = [None] | 216 errors = [None] |
| 226 self._TestSendResults(args, expected_new_json, errors) | 217 self._SendResults(args, expected_new_json, errors) |
| 227 | 218 |
| 228 def test_ImportantLogLine(self): | 219 def test_ImportantLogLine(self): |
| 229 args = [ | 220 args = [ |
| 230 { | 221 'bar-summary.dat', |
| 231 'bar-summary.dat': [ | 222 ['{"traces": {"one": ["1.0", "5.0"], "two": ["2.0", "0.0"]},' |
| 232 '{"traces": {"one": ["1.0", "5.0"], "two": ["2.0", "0.0"]},' | 223 ' "rev": "12345", "webkit_rev": "6789", "webrtc_rev": "3456",' |
| 233 ' "rev": "12345", "webkit_rev": "6789", "webrtc_rev": "3456",' | 224 ' "v8_rev": "2345", "units": "ms", ' |
| 234 ' "v8_rev": "2345", "units": "ms", ' | 225 '"important": ["one"]}'], |
| 235 '"important": ["one"]}' | |
| 236 ], | |
| 237 }, | |
| 238 'linux-release', | 226 'linux-release', |
| 239 'foo', | 227 'foo', |
| 240 'https://chrome-perf.googleplex.com', | 228 'https://chrome-perf.googleplex.com', |
| 241 'chromium.perf', | 229 'chromium.perf', |
| 242 'XP Perf (1)', | 230 'XP Perf (1)', |
| 243 '7890', | 231 '7890', |
| 244 self.build_dir, | 232 self.build_dir, |
| 245 {}] | 233 {}] |
| 246 expected_new_json = [json.dumps([{ | 234 expected_new_json = [json.dumps([{ |
| 247 'master': 'ChromiumPerf', | 235 'master': 'ChromiumPerf', |
| (...skipping 21 matching lines...) Expand all Loading... |
| 269 'units': 'ms', | 257 'units': 'ms', |
| 270 'masterid': 'chromium.perf', | 258 'masterid': 'chromium.perf', |
| 271 'buildername': 'XP Perf (1)', | 259 'buildername': 'XP Perf (1)', |
| 272 'buildnumber': '7890', | 260 'buildnumber': '7890', |
| 273 'supplemental_columns': { | 261 'supplemental_columns': { |
| 274 'r_webkit_rev': '6789', | 262 'r_webkit_rev': '6789', |
| 275 'r_webrtc_rev': '3456', | 263 'r_webrtc_rev': '3456', |
| 276 'r_v8_rev': '2345', | 264 'r_v8_rev': '2345', |
| 277 }}])] | 265 }}])] |
| 278 errors = [None] | 266 errors = [None] |
| 279 self._TestSendResults(args, expected_new_json, errors) | 267 self._SendResults(args, expected_new_json, errors) |
| 280 | 268 |
| 281 def test_MultipleLogLines(self): | 269 def test_MultipleLogLines(self): |
| 282 args = [ | 270 args = [ |
| 283 { | 271 'bar-summary.dat', [ |
| 284 'bar-summary.dat': [ | 272 '{"traces": {"baz": ["100.0", "5.0"]},' |
| 285 '{"traces": {"baz": ["100.0", "5.0"]},' | 273 ' "rev": "12345", "webkit_rev": "6789", "webrtc_rev": "3456",' |
| 286 ' "rev": "12345", "webkit_rev": "6789", "webrtc_rev": "3456",' | 274 ' "v8_rev": "2345"}', |
| 287 ' "v8_rev": "2345"}', | 275 '{"traces": {"box": ["101.0", "4.0"]},' |
| 288 '{"traces": {"box": ["101.0", "4.0"]},' | 276 ' "rev": "12345", "webkit_rev": "6789", "webrtc_rev": "3456",' |
| 289 ' "rev": "12345", "webkit_rev": "6789", "webrtc_rev": "3456",' | 277 ' "v8_rev": "2345"}'], |
| 290 ' "v8_rev": "2345"}' | |
| 291 ], | |
| 292 }, | |
| 293 'linux-release', | 278 'linux-release', |
| 294 'foo', | 279 'foo', |
| 295 'https://chrome-perf.googleplex.com', | 280 'https://chrome-perf.googleplex.com', |
| 296 'chromium.perf', | 281 'chromium.perf', |
| 297 'XP Perf (1)', | 282 'XP Perf (1)', |
| 298 '7890', | 283 '7890', |
| 299 self.build_dir, | 284 self.build_dir, |
| 300 {}] | 285 {}] |
| 301 expected_new_json = [json.dumps([{ | 286 expected_new_json = [json.dumps([{ |
| 302 'master': 'ChromiumPerf', | 287 'master': 'ChromiumPerf', |
| (...skipping 18 matching lines...) Expand all Loading... |
| 321 'error': '4.0', | 306 'error': '4.0', |
| 322 'masterid': 'chromium.perf', | 307 'masterid': 'chromium.perf', |
| 323 'buildername': 'XP Perf (1)', | 308 'buildername': 'XP Perf (1)', |
| 324 'buildnumber': '7890', | 309 'buildnumber': '7890', |
| 325 'supplemental_columns': { | 310 'supplemental_columns': { |
| 326 'r_webkit_rev': '6789', | 311 'r_webkit_rev': '6789', |
| 327 'r_webrtc_rev': '3456', | 312 'r_webrtc_rev': '3456', |
| 328 'r_v8_rev': '2345', | 313 'r_v8_rev': '2345', |
| 329 }}])] | 314 }}])] |
| 330 errors = [None] | 315 errors = [None] |
| 331 self._TestSendResults(args, expected_new_json, errors) | 316 self._SendResults(args, expected_new_json, errors) |
| 332 | 317 |
| 333 def test_ModifiedTraceNames(self): | 318 def test_ModifiedTraceNames(self): |
| 334 args = [ | 319 args = [ |
| 335 { | 320 'bar-summary.dat', |
| 336 'bar-summary.dat': [ | 321 ['{"traces": {"bar": ["100.0", "5.0"], "bar_ref": ["99.0", "2.0"],' |
| 337 '{"traces": {"bar": ["100.0", "5.0"],' | 322 ' "baz/y": ["101.0", "3.0"], "notchanged": ["102.0", "1.0"]},' |
| 338 ' "bar_ref": ["99.0", "2.0"],' | 323 ' "rev": "12345", "webkit_rev": "6789", "webrtc_rev": "3456",' |
| 339 ' "baz/y": ["101.0", "3.0"], "notchanged": ["102.0", "1.0"]},' | 324 ' "v8_rev": "2345"}'], |
| 340 ' "rev": "12345", "webkit_rev": "6789", "webrtc_rev": "3456",' | |
| 341 ' "v8_rev": "2345"}' | |
| 342 ], | |
| 343 }, | |
| 344 'linux-release', | 325 'linux-release', |
| 345 'foo', | 326 'foo', |
| 346 'https://chrome-perf.googleplex.com', | 327 'https://chrome-perf.googleplex.com', |
| 347 'chromium.perf', | 328 'chromium.perf', |
| 348 'XP Perf (1)', | 329 'XP Perf (1)', |
| 349 '7890', | 330 '7890', |
| 350 self.build_dir, | 331 self.build_dir, |
| 351 {}] | 332 {}] |
| 352 expected_new_json = [json.dumps([{ | 333 expected_new_json = [json.dumps([{ |
| 353 'master': 'ChromiumPerf', | 334 'master': 'ChromiumPerf', |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 400 'error': '1.0', | 381 'error': '1.0', |
| 401 'masterid': 'chromium.perf', | 382 'masterid': 'chromium.perf', |
| 402 'buildername': 'XP Perf (1)', | 383 'buildername': 'XP Perf (1)', |
| 403 'buildnumber': '7890', | 384 'buildnumber': '7890', |
| 404 'supplemental_columns': { | 385 'supplemental_columns': { |
| 405 'r_webkit_rev': '6789', | 386 'r_webkit_rev': '6789', |
| 406 'r_webrtc_rev': '3456', | 387 'r_webrtc_rev': '3456', |
| 407 'r_v8_rev': '2345', | 388 'r_v8_rev': '2345', |
| 408 }}])] | 389 }}])] |
| 409 errors = [None] | 390 errors = [None] |
| 410 self._TestSendResults(args, expected_new_json, errors) | 391 self._SendResults(args, expected_new_json, errors) |
| 411 | 392 |
| 412 def test_MultiValueRowUpload(self): | 393 def test_MultiValueRowUpload(self): |
| 413 args = [ | 394 args = [ |
| 414 { | 395 'my_endure_graph-summary.dat', |
| 415 'my_endure_graph-summary.dat': [ | 396 ['{"traces": {' |
| 416 '{"traces": {' | 397 '"total_dom_nodes": [["10", "123"], ["20.5", "234"]],' |
| 417 '"total_dom_nodes": [["10", "123"], ["20.5", "234"]],' | 398 '"event_listeners": [["10", "12"], ["20.5", "40"]]},' |
| 418 '"event_listeners": [["10", "12"], ["20.5", "40"]]},' | 399 ' "rev": "12345",' |
| 419 ' "rev": "12345",' | 400 ' "webkit_rev": "6789",' |
| 420 ' "webkit_rev": "6789",' | 401 ' "webrtc_rev": "3456",' |
| 421 ' "webrtc_rev": "3456",' | 402 ' "v8_rev": "2345",' |
| 422 ' "v8_rev": "2345",' | 403 ' "units": "count",' |
| 423 ' "units": "count",' | 404 ' "units_x": "seconds",' |
| 424 ' "units_x": "seconds",' | 405 ' "stack": false}'], |
| 425 ' "stack": false}' | |
| 426 ], | |
| 427 }, | |
| 428 'linux-release', | 406 'linux-release', |
| 429 'endure/test_name', | 407 'endure/test_name', |
| 430 'https://chrome-perf.googleplex.com', | 408 'https://chrome-perf.googleplex.com', |
| 431 'chromium.perf', | 409 'chromium.perf', |
| 432 'Linux (1)', | 410 'Linux (1)', |
| 433 '1234', | 411 '1234', |
| 434 self.build_dir, | 412 self.build_dir, |
| 435 {}] | 413 {}] |
| 436 expected_new_json = [json.dumps([{ | 414 expected_new_json = [json.dumps([{ |
| 437 'master': 'ChromiumPerf', | 415 'master': 'ChromiumPerf', |
| (...skipping 20 matching lines...) Expand all Loading... |
| 458 'buildername': 'Linux (1)', | 436 'buildername': 'Linux (1)', |
| 459 'buildnumber': '1234', | 437 'buildnumber': '1234', |
| 460 'units': 'count', | 438 'units': 'count', |
| 461 'units_x': 'seconds', | 439 'units_x': 'seconds', |
| 462 'supplemental_columns': { | 440 'supplemental_columns': { |
| 463 'r_webkit_rev': '6789', | 441 'r_webkit_rev': '6789', |
| 464 'r_webrtc_rev': '3456', | 442 'r_webrtc_rev': '3456', |
| 465 'r_v8_rev': '2345' | 443 'r_v8_rev': '2345' |
| 466 }}])] | 444 }}])] |
| 467 errors = [None, None] | 445 errors = [None, None] |
| 468 self._TestSendResults(args, expected_new_json, errors) | 446 self._SendResults(args, expected_new_json, errors) |
| 469 | 447 |
| 470 def test_ByUrlGraph(self): | 448 def test_ByUrlGraph(self): |
| 471 args = [ | 449 args = [ |
| 472 { | 450 'bar_by_url-summary.dat', |
| 473 'bar_by_url-summary.dat': [ | 451 ['{"traces": {"baz": ["100.0", "5.0"]},' |
| 474 '{"traces": {"baz": ["100.0", "5.0"]},' | 452 ' "rev": "12345", "webkit_rev": "6789", "webrtc_rev": "3456",' |
| 475 ' "rev": "12345", "webkit_rev": "6789", "webrtc_rev": "3456",' | 453 '"v8_rev": "2345"}'], |
| 476 '"v8_rev": "2345"}' | |
| 477 ], | |
| 478 }, | |
| 479 'linux-release', | 454 'linux-release', |
| 480 'foo', | 455 'foo', |
| 481 'https://chrome-perf.googleplex.com', | 456 'https://chrome-perf.googleplex.com', |
| 482 'chromium.perf', | 457 'chromium.perf', |
| 483 'XP Perf (1)', | 458 'XP Perf (1)', |
| 484 '7890', | 459 '7890', |
| 485 self.build_dir, | 460 self.build_dir, |
| 486 {}] | 461 {}] |
| 487 expected_new_json = [json.dumps([{ | 462 expected_new_json = [json.dumps([{ |
| 488 'master': 'ChromiumPerf', | 463 'master': 'ChromiumPerf', |
| 489 'bot': 'linux-release', | 464 'bot': 'linux-release', |
| 490 'test': 'foo/bar/baz', | 465 'test': 'foo/bar/baz', |
| 491 'revision': 12345, | 466 'revision': 12345, |
| 492 'value': '100.0', | 467 'value': '100.0', |
| 493 'error': '5.0', | 468 'error': '5.0', |
| 494 'masterid': 'chromium.perf', | 469 'masterid': 'chromium.perf', |
| 495 'buildername': 'XP Perf (1)', | 470 'buildername': 'XP Perf (1)', |
| 496 'buildnumber': '7890', | 471 'buildnumber': '7890', |
| 497 'supplemental_columns': { | 472 'supplemental_columns': { |
| 498 'r_webkit_rev': '6789', | 473 'r_webkit_rev': '6789', |
| 499 'r_webrtc_rev': '3456', | 474 'r_webrtc_rev': '3456', |
| 500 'r_v8_rev': '2345', | 475 'r_v8_rev': '2345', |
| 501 }}])] | 476 }}])] |
| 502 errors = [None] | 477 errors = [None] |
| 503 self._TestSendResults(args, expected_new_json, errors) | 478 self._SendResults(args, expected_new_json, errors) |
| 504 | 479 |
| 505 def test_GitHashToTimestamp(self): | 480 def test_GitHashToTimestamp(self): |
| 506 args = [ | 481 args = [ |
| 507 { | 482 'mean_frame_time-summary.dat', |
| 508 'mean_frame_time-summary.dat': [ | 483 ['{"traces": {"mean_frame_time": ["77.0964285714", "138.142773233"]},' |
| 509 '{"traces":' | 484 ' "rev": "2eca27b067e3e57c70e40b8b95d0030c5d7c1a7f",' |
| 510 ' {"mean_frame_time": ["77.0964285714", "138.142773233"]},' | 485 ' "webkit_rev": "bf9aa8d62561bb2e4d7bc09e9d9e8c6a665ddc88",' |
| 511 ' "rev": "2eca27b067e3e57c70e40b8b95d0030c5d7c1a7f",' | 486 ' "webrtc_rev": "bf9aa8d62561bb2e4d7bc09e9d9e8c6a665ddc86",' |
| 512 ' "webkit_rev": "bf9aa8d62561bb2e4d7bc09e9d9e8c6a665ddc88",' | 487 ' "v8_rev": "bf9aa8d62561bb2e4d7bc09e9d9e8c6a665ddc87",' |
| 513 ' "webrtc_rev": "bf9aa8d62561bb2e4d7bc09e9d9e8c6a665ddc86",' | 488 ' "ver": "undefined", "chan": "undefined", "units": "ms",' |
| 514 ' "v8_rev": "bf9aa8d62561bb2e4d7bc09e9d9e8c6a665ddc87",' | 489 ' "important": ["mean_frame_time"]}'], |
| 515 ' "ver": "undefined", "chan": "undefined", "units": "ms",' | |
| 516 ' "important": ["mean_frame_time"]}' | |
| 517 ], | |
| 518 }, | |
| 519 'linux-release', | 490 'linux-release', |
| 520 'smoothness_measurement', | 491 'smoothness_measurement', |
| 521 'https://chrome-perf.googleplex.com', | 492 'https://chrome-perf.googleplex.com', |
| 522 'chromium.perf', | 493 'chromium.perf', |
| 523 'Linux (1)', | 494 'Linux (1)', |
| 524 '1234', | 495 '1234', |
| 525 self.build_dir, | 496 self.build_dir, |
| 526 {}] | 497 {}] |
| 527 expected_new_json = [json.dumps([{ | 498 expected_new_json = [json.dumps([{ |
| 528 'master': 'ChromiumPerf', | 499 'master': 'ChromiumPerf', |
| 529 'bot': 'linux-release', | 500 'bot': 'linux-release', |
| 530 'test': 'smoothness_measurement/mean_frame_time', | 501 'test': 'smoothness_measurement/mean_frame_time', |
| 531 'revision': 1375315200, | 502 'revision': 1375315200, |
| 532 'value': '77.0964285714', | 503 'value': '77.0964285714', |
| 533 'error': '138.142773233', | 504 'error': '138.142773233', |
| 534 'masterid': 'chromium.perf', | 505 'masterid': 'chromium.perf', |
| 535 'buildername': 'Linux (1)', | 506 'buildername': 'Linux (1)', |
| 536 'buildnumber': '1234', | 507 'buildnumber': '1234', |
| 537 'important': True, | 508 'important': True, |
| 538 'units': 'ms', | 509 'units': 'ms', |
| 539 'supplemental_columns': { | 510 'supplemental_columns': { |
| 540 'r_chromium': '2eca27b067e3e57c70e40b8b95d0030c5d7c1a7f', | 511 'r_chromium': '2eca27b067e3e57c70e40b8b95d0030c5d7c1a7f', |
| 541 'r_webkit_rev': 'bf9aa8d62561bb2e4d7bc09e9d9e8c6a665ddc88', | 512 'r_webkit_rev': 'bf9aa8d62561bb2e4d7bc09e9d9e8c6a665ddc88', |
| 542 'r_webrtc_rev': 'bf9aa8d62561bb2e4d7bc09e9d9e8c6a665ddc86', | 513 'r_webrtc_rev': 'bf9aa8d62561bb2e4d7bc09e9d9e8c6a665ddc86', |
| 543 'r_v8_rev': 'bf9aa8d62561bb2e4d7bc09e9d9e8c6a665ddc87', | 514 'r_v8_rev': 'bf9aa8d62561bb2e4d7bc09e9d9e8c6a665ddc87', |
| 544 }}])] | 515 }}])] |
| 545 errors = [None] | 516 errors = [None] |
| 546 self._TestSendResults(args, expected_new_json, errors, mock_timestamp=True) | 517 self._SendResults(args, expected_new_json, errors, mock_timestamp=True) |
| 547 | 518 |
| 548 def test_WebkitUsesTimestamp(self): | 519 def test_WebkitUsesTimestamp(self): |
| 549 args = [ | 520 args = [ |
| 550 { | 521 'mean_frame_time-summary.dat', |
| 551 'mean_frame_time-summary.dat': [ | 522 ['{"traces": {"mean_frame_time": ["77.0964285714", "138.142773233"]},' |
| 552 '{"traces":' | 523 ' "rev": "12345",' |
| 553 ' {"mean_frame_time": ["77.0964285714", "138.142773233"]},' | 524 ' "webkit_rev": "23456",' |
| 554 ' "rev": "12345",' | 525 ' "webrtc_rev": "3456",' |
| 555 ' "webkit_rev": "23456",' | 526 ' "v8_rev": "34567",' |
| 556 ' "webrtc_rev": "3456",' | 527 ' "ver": "undefined", "chan": "undefined", "units": "ms",' |
| 557 ' "v8_rev": "34567",' | 528 ' "important": ["mean_frame_time"]}'], |
| 558 ' "ver": "undefined", "chan": "undefined", "units": "ms",' | |
| 559 ' "important": ["mean_frame_time"]}' | |
| 560 ], | |
| 561 }, | |
| 562 'linux-release', | 529 'linux-release', |
| 563 'smoothness_measurement', | 530 'smoothness_measurement', |
| 564 'https://chrome-perf.googleplex.com', | 531 'https://chrome-perf.googleplex.com', |
| 565 'chromium.webkit', | 532 'chromium.webkit', |
| 566 'Linux (1)', | 533 'Linux (1)', |
| 567 '1234', | 534 '1234', |
| 568 self.build_dir, | 535 self.build_dir, |
| 569 {}] | 536 {}] |
| 570 expected_new_json = [json.dumps([{ | 537 expected_new_json = [json.dumps([{ |
| 571 'master': 'ChromiumWebkit', | 538 'master': 'ChromiumWebkit', |
| 572 'bot': 'linux-release', | 539 'bot': 'linux-release', |
| 573 'test': 'smoothness_measurement/mean_frame_time', | 540 'test': 'smoothness_measurement/mean_frame_time', |
| 574 'revision': 1375315200, | 541 'revision': 1375315200, |
| 575 'value': '77.0964285714', | 542 'value': '77.0964285714', |
| 576 'error': '138.142773233', | 543 'error': '138.142773233', |
| 577 'masterid': 'chromium.webkit', | 544 'masterid': 'chromium.webkit', |
| 578 'buildername': 'Linux (1)', | 545 'buildername': 'Linux (1)', |
| 579 'buildnumber': '1234', | 546 'buildnumber': '1234', |
| 580 'important': True, | 547 'important': True, |
| 581 'units': 'ms', | 548 'units': 'ms', |
| 582 'supplemental_columns': { | 549 'supplemental_columns': { |
| 583 'r_chromium_svn': 12345, | 550 'r_chromium_svn': 12345, |
| 584 'r_webkit_rev': '23456', | 551 'r_webkit_rev': '23456', |
| 585 'r_webrtc_rev': '3456', | 552 'r_webrtc_rev': '3456', |
| 586 'r_v8_rev': '34567', | 553 'r_v8_rev': '34567', |
| 587 }}])] | 554 }}])] |
| 588 errors = [None] | 555 errors = [None] |
| 589 self._TestSendResults(args, expected_new_json, errors, mock_timestamp=True, | 556 self._SendResults(args, expected_new_json, errors, mock_timestamp=True, |
| 590 webkit_master=True) | 557 webkit_master=True) |
| 591 | 558 |
| 592 def test_FailureRetried(self): | 559 def test_FailureRetried(self): |
| 593 args = [ | 560 args = [ |
| 594 { | 561 'bar-summary.dat', |
| 595 'bar-summary.dat': [ | 562 ['{"traces": {"baz": ["100.0", "5.0"]},' |
| 596 '{"traces": {"baz": ["100.0", "5.0"]},' | 563 ' "rev": "12345", "webkit_rev": "6789", "webrtc_rev": "3456",' |
| 597 ' "rev": "12345", "webkit_rev": "6789", "webrtc_rev": "3456",' | 564 ' "v8_rev": "2345"}'], |
| 598 ' "v8_rev": "2345"}' | |
| 599 ], | |
| 600 }, | |
| 601 'linux-release', | 565 'linux-release', |
| 602 'foo', | 566 'foo', |
| 603 'https://chrome-perf.googleplex.com', | 567 'https://chrome-perf.googleplex.com', |
| 604 'chromium.perf', | 568 'chromium.perf', |
| 605 'XP Perf (1)', | 569 'XP Perf (1)', |
| 606 '7890', | 570 '7890', |
| 607 self.build_dir, | 571 self.build_dir, |
| 608 {}] | 572 {}] |
| 609 expected_new_json = [json.dumps([{ | 573 expected_new_json = [json.dumps([{ |
| 610 'master': 'ChromiumPerf', | 574 'master': 'ChromiumPerf', |
| 611 'bot': 'linux-release', | 575 'bot': 'linux-release', |
| 612 'test': 'foo/bar/baz', | 576 'test': 'foo/bar/baz', |
| 613 'revision': 12345, | 577 'revision': 12345, |
| 614 'value': '100.0', | 578 'value': '100.0', |
| 615 'error': '5.0', | 579 'error': '5.0', |
| 616 'masterid': 'chromium.perf', | 580 'masterid': 'chromium.perf', |
| 617 'buildername': 'XP Perf (1)', | 581 'buildername': 'XP Perf (1)', |
| 618 'buildnumber': '7890', | 582 'buildnumber': '7890', |
| 619 'supplemental_columns': { | 583 'supplemental_columns': { |
| 620 'r_webkit_rev': '6789', | 584 'r_webkit_rev': '6789', |
| 621 'r_webrtc_rev': '3456', | 585 'r_webrtc_rev': '3456', |
| 622 'r_v8_rev': '2345', | 586 'r_v8_rev': '2345', |
| 623 }}])] | 587 }}])] |
| 624 errors = [urllib2.URLError('reason')] | 588 errors = [urllib2.URLError('reason')] |
| 625 self._TestSendResults(args, expected_new_json, errors) | 589 self._SendResults(args, expected_new_json, errors) |
| 626 args2 = [ | 590 args2 = [ |
| 627 { | 591 'bar-summary.dat', |
| 628 'bar-summary.dat': [ | 592 ['{"traces": {"baz": ["101.0", "6.0"]},' |
| 629 '{"traces": {"baz": ["101.0", "6.0"]},' | 593 ' "rev": "12346", "webkit_rev": "6790", "webrtc_rev": "3456",' |
| 630 ' "rev": "12346", "webkit_rev": "6790", "webrtc_rev": "3456",' | 594 ' "v8_rev": "2345"}'], |
| 631 ' "v8_rev": "2345"}' | |
| 632 ], | |
| 633 }, | |
| 634 'linux-release', | 595 'linux-release', |
| 635 'foo', | 596 'foo', |
| 636 'https://chrome-perf.googleplex.com', | 597 'https://chrome-perf.googleplex.com', |
| 637 'chromium.perf', | 598 'chromium.perf', |
| 638 'XP Perf (1)', | 599 'XP Perf (1)', |
| 639 '7890', | 600 '7890', |
| 640 self.build_dir, | 601 self.build_dir, |
| 641 {}] | 602 {}] |
| 642 expected_new_json.append(json.dumps([{ | 603 expected_new_json.append(json.dumps([{ |
| 643 'master': 'ChromiumPerf', | 604 'master': 'ChromiumPerf', |
| 644 'bot': 'linux-release', | 605 'bot': 'linux-release', |
| 645 'test': 'foo/bar/baz', | 606 'test': 'foo/bar/baz', |
| 646 'revision': 12346, | 607 'revision': 12346, |
| 647 'value': '101.0', | 608 'value': '101.0', |
| 648 'error': '6.0', | 609 'error': '6.0', |
| 649 'masterid': 'chromium.perf', | 610 'masterid': 'chromium.perf', |
| 650 'buildername': 'XP Perf (1)', | 611 'buildername': 'XP Perf (1)', |
| 651 'buildnumber': '7890', | 612 'buildnumber': '7890', |
| 652 'supplemental_columns': { | 613 'supplemental_columns': { |
| 653 'r_webkit_rev': '6790', | 614 'r_webkit_rev': '6790', |
| 654 'r_webrtc_rev': '3456', | 615 'r_webrtc_rev': '3456', |
| 655 'r_v8_rev': '2345', | 616 'r_v8_rev': '2345', |
| 656 } | 617 } |
| 657 }])) | 618 }])) |
| 658 errors = [None, None] | 619 errors = [None, None] |
| 659 self._TestSendResults(args2, expected_new_json, errors) | 620 self._SendResults(args2, expected_new_json, errors) |
| 660 | 621 |
| 661 def test_SuccessNotRetried(self): | 622 def test_SuccessNotRetried(self): |
| 662 args = [ | 623 args = [ |
| 663 { | 624 'bar-summary.dat', |
| 664 'bar-summary.dat': [ | 625 ['{"traces": {"baz": ["100.0", "5.0"]},' |
| 665 '{"traces": {"baz": ["100.0", "5.0"]},' | 626 ' "rev": "12345", "webkit_rev": "6789", "webrtc_rev": "3456",' |
| 666 ' "rev": "12345", "webkit_rev": "6789", "webrtc_rev": "3456",' | 627 ' "v8_rev": "2345"}'], |
| 667 ' "v8_rev": "2345"}' | |
| 668 ], | |
| 669 }, | |
| 670 'linux-release', | 628 'linux-release', |
| 671 'foo', | 629 'foo', |
| 672 'https://chrome-perf.googleplex.com', | 630 'https://chrome-perf.googleplex.com', |
| 673 'chromium.perf', | 631 'chromium.perf', |
| 674 'XP Perf (1)', | 632 'XP Perf (1)', |
| 675 '7890', | 633 '7890', |
| 676 self.build_dir, | 634 self.build_dir, |
| 677 {}] | 635 {}] |
| 678 expected_new_json = [json.dumps([{ | 636 expected_new_json = [json.dumps([{ |
| 679 'master': 'ChromiumPerf', | 637 'master': 'ChromiumPerf', |
| 680 'bot': 'linux-release', | 638 'bot': 'linux-release', |
| 681 'test': 'foo/bar/baz', | 639 'test': 'foo/bar/baz', |
| 682 'revision': 12345, | 640 'revision': 12345, |
| 683 'value': '100.0', | 641 'value': '100.0', |
| 684 'error': '5.0', | 642 'error': '5.0', |
| 685 'masterid': 'chromium.perf', | 643 'masterid': 'chromium.perf', |
| 686 'buildername': 'XP Perf (1)', | 644 'buildername': 'XP Perf (1)', |
| 687 'buildnumber': '7890', | 645 'buildnumber': '7890', |
| 688 'supplemental_columns': { | 646 'supplemental_columns': { |
| 689 'r_webkit_rev': '6789', | 647 'r_webkit_rev': '6789', |
| 690 'r_webrtc_rev': '3456', | 648 'r_webrtc_rev': '3456', |
| 691 'r_v8_rev': '2345', | 649 'r_v8_rev': '2345', |
| 692 }}])] | 650 }}])] |
| 693 errors = [None] | 651 errors = [None] |
| 694 self._TestSendResults(args, expected_new_json, errors) | 652 self._SendResults(args, expected_new_json, errors) |
| 695 args2 = [ | 653 args2 = [ |
| 696 { | 654 'bar-summary.dat', |
| 697 'bar-summary.dat': [ | 655 ['{"traces": {"baz": ["101.0", "6.0"]},' |
| 698 '{"traces": {"baz": ["101.0", "6.0"]},' | 656 ' "rev": "12346", "webkit_rev": "6790", "webrtc_rev": "3456",' |
| 699 ' "rev": "12346", "webkit_rev": "6790", "webrtc_rev": "3456",' | 657 ' "v8_rev": "2345"}'], |
| 700 ' "v8_rev": "2345"}' | |
| 701 ], | |
| 702 }, | |
| 703 'linux-release', | 658 'linux-release', |
| 704 'foo', | 659 'foo', |
| 705 'https://chrome-perf.googleplex.com', | 660 'https://chrome-perf.googleplex.com', |
| 706 'chromium.perf', | 661 'chromium.perf', |
| 707 'XP Perf (1)', | 662 'XP Perf (1)', |
| 708 '7890', | 663 '7890', |
| 709 self.build_dir, | 664 self.build_dir, |
| 710 {}] | 665 {}] |
| 711 expected_new_json2 = [json.dumps([{ | 666 expected_new_json2 = [json.dumps([{ |
| 712 'master': 'ChromiumPerf', | 667 'master': 'ChromiumPerf', |
| 713 'bot': 'linux-release', | 668 'bot': 'linux-release', |
| 714 'test': 'foo/bar/baz', | 669 'test': 'foo/bar/baz', |
| 715 'revision': 12346, | 670 'revision': 12346, |
| 716 'value': '101.0', | 671 'value': '101.0', |
| 717 'error': '6.0', | 672 'error': '6.0', |
| 718 'masterid': 'chromium.perf', | 673 'masterid': 'chromium.perf', |
| 719 'buildername': 'XP Perf (1)', | 674 'buildername': 'XP Perf (1)', |
| 720 'buildnumber': '7890', | 675 'buildnumber': '7890', |
| 721 'supplemental_columns': { | 676 'supplemental_columns': { |
| 722 'r_webkit_rev': '6790', | 677 'r_webkit_rev': '6790', |
| 723 'r_webrtc_rev': '3456', | 678 'r_webrtc_rev': '3456', |
| 724 'r_v8_rev': '2345', | 679 'r_v8_rev': '2345', |
| 725 } | 680 } |
| 726 }])] | 681 }])] |
| 727 errors = [None] | 682 errors = [None] |
| 728 self._TestSendResults(args2, expected_new_json2, errors) | 683 self._SendResults(args2, expected_new_json2, errors) |
| 729 | 684 |
| 730 def test_FailureCached(self): | 685 def test_FailureCached(self): |
| 731 args = [ | 686 args = [ |
| 732 { | 687 'bar-summary.dat', |
| 733 'bar-summary.dat': [ | 688 ['{"traces": {"baz": ["100.0", "5.0"]},' |
| 734 '{"traces": {"baz": ["100.0", "5.0"]},' | 689 ' "rev": "12345", "webkit_rev": "6789", "webrtc_rev": "3456",' |
| 735 ' "rev": "12345", "webkit_rev": "6789", "webrtc_rev": "3456",' | 690 ' "v8_rev": "2345"}'], |
| 736 ' "v8_rev": "2345"}' | |
| 737 ], | |
| 738 }, | |
| 739 'linux-release', | 691 'linux-release', |
| 740 'foo', | 692 'foo', |
| 741 'https://chrome-perf.googleplex.com', | 693 'https://chrome-perf.googleplex.com', |
| 742 'chromium.perf', | 694 'chromium.perf', |
| 743 'XP Perf (1)', | 695 'XP Perf (1)', |
| 744 '7890', | 696 '7890', |
| 745 self.build_dir, | 697 self.build_dir, |
| 746 {}] | 698 {}] |
| 747 expected_new_json = [json.dumps([{ | 699 expected_new_json = [json.dumps([{ |
| 748 'master': 'ChromiumPerf', | 700 'master': 'ChromiumPerf', |
| 749 'bot': 'linux-release', | 701 'bot': 'linux-release', |
| 750 'test': 'foo/bar/baz', | 702 'test': 'foo/bar/baz', |
| 751 'revision': 12345, | 703 'revision': 12345, |
| 752 'value': '100.0', | 704 'value': '100.0', |
| 753 'error': '5.0', | 705 'error': '5.0', |
| 754 'masterid': 'chromium.perf', | 706 'masterid': 'chromium.perf', |
| 755 'buildername': 'XP Perf (1)', | 707 'buildername': 'XP Perf (1)', |
| 756 'buildnumber': '7890', | 708 'buildnumber': '7890', |
| 757 'supplemental_columns': { | 709 'supplemental_columns': { |
| 758 'r_webkit_rev': '6789', | 710 'r_webkit_rev': '6789', |
| 759 'r_webrtc_rev': '3456', | 711 'r_webrtc_rev': '3456', |
| 760 'r_v8_rev': '2345', | 712 'r_v8_rev': '2345', |
| 761 }}])] | 713 }}])] |
| 762 errors = [urllib2.URLError('reason')] | 714 errors = [urllib2.URLError('reason')] |
| 763 self._TestSendResults(args, expected_new_json, errors) | 715 self._SendResults(args, expected_new_json, errors) |
| 764 cache_file = open(self.cache_filename, 'rb') | 716 cache_file = open(self.cache_filename, 'rb') |
| 765 actual_cache = cache_file.read() | 717 actual_cache = cache_file.read() |
| 766 cache_file.close() | 718 cache_file.close() |
| 767 # Compare the dicts loaded from the JSON instead of the actual JSON string, | 719 # Compare the dicts loaded from the JSON instead of the actual JSON string, |
| 768 # because the order of the fields in the string doesn't matter. | 720 # because the order of the fields in the string doesn't matter. |
| 769 self.assertEqual(json.loads(expected_new_json[0]), json.loads(actual_cache)) | 721 self.assertEqual(json.loads(expected_new_json[0]), json.loads(actual_cache)) |
| 770 | 722 |
| 771 def test_NoResendAfterMultipleErrors(self): | 723 def test_NoResendAfterMultipleErrors(self): |
| 772 previous_lines = '\n'.join([ | 724 previous_lines = '\n'.join([ |
| 773 json.dumps([{ | 725 json.dumps([{ |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 813 'supplemental_columns': { | 765 'supplemental_columns': { |
| 814 'r_webkit_rev': '6789', | 766 'r_webkit_rev': '6789', |
| 815 'r_webrtc_rev': '3456', | 767 'r_webrtc_rev': '3456', |
| 816 'r_v8_rev': '2345', | 768 'r_v8_rev': '2345', |
| 817 }}]) | 769 }}]) |
| 818 ]) | 770 ]) |
| 819 cache_file = open(self.cache_filename, 'wb') | 771 cache_file = open(self.cache_filename, 'wb') |
| 820 cache_file.write(previous_lines) | 772 cache_file.write(previous_lines) |
| 821 cache_file.close() | 773 cache_file.close() |
| 822 args = [ | 774 args = [ |
| 823 { | 775 'bar-summary.dat', |
| 824 'bar-summary.dat': [ | 776 ['{"traces": {"baz": ["102.0", "5.0"]},' |
| 825 '{"traces": {"baz": ["102.0", "5.0"]},' | 777 ' "rev": "12348", "webkit_rev": "6789", "v8_rev": "2345"}'], |
| 826 ' "rev": "12348", "webkit_rev": "6789", "v8_rev": "2345"}' | |
| 827 ], | |
| 828 }, | |
| 829 'linux-release', | 778 'linux-release', |
| 830 'foo', | 779 'foo', |
| 831 'https://chrome-perf.googleplex.com', | 780 'https://chrome-perf.googleplex.com', |
| 832 'chromium.perf', | 781 'chromium.perf', |
| 833 'XP Perf (1)', | 782 'XP Perf (1)', |
| 834 '7890', | 783 '7890', |
| 835 self.build_dir, | 784 self.build_dir, |
| 836 {}] | 785 {}] |
| 837 expected_new_json = [json.dumps([{ | 786 expected_new_json = [json.dumps([{ |
| 838 'master': 'ChromiumPerf', | 787 'master': 'ChromiumPerf', |
| 839 'bot': 'linux-release', | 788 'bot': 'linux-release', |
| 840 'test': 'foo/bar/baz', | 789 'test': 'foo/bar/baz', |
| 841 'revision': 12345, | 790 'revision': 12345, |
| 842 'value': '100.0', | 791 'value': '100.0', |
| 843 'error': '5.0', | 792 'error': '5.0', |
| 844 'masterid': 'chromium.perf', | 793 'masterid': 'chromium.perf', |
| 845 'buildername': 'XP Perf (1)', | 794 'buildername': 'XP Perf (1)', |
| 846 'buildnumber': '7890', | 795 'buildnumber': '7890', |
| 847 'supplemental_columns': { | 796 'supplemental_columns': { |
| 848 'r_webkit_rev': '6789', | 797 'r_webkit_rev': '6789', |
| 849 'r_webrtc_rev': '3456', | 798 'r_webrtc_rev': '3456', |
| 850 'r_v8_rev': '2345', | 799 'r_v8_rev': '2345', |
| 851 }}])] | 800 }}])] |
| 852 errors = [urllib2.URLError('reason')] | 801 errors = [urllib2.URLError('reason')] |
| 853 self._TestSendResults(args, expected_new_json, errors) | 802 self._SendResults(args, expected_new_json, errors) |
| 854 cache_file = open(self.cache_filename, 'rb') | 803 cache_file = open(self.cache_filename, 'rb') |
| 855 actual_cache_lines = [l.strip() for l in cache_file.readlines()] | 804 actual_cache_lines = [l.strip() for l in cache_file.readlines()] |
| 856 cache_file.close() | 805 cache_file.close() |
| 857 self.assertEqual(4, len(actual_cache_lines)) | 806 self.assertEqual(4, len(actual_cache_lines)) |
| 858 for line in previous_lines.split('\n') + expected_new_json: | 807 for line in previous_lines.split('\n') + expected_new_json: |
| 859 self.assertTrue(line in actual_cache_lines) | 808 self.assertTrue(line in actual_cache_lines) |
| 860 | 809 |
| 861 def test_ChunkList(self): | |
| 862 """Tests the list-chunking function.""" | |
| 863 # Access to a protected member. | |
| 864 # pylint: disable=W0212 | |
| 865 self.assertEqual( | |
| 866 [[1, 2, 3], [4, 5, 6], [7]], | |
| 867 results_dashboard._ChunkList([1, 2, 3, 4, 5, 6, 7], 3)) | |
| 868 self.assertEqual( | |
| 869 [[1, 2, 3, 4, 5, 6, 7]], | |
| 870 results_dashboard._ChunkList([1, 2, 3, 4, 5, 6, 7], 7)) | |
| 871 self.assertEqual( | |
| 872 [], results_dashboard._ChunkList([], 3)) | |
| 873 self.assertEqual( | |
| 874 [[1, 2, 3], [4, 5, 6]], | |
| 875 results_dashboard._ChunkList([1, 2, 3, 4, 5, 6], 3)) | |
| 876 | |
| 877 | 810 |
| 878 if __name__ == '__main__': | 811 if __name__ == '__main__': |
| 879 unittest.main() | 812 unittest.main() |
| OLD | NEW |