Index: tools/telemetry/telemetry/unittest_util/system_stub.py |
diff --git a/tools/telemetry/telemetry/unittest_util/system_stub.py b/tools/telemetry/telemetry/unittest_util/system_stub.py |
index 27f3956dc22ad9cf3b094f4a00405fde16217eb7..cb7c20dd795d96b5692516f52a01876c89252a7f 100644 |
--- a/tools/telemetry/telemetry/unittest_util/system_stub.py |
+++ b/tools/telemetry/telemetry/unittest_util/system_stub.py |
@@ -9,12 +9,14 @@ |
import os |
import re |
+import shlex |
import sys |
class Override(object): |
def __init__(self, base_module, module_list): |
- stubs = {'cloud_storage': CloudStorageModuleStub, |
+ stubs = {'adb_commands': AdbCommandsModuleStub, |
+ 'cloud_storage': CloudStorageModuleStub, |
'open': OpenFunctionStub, |
'os': OsModuleStub, |
'perf_control': PerfControlModuleStub, |
@@ -58,6 +60,96 @@ |
self._overrides = {} |
+class AdbDevice(object): |
+ |
+ def __init__(self): |
+ self.has_root = False |
+ self.needs_su = False |
+ self.shell_command_handlers = {} |
+ self.mock_content = [] |
+ self.system_properties = {} |
+ if self.system_properties.get('ro.product.cpu.abi') == None: |
+ self.system_properties['ro.product.cpu.abi'] = 'armeabi-v7a' |
+ |
+ def HasRoot(self): |
+ return self.has_root |
+ |
+ def NeedsSU(self): |
+ return self.needs_su |
+ |
+ def RunShellCommand(self, args, **_kwargs): |
+ if isinstance(args, basestring): |
+ args = shlex.split(args) |
+ handler = self.shell_command_handlers[args[0]] |
+ return handler(args) |
+ |
+ def FileExists(self, _): |
+ return False |
+ |
+ def ReadFile(self, device_path, as_root=False): # pylint: disable=W0613 |
+ return self.mock_content |
+ |
+ def GetProp(self, property_name): |
+ return self.system_properties[property_name] |
+ |
+ def SetProp(self, property_name, property_value): |
+ self.system_properties[property_name] = property_value |
+ |
+ |
+class AdbCommandsModuleStub(object): |
+ |
+ class AdbCommandsStub(object): |
+ |
+ def __init__(self, module, device): |
+ self._module = module |
+ self._device = device |
+ self.is_root_enabled = True |
+ self._adb_device = module.adb_device |
+ |
+ def IsRootEnabled(self): |
+ return self.is_root_enabled |
+ |
+ def RestartAdbdOnDevice(self): |
+ pass |
+ |
+ def IsUserBuild(self): |
+ return False |
+ |
+ def WaitForDevicePm(self): |
+ pass |
+ |
+ def device(self): |
+ return self._adb_device |
+ |
+ def device_serial(self): |
+ return self._device |
+ |
+ def __init__(self): |
+ self.attached_devices = [] |
+ self.apk_package_name = None |
+ self.adb_device = AdbDevice() |
+ |
+ def AdbCommandsStubConstructor(device=None): |
+ return AdbCommandsModuleStub.AdbCommandsStub(self, device) |
+ self.AdbCommands = AdbCommandsStubConstructor |
+ |
+ @staticmethod |
+ def IsAndroidSupported(): |
+ return True |
+ |
+ def GetPackageName(self, _): |
+ return self.apk_package_name |
+ |
+ def GetAttachedDevices(self): |
+ return self.attached_devices |
+ |
+ def SetupPrebuiltTools(self, _): |
+ return True |
+ |
+ def CleanupLeftoverProcesses(self): |
+ pass |
+ |
+ |
class CloudStorageModuleStub(object): |
PUBLIC_BUCKET = 'chromium-telemetry' |
PARTNER_BUCKET = 'chrome-partner-telemetry' |