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

Unified Diff: tools/telemetry/telemetry/benchmark_unittest.py

Issue 789363002: TimelineBasedMeasurement(object) instead of TimelineBasedMeasurement(page_test.PageTest) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/telemetry/telemetry/benchmark.py ('k') | tools/telemetry/telemetry/page/shared_page_state.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/telemetry/telemetry/benchmark_unittest.py
diff --git a/tools/telemetry/telemetry/benchmark_unittest.py b/tools/telemetry/telemetry/benchmark_unittest.py
index da1a07192f99b9465e98490699ace69da77c3110..eb8983b2baa6f25f4352c55cb861f708adb262b8 100644
--- a/tools/telemetry/telemetry/benchmark_unittest.py
+++ b/tools/telemetry/telemetry/benchmark_unittest.py
@@ -14,6 +14,7 @@ from telemetry.user_story import android
from telemetry.user_story import shared_user_story_state
from telemetry.user_story import user_story_runner
from telemetry.user_story import user_story_set
+from telemetry.web_perf import timeline_based_measurement
class DummyPageTest(page_test.PageTest):
@@ -76,3 +77,53 @@ class BenchmarkTest(unittest.TestCase):
user_story_runner.Run = original_run_fn
self.assertTrue(was_run[0])
+
+ def testOverriddenTbmOptionsAndPageTestRaises(self):
+ class FakeTimelineBasedMeasurementOptions(object):
+ pass
+
+ class OverrideBothBenchmark(benchmark.Benchmark):
+ def CreatePageTest(self, _):
+ return DummyPageTest()
+ def CreateTimelineBasedMeasurementOptions(self):
+ return FakeTimelineBasedMeasurementOptions()
+
+ assertion_regex = (
+ 'Cannot override both CreatePageTest and '
+ 'CreateTimelineBasedMeasurementOptions')
+ with self.assertRaisesRegexp(AssertionError, assertion_regex):
+ OverrideBothBenchmark()
+
+ def testBenchmarkMakesTbmTestByDefault(self):
+ class DefaultTbmBenchmark(benchmark.Benchmark):
+ pass
+
+ self.assertIsInstance(
+ DefaultTbmBenchmark().CreatePageTest(options=None),
+ timeline_based_measurement.TimelineBasedMeasurement)
+
+ def testUnknownTestTypeRaises(self):
+ class UnknownTestType(object):
+ pass
+ class UnknownTestTypeBenchmark(benchmark.Benchmark):
+ test = UnknownTestType
+
+ type_error_regex = (
+ '"UnknownTestType" is not a PageTest or a TimelineBasedMeasurement')
+ with self.assertRaisesRegexp(TypeError, type_error_regex):
+ UnknownTestTypeBenchmark().CreatePageTest(options=None)
+
+ def testOverriddenTbmOptionsAndPageTestTestAttributeRaises(self):
+ class FakeTimelineBasedMeasurementOptions(object):
+ pass
+
+ class OverrideOptionsOnPageTestBenchmark(benchmark.Benchmark):
+ test = DummyPageTest
+ def CreateTimelineBasedMeasurementOptions(self):
+ return FakeTimelineBasedMeasurementOptions()
+
+ assertion_regex = (
+ 'Cannot override CreateTimelineBasedMeasurementOptions '
+ 'with a PageTest')
+ with self.assertRaisesRegexp(AssertionError, assertion_regex):
+ OverrideOptionsOnPageTestBenchmark().CreatePageTest(options=None)
« no previous file with comments | « tools/telemetry/telemetry/benchmark.py ('k') | tools/telemetry/telemetry/page/shared_page_state.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698