Index: tools/telemetry/telemetry/core/platform/power_monitor/powermetrics_power_monitor_unittest.py |
diff --git a/tools/telemetry/telemetry/core/platform/power_monitor/powermetrics_power_monitor_unittest.py b/tools/telemetry/telemetry/core/platform/power_monitor/powermetrics_power_monitor_unittest.py |
index bca0923ba9cace55a24b5cf564fb03bb742cdce3..b31667d74df42bf949fe4b896361c3b341927dc4 100644 |
--- a/tools/telemetry/telemetry/core/platform/power_monitor/powermetrics_power_monitor_unittest.py |
+++ b/tools/telemetry/telemetry/core/platform/power_monitor/powermetrics_power_monitor_unittest.py |
@@ -13,6 +13,14 @@ from telemetry.core.platform import platform_backend |
from telemetry.core.platform.power_monitor import powermetrics_power_monitor |
+def _parsePowerMetricsDataFromTestFile(output_file): |
+ test_data_path = os.path.join(util.GetUnittestDataDir(), output_file) |
+ with open(test_data_path, 'r') as f: |
+ process_output = f.read() |
+ return (powermetrics_power_monitor.PowerMetricsPowerMonitor. |
+ ParsePowerMetricsOutput(process_output)) |
+ |
+ |
class PowerMetricsPowerMonitorTest(unittest.TestCase): |
@benchmark.Enabled('mac') |
def testCanMonitorPowerUsage(self): |
@@ -31,14 +39,13 @@ class PowerMetricsPowerMonitorTest(unittest.TestCase): |
ParsePowerMetricsOutput('')) |
@benchmark.Enabled('mac') |
- def testParsePowerMetricsOutput(self): |
- def getOutput(output_file): |
- test_data_path = os.path.join(util.GetUnittestDataDir(), output_file) |
- with open(test_data_path, 'r') as f: |
- process_output = f.read() |
- return (powermetrics_power_monitor.PowerMetricsPowerMonitor. |
- ParsePowerMetricsOutput(process_output)) |
+ def testParsePowerMetricsOutputFromVM(self): |
+ # Don't fail when running on VM - crbug.com/423688. |
+ self.assertEquals({}, |
+ _parsePowerMetricsDataFromTestFile('powermetrics_vmware.output')) |
+ @benchmark.Enabled('mac') |
+ def testParsePowerMetricsOutput(self): |
power_monitor = powermetrics_power_monitor.PowerMetricsPowerMonitor( |
mac_platform_backend.MacPlatformBackend()) |
if not power_monitor.CanMonitorPower(): |
@@ -49,7 +56,7 @@ class PowerMetricsPowerMonitorTest(unittest.TestCase): |
self.assertFalse(power_monitor.CanMeasurePerApplicationPower()) |
# Supported hardware reports power samples and energy consumption. |
- result = getOutput('powermetrics_output.output') |
+ result = _parsePowerMetricsDataFromTestFile('powermetrics_output.output') |
self.assertTrue(result['energy_consumption_mwh'] > 0) |
@@ -60,5 +67,6 @@ class PowerMetricsPowerMonitorTest(unittest.TestCase): |
self.assertTrue(component_utilization[k]['idle_percent'] > 0) |
# Unsupported hardware doesn't. |
- result = getOutput('powermetrics_output_unsupported_hardware.output') |
+ result = _parsePowerMetricsDataFromTestFile( |
+ 'powermetrics_output_unsupported_hardware.output') |
self.assertNotIn('energy_consumption_mwh', result) |