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

Unified Diff: tools/telemetry/telemetry/core/platform/power_monitor/powermetrics_power_monitor_unittest.py

Issue 789853003: [Telemetry] Don't fail powermetrics unit tests when run on a VM. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years 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
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)

Powered by Google App Engine
This is Rietveld 408576698