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

Unified Diff: tools/perf/benchmarks/system_health_smoke_test.py

Issue 2117533002: Revert of [tools/perf] Add system_health_smoke_test that run all system health stories (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/perf/benchmarks/system_health_smoke_test.py
diff --git a/tools/perf/benchmarks/system_health_smoke_test.py b/tools/perf/benchmarks/system_health_smoke_test.py
deleted file mode 100644
index 60bb3b6312d4a83c0ae3e3c04b077b4372228810..0000000000000000000000000000000000000000
--- a/tools/perf/benchmarks/system_health_smoke_test.py
+++ /dev/null
@@ -1,144 +0,0 @@
-# Copyright 2016 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""Run all system health stories used by system health benchmarks.
-
-Only memory benchmarks are used when running these stories to make the total
-cycle time manageable. Other system health benchmarks should be using the same
-stories as memory ones, only with fewer actions (no memory dumping).
-"""
-
-import unittest
-
-from core import perf_benchmark
-
-from telemetry import benchmark as benchmark_module
-from telemetry import decorators
-from telemetry.core import discover
-from telemetry.internal.browser import browser_finder
-from telemetry.testing import options_for_unittests
-from telemetry.testing import progress_reporter
-
-from benchmarks import system_health
-
-
-# We only cover memory system health
-_SH_BENCHMARKS_TO_SMOKE_TEST = [
- system_health.DesktopMemorySystemHealth,
- system_health.MobileMemorySystemHealth,
-]
-
-
-def GetSystemHealthBenchmarksToSmokeTest():
- sh_benchmark_classes = discover.DiscoverClassesInModule(
- system_health, perf_benchmark.PerfBenchmark,
- index_by_class_name=True).values()
- return list(b for b in sh_benchmark_classes if
- b.Name().startswith('system_health.memory'))
-
-
-_DISABLED_TESTS = [
- # crbug.com/624474
- 'benchmarks.system_health_smoke_test.SystemHealthBenchmarkSmokeTest.system_health.memory_desktop.load:tools:dropbox', # pylint: disable=line-too-long
- 'benchmarks.system_health_smoke_test.SystemHealthBenchmarkSmokeTest.system_health.memory_desktop.load:tools:docs', # pylint: disable=line-too-long
- # crbug.com/624587
- 'benchmarks.system_health_smoke_test.SystemHealthBenchmarkSmokeTest.system_health.memory_desktop.load:search:ebay', # pylint: disable=line-too-long
- 'benchmarks.system_health_smoke_test.SystemHealthBenchmarkSmokeTest.system_health.memory_desktop.load:news:cnn', # pylint: disable=line-too-long
- # crbug.com/624607
- 'benchmarks.system_health_smoke_test.SystemHealthBenchmarkSmokeTest.system_health.memory_desktop.load:media:dailymotion', # pylint: disable=line-too-long
- # crbug.com/624701
- 'benchmarks.system_health_smoke_test.SystemHealthBenchmarkSmokeTest.system_health.memory_mobile.load:games:bubbles', # pylint: disable=line-too-long
- 'benchmarks.system_health_smoke_test.SystemHealthBenchmarkSmokeTest.system_health.memory_mobile.load:games:spychase', # pylint: disable=line-too-long
- 'benchmarks.system_health_smoke_test.SystemHealthBenchmarkSmokeTest.system_health.memory_mobile.load:news:cnn', # pylint: disable=line-too-long
-]
-
-
-def _GenerateSmokeTestCase(benchmark_class, story_to_smoke_test):
-
- # NOTE TO SHERIFFS: DO NOT DISABLE THIS TEST.
- #
- # This smoke test dynamically tests all system health user stories. So
- # disabling it for one failing or flaky benchmark would disable a much
- # wider swath of coverage than is usally intended. Instead, if a test is
- # failing, disable it by putting it into the _DISABLED_TESTS list above.
- @benchmark_module.Disabled('chromeos') # crbug.com/351114
- def RunTest(self):
-
- class SinglePageBenchmark(benchmark_class): # pylint: disable=no-init
- def CreateStorySet(self, options):
- # pylint: disable=super-on-old-class
- story_set = super(SinglePageBenchmark, self).CreateStorySet(options)
- assert story_to_smoke_test in story_set.stories
- story_set.stories = [story_to_smoke_test]
- return story_set
-
- options = GenerateBenchmarkOptions(benchmark_class)
- possible_browser = browser_finder.FindBrowser(options)
- if possible_browser is None:
- self.skipTest('Cannot find the browser to run the test.')
- if (SinglePageBenchmark.ShouldDisable(possible_browser) or
- not decorators.IsEnabled(benchmark_class, possible_browser)[0]):
- self.skipTest('Benchmark %s is disabled' % SinglePageBenchmark.Name())
-
- if self.id() in _DISABLED_TESTS:
- self.skipTest('Test is explictly disabled')
-
- self.assertEqual(0, SinglePageBenchmark().Run(options),
- msg='Failed: %s' % benchmark_class)
-
- # We attach the test method to SystemHealthBenchmarkSmokeTest dynamically
- # so that we can set the test method name to include
- # '<benchmark class name>.<story display name>'.
- test_method_name = '%s.%s' % (
- benchmark_class.Name(), story_to_smoke_test.display_name)
-
- class SystemHealthBenchmarkSmokeTest(unittest.TestCase):
- pass
-
- setattr(SystemHealthBenchmarkSmokeTest, test_method_name, RunTest)
-
- return SystemHealthBenchmarkSmokeTest(methodName=test_method_name)
-
-
-def GenerateBenchmarkOptions(benchmark_class):
- # Set the benchmark's default arguments.
- options = options_for_unittests.GetCopy()
- options.output_format = 'none'
- parser = options.CreateParser()
-
- # TODO(nednguyen): probably this logic of setting up the benchmark options
- # parser & processing the options should be sharable with telemetry's
- # core.
- benchmark_class.AddCommandLineArgs(parser)
- benchmark_module.AddCommandLineArgs(parser)
- benchmark_class.SetArgumentDefaults(parser)
- options.MergeDefaultValues(parser.get_default_values())
-
- benchmark_class.ProcessCommandLineArgs(None, options)
- benchmark_module.ProcessCommandLineArgs(None, options)
- # Only measure a single story so that this test cycles reasonably quickly.
- options.pageset_repeat = 1
- options.page_repeat = 1
- return options
-
-
-def load_tests(loader, standard_tests, pattern):
- del loader, standard_tests, pattern # unused
- suite = progress_reporter.TestSuite()
- benchmark_classes = GetSystemHealthBenchmarksToSmokeTest()
- assert benchmark_classes, 'This list should never be empty'
- for benchmark_class in benchmark_classes:
-
- # HACK: these options should be derived from options_for_unittests which are
- # the resolved options from run_tests' arguments. However, options is only
- # parsed during test time which happens after load_tests are called.
- # Since none of our system health benchmarks creates stories based on
- # command line options, it should be ok to pass options=None to
- # CreateStorySet.
- for story_to_smoke_test in (
- benchmark_class().CreateStorySet(options=None).stories):
- suite.addTest(
- _GenerateSmokeTestCase(benchmark_class, story_to_smoke_test))
-
- return suite
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698