| 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'
|
|
|