| # Copyright (c) 2012 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. |
| import time |
| from autotest_lib.client.bin import test |
| from autotest_lib.client.common_lib import error |
| from autotest_lib.client.cros.graphics import graphics_utils |
| |
| |
| class graphics_KernelMemory(graphics_utils.GraphicsTest): |
| """ |
| Reads from sysfs to determine kernel gem objects and memory info. |
| """ |
| version = 1 |
| |
| def initialize(self): |
| super(graphics_KernelMemory, self).initialize() |
| |
| @graphics_utils.GraphicsTest.failure_report_decorator('graphics_KernelMemory') |
| def run_once(self): |
| # TODO(ihf): We want to give this test something well-defined to |
| # measure. For now that will be the CrOS login-screen memory use. |
| # We could also log into the machine using telemetry, but that is |
| # still flaky. So for now we, lame as we are, just sleep a bit. |
| time.sleep(10.0) |
| |
| self._GSC.finalize() |
| # We should still be in the login screen and memory use > 0. |
| if self._GSC.get_memory_access_errors() > 0: |
| raise error.TestFail('Failed: Detected %d errors accessing graphics' |
| ' memory.' % self.GKM.num_errors) |