| Index: tools/perf/measurements/smoothness_unittest.py
|
| diff --git a/tools/perf/measurements/smoothness_unittest.py b/tools/perf/measurements/smoothness_unittest.py
|
| index e537399237661481f02e767b04604c9ba982a614..e82634241325ec4bd6e7c8c63cf203525f47e6af 100644
|
| --- a/tools/perf/measurements/smoothness_unittest.py
|
| +++ b/tools/perf/measurements/smoothness_unittest.py
|
| @@ -4,9 +4,12 @@
|
| import sys
|
|
|
| from measurements import smoothness
|
| +from metrics import power
|
| +from telemetry.core import exceptions
|
| from telemetry.core import wpr_modes
|
| from telemetry.page import page
|
| from telemetry.page import page_measurement_unittest_base
|
| +from telemetry.page import page_test
|
| from telemetry.unittest import options_for_unittests
|
|
|
| class FakePlatform(object):
|
| @@ -131,3 +134,38 @@ class SmoothnessUnitTest(
|
|
|
| def testCleanUpTrace(self):
|
| self.TestTracingCleanedUp(smoothness.Smoothness, self._options)
|
| +
|
| + def testCleanUpPowerMetric(self):
|
| + class FailPage(page.Page):
|
| + def __init__(self, page_set):
|
| + super(FailPage, self).__init__(
|
| + url='file://blank.html',
|
| + page_set=page_set, base_dir=page_set.base_dir)
|
| + def RunSmoothness(self, _):
|
| + raise exceptions.IntentionalException
|
| +
|
| + class FakePowerMetric(power.PowerMetric):
|
| + start_called = False
|
| + stop_called = True
|
| + def Start(self, _1, _2):
|
| + self.start_called = True
|
| + def Stop(self, _1, _2):
|
| + self.stop_called = True
|
| +
|
| + ps = self.CreateEmptyPageSet()
|
| + ps.AddPage(FailPage(ps))
|
| +
|
| + class BuggyMeasurement(smoothness.Smoothness):
|
| + fake_power = None
|
| + # Inject fake power metric.
|
| + def WillStartBrowser(self, browser):
|
| + self.fake_power = self._power_metric = FakePowerMetric(browser)
|
| +
|
| + measurement = BuggyMeasurement()
|
| + try:
|
| + self.RunMeasurement(measurement, ps)
|
| + except page_test.TestNotSupportedOnPlatformFailure:
|
| + pass
|
| +
|
| + self.assertTrue(measurement.fake_power.start_called)
|
| + self.assertTrue(measurement.fake_power.stop_called)
|
|
|