普通文本  |  44行  |  1.21 KB

# Copyright 2018 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

"""An adapter to remotely access the DUT graphics facade."""


class GraphicsFacadeRemoteAdapter(object):
    """GraphicsFacadeRemoteAdapter remotely monitors graphics hangs."""


    def __init__(self, remote_facade_proxy):
        """Construct a GraphicsFacadeRemoteAdapter.

        @param remote_facade_proxy: RemoteFacadeProxy object.

        """
        self._proxy = remote_facade_proxy


    @property
    def _graphics_proxy(self):
        """Gets the proxy to DUT USB facade.

        @return XML RPC proxy to DUT graphics facade.

        """
        return self._proxy.graphics


    def graphics_state_checker_initialize(self):
        """Create and initialize the graphics state checker object.

        This will establish existing errors and take a snapshot of graphics
        kernel memory.

        """
        self._graphics_proxy.graphics_state_checker_initialize()


    def graphics_state_checker_finalize(self):
        """Throw an error on new GPU hang messages in system logs."""
        self._graphics_proxy.graphics_state_checker_finalize()