Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / tools / telemetry / telemetry / core / platform / platform_backend_unittest.py
index 4909349..a6d37b4 100644 (file)
@@ -3,19 +3,32 @@
 # found in the LICENSE file.
 
 import logging
+import time
 import unittest
 
-from telemetry.core.platform import factory
+from telemetry.core import platform as platform_module
 
 
 class PlatformBackendTest(unittest.TestCase):
   def testPowerMonitoringSync(self):
     # Tests that the act of monitoring power doesn't blow up.
-    backend = factory.GetPlatformBackendForCurrentOS()
-    if not backend.CanMonitorPowerSync():
+    platform = platform_module.GetHostPlatform()
+    can_monitor_power = platform.CanMonitorPower()
+    self.assertIsInstance(can_monitor_power, bool)
+    if not can_monitor_power:
       logging.warning('Test not supported on this platform.')
       return
 
-    output = backend.MonitorPowerSync(1)
-    self.assertTrue(output.has_key('power_samples_mw'))
+    browser_mock = lambda: None
+    # Android needs to access the package of the monitored app.
+    if platform.GetOSName() == 'android':
+      # pylint: disable=W0212
+      browser_mock._browser_backend = lambda: None
+      # Monitor the launcher, which is always present.
+      browser_mock._browser_backend.package = 'com.android.launcher'
+
+    platform.StartMonitoringPower(browser_mock)
+    time.sleep(0.001)
+    output = platform.StopMonitoringPower()
+    self.assertTrue(output.has_key('energy_consumption_mwh'))
     self.assertTrue(output.has_key('identifier'))