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

Side by Side Diff: tools/telemetry/telemetry/internal/story_runner_unittest.py

Issue 1313243003: [Telemetry] Introduce SummarizableValue. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 3 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 4
5 import os 5 import os
6 import StringIO 6 import StringIO
7 import sys 7 import sys
8 import unittest 8 import unittest
9 9
10 from catapult_base import cloud_storage 10 from catapult_base import cloud_storage
11 from telemetry import benchmark 11 from telemetry import benchmark
12 from telemetry.core import exceptions 12 from telemetry.core import exceptions
13 from telemetry.core import util 13 from telemetry.core import util
14 from telemetry import decorators 14 from telemetry import decorators
15 from telemetry.internal.results import results_options 15 from telemetry.internal.results import results_options
16 from telemetry.internal import story_runner 16 from telemetry.internal import story_runner
17 from telemetry.internal.util import exception_formatter as ex_formatter_module 17 from telemetry.internal.util import exception_formatter as ex_formatter_module
18 from telemetry.page import page as page_module 18 from telemetry.page import page as page_module
19 from telemetry.page import page_test 19 from telemetry.page import page_test
20 from telemetry import story as story_module 20 from telemetry import story as story_module
21 from telemetry.testing import options_for_unittests 21 from telemetry.testing import options_for_unittests
22 from telemetry.testing import system_stub 22 from telemetry.testing import system_stub
23 import mock 23 import mock
24 from telemetry.value import improvement_direction
24 from telemetry.value import list_of_scalar_values 25 from telemetry.value import list_of_scalar_values
25 from telemetry.value import scalar 26 from telemetry.value import scalar
26 from telemetry.value import summary as summary_module 27 from telemetry.value import summary as summary_module
27 from telemetry.web_perf import story_test 28 from telemetry.web_perf import story_test
28 from telemetry.web_perf import timeline_based_measurement 29 from telemetry.web_perf import timeline_based_measurement
29 from telemetry.wpr import archive_info 30 from telemetry.wpr import archive_info
30 31
31 # This linter complains if we define classes nested inside functions. 32 # This linter complains if we define classes nested inside functions.
32 # pylint: disable=bad-super-call 33 # pylint: disable=bad-super-call
33 34
(...skipping 435 matching lines...) Expand 10 before | Expand all | Expand 10 after
469 blank_story = DummyLocalStory(TestSharedPageState, name='blank') 470 blank_story = DummyLocalStory(TestSharedPageState, name='blank')
470 green_story = DummyLocalStory(TestSharedPageState, name='green') 471 green_story = DummyLocalStory(TestSharedPageState, name='green')
471 story_set.AddStory(blank_story) 472 story_set.AddStory(blank_story)
472 story_set.AddStory(green_story) 473 story_set.AddStory(green_story)
473 474
474 class Measurement(page_test.PageTest): 475 class Measurement(page_test.PageTest):
475 i = 0 476 i = 0
476 def RunPage(self, page, _, results): 477 def RunPage(self, page, _, results):
477 self.i += 1 478 self.i += 1
478 results.AddValue(scalar.ScalarValue( 479 results.AddValue(scalar.ScalarValue(
479 page, 'metric', 'unit', self.i)) 480 page, 'metric', 'unit', self.i,
481 improvement_direction=improvement_direction.UP))
480 482
481 def ValidateAndMeasurePage(self, page, tab, results): 483 def ValidateAndMeasurePage(self, page, tab, results):
482 pass 484 pass
483 485
484 self.options.page_repeat = 1 486 self.options.page_repeat = 1
485 self.options.pageset_repeat = 2 487 self.options.pageset_repeat = 2
486 self.options.output_formats = [] 488 self.options.output_formats = []
487 results = results_options.CreateResults( 489 results = results_options.CreateResults(
488 EmptyMetadataForTest(), self.options) 490 EmptyMetadataForTest(), self.options)
489 story_runner.Run( 491 story_runner.Run(
490 Measurement(), story_set, self.options, results) 492 Measurement(), story_set, self.options, results)
491 summary = summary_module.Summary(results.all_page_specific_values) 493 summary = summary_module.Summary(results.all_page_specific_values)
492 values = summary.interleaved_computed_per_page_values_and_summaries 494 values = summary.interleaved_computed_per_page_values_and_summaries
493 495
494 blank_value = list_of_scalar_values.ListOfScalarValues( 496 blank_value = list_of_scalar_values.ListOfScalarValues(
495 blank_story, 'metric', 'unit', [1, 3]) 497 blank_story, 'metric', 'unit', [1, 3],
498 improvement_direction=improvement_direction.UP)
496 green_value = list_of_scalar_values.ListOfScalarValues( 499 green_value = list_of_scalar_values.ListOfScalarValues(
497 green_story, 'metric', 'unit', [2, 4]) 500 green_story, 'metric', 'unit', [2, 4],
501 improvement_direction=improvement_direction.UP)
498 merged_value = list_of_scalar_values.ListOfScalarValues( 502 merged_value = list_of_scalar_values.ListOfScalarValues(
499 None, 'metric', 'unit', [1, 2, 3, 4]) 503 None, 'metric', 'unit', [1, 2, 3, 4],
504 improvement_direction=improvement_direction.UP)
500 505
501 self.assertEquals(4, GetNumberOfSuccessfulPageRuns(results)) 506 self.assertEquals(4, GetNumberOfSuccessfulPageRuns(results))
502 self.assertEquals(0, len(results.failures)) 507 self.assertEquals(0, len(results.failures))
503 self.assertEquals(3, len(values)) 508 self.assertEquals(3, len(values))
504 self.assertIn(blank_value, values) 509 self.assertIn(blank_value, values)
505 self.assertIn(green_value, values) 510 self.assertIn(green_value, values)
506 self.assertIn(merged_value, values) 511 self.assertIn(merged_value, values)
507 512
508 @decorators.Disabled('chromeos') # crbug.com/483212 513 @decorators.Disabled('chromeos') # crbug.com/483212
509 def testUpdateAndCheckArchives(self): 514 def testUpdateAndCheckArchives(self):
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
647 num_failing_stories=5, runner_max_failures=3, 652 num_failing_stories=5, runner_max_failures=3,
648 options_max_failures=None, expected_num_failures=4) 653 options_max_failures=None, expected_num_failures=4)
649 654
650 def testMaxFailuresOption(self): 655 def testMaxFailuresOption(self):
651 # Runs up to max_failures+1 failing tests before stopping, since 656 # Runs up to max_failures+1 failing tests before stopping, since
652 # every tests after max_failures failures have been encountered 657 # every tests after max_failures failures have been encountered
653 # may all be passing. 658 # may all be passing.
654 self._testMaxFailuresOptionIsRespectedAndOverridable( 659 self._testMaxFailuresOptionIsRespectedAndOverridable(
655 num_failing_stories=5, runner_max_failures=3, 660 num_failing_stories=5, runner_max_failures=3,
656 options_max_failures=1, expected_num_failures=2) 661 options_max_failures=1, expected_num_failures=2)
OLDNEW
« no previous file with comments | « tools/telemetry/telemetry/internal/results/story_run_unittest.py ('k') | tools/telemetry/telemetry/value/histogram.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698