telemetry.core.cros_interface | index telemetry/core/cros_interface.py

`A wrapper around ssh for common operations on a CrOS-based device`

Modules
`` |  |
logging os | re shutil | stat subprocess | tempfile

Classes
`` |  | __builtin__.object CrOSInterface exceptions.Exception(exceptions.BaseException) LoginException DNSFailureException KeylessLoginRequiredException
class CrOSInterface(__builtin__.object)
`` |  | Methods defined here: Chown(self, filename) CloseConnection(self) CryptohomePath(self, user) `Returns the cryptohome mount point for |user|.` FileExistsOnDevice(self, file_name) FilesystemMountedAt(self, path) `Returns the filesystem mounted at |path|` FormSSHCommandLine(self, args, extra_ssh_args=None) `Constructs a subprocess-suitable command line for `ssh'.` GetChromePid(self) `Returns pid of main chrome browser process.` GetChromeProcess(self) `Locates the the main chrome browser process. Chrome on cros is usually in /opt/google/chrome, but could be in /usr/local/ for developer workflows - debug chrome is too large to fit on rootfs. Chrome spawns multiple processes for renderers. pids wrap around after they are exhausted so looking for the smallest pid is not always correct. We locate the session_manager's pid, and look for the chrome process that's an immediate child. This is the main browser process.` GetFile(self, filename, destfile=None) `Copies a local file |filename| to |destfile| on the device. Args: filename: The name of the local source file. destfile: The name of the file to copy to, and if it is not specified then it is the basename of the source file.` GetFileContents(self, filename) `Get the contents of a file on the device. Args: filename: The name of the file on the device. Returns: A string containing the contents of the file.` GetRemotePort(self) IsCryptohomeMounted(self, username, is_guest) `Returns True iff |user|'s cryptohome is mounted.` IsHTTPServerRunningOnPort(self, port) IsServiceRunning(self, service_name) KillAllMatching(self, predicate) ListProcesses(self) `Returns (pid, cmd, ppid, state) of all processes on the device.` PushContents(self, text, remote_filename) PushFile(self, filename, remote_filename) RestartUI(self, clear_enterprise_policy) RmRF(self, filename) RunCmdOnDevice(self, args, cwd=None, quiet=False) TakeScreenShot(self, screenshot_prefix) `Takes a screenshot, useful for debugging failures.` TryLogin(self) __enter__(self) __exit__(self, *args) __init__(self, hostname=None, ssh_port=None, ssh_identity=None) `# pylint: disable=R0923` Data descriptors defined here: __dict__ `dictionary for instance variables (if defined)` __weakref__ `list of weak references to the object (if defined)` hostname local ssh_port
class DNSFailureException(LoginException)
`` |  | Method resolution order: DNSFailureException LoginException exceptions.Exception exceptions.BaseException __builtin__.object Data descriptors inherited from LoginException: __weakref__ `list of weak references to the object (if defined)` Methods inherited from exceptions.Exception: __init__(...) `x.__init__(...) initializes x; see help(type(x)) for signature` Data and other attributes inherited from exceptions.Exception: __new__ = <built-in method __new__ of type object> `T.__new__(S, ...) -> a new object with type S, a subtype of T` Methods inherited from exceptions.BaseException: __delattr__(...) `x.__delattr__('name') <==> del x.name` __getattribute__(...) `x.__getattribute__('name') <==> x.name` __getitem__(...) `x.__getitem__(y) <==> x[y]` __getslice__(...) `x.__getslice__(i, j) <==> x[i:j] Use of negative indices is not supported.` __reduce__(...) __repr__(...) `x.__repr__() <==> repr(x)` __setattr__(...) `x.__setattr__('name', value) <==> x.name = value` __setstate__(...) __str__(...) `x.__str__() <==> str(x)` __unicode__(...) Data descriptors inherited from exceptions.BaseException: __dict__ args message
class KeylessLoginRequiredException(LoginException)
`` |  | Method resolution order: KeylessLoginRequiredException LoginException exceptions.Exception exceptions.BaseException __builtin__.object Data descriptors inherited from LoginException: __weakref__ `list of weak references to the object (if defined)` Methods inherited from exceptions.Exception: __init__(...) `x.__init__(...) initializes x; see help(type(x)) for signature` Data and other attributes inherited from exceptions.Exception: __new__ = <built-in method __new__ of type object> `T.__new__(S, ...) -> a new object with type S, a subtype of T` Methods inherited from exceptions.BaseException: __delattr__(...) `x.__delattr__('name') <==> del x.name` __getattribute__(...) `x.__getattribute__('name') <==> x.name` __getitem__(...) `x.__getitem__(y) <==> x[y]` __getslice__(...) `x.__getslice__(i, j) <==> x[i:j] Use of negative indices is not supported.` __reduce__(...) __repr__(...) `x.__repr__() <==> repr(x)` __setattr__(...) `x.__setattr__('name', value) <==> x.name = value` __setstate__(...) __str__(...) `x.__str__() <==> str(x)` __unicode__(...) Data descriptors inherited from exceptions.BaseException: __dict__ args message
class LoginException(exceptions.Exception)
`` |  | Method resolution order: LoginException exceptions.Exception exceptions.BaseException __builtin__.object Data descriptors defined here: __weakref__ `list of weak references to the object (if defined)` Methods inherited from exceptions.Exception: __init__(...) `x.__init__(...) initializes x; see help(type(x)) for signature` Data and other attributes inherited from exceptions.Exception: __new__ = <built-in method __new__ of type object> `T.__new__(S, ...) -> a new object with type S, a subtype of T` Methods inherited from exceptions.BaseException: __delattr__(...) `x.__delattr__('name') <==> del x.name` __getattribute__(...) `x.__getattribute__('name') <==> x.name` __getitem__(...) `x.__getitem__(y) <==> x[y]` __getslice__(...) `x.__getslice__(i, j) <==> x[i:j] Use of negative indices is not supported.` __reduce__(...) __repr__(...) `x.__repr__() <==> repr(x)` __setattr__(...) `x.__setattr__('name', value) <==> x.name = value` __setstate__(...) __str__(...) `x.__str__() <==> str(x)` __unicode__(...) Data descriptors inherited from exceptions.BaseException: __dict__ args message

Functions
`` |  | GetAllCmdOutput(args, cwd=None, quiet=False) `Open a subprocess to execute a program and returns its output. Args: args: A string or a sequence of program arguments. The program to execute is the string or the first item in the args sequence. cwd: If not None, the subprocess's current directory will be changed to |cwd| before it's executed. Returns: Captures and returns the command's stdout. Prints the command's stderr to logger (which defaults to stdout).` HasSSH() RunCmd(args, cwd=None, quiet=False) `Opens a subprocess to execute a program and returns its return value. Args: args: A string or a sequence of program arguments. The program to execute is the string or the first item in the args sequence. cwd: If not None, the subprocess's current directory will be changed to |cwd| before it's executed. Returns: Return code from the command execution.`