# Copyright 2014 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 os.path from autotest_lib.client.bin import utils from autotest_lib.client.common_lib import error from autotest_lib.client.cros import chrome_binary_test from autotest_lib.client.cros.graphics import graphics_utils class graphics_KhronosGLCTSChrome(chrome_binary_test.ChromeBinaryTest): """ Run the Khronos GL-CTS test suite against the Chrome GPU command buffer. """ version = 1 GSC = None BINARY = 'khronos_glcts_test' def initialize(self): super(graphics_KhronosGLCTSChrome, self).initialize() self.GSC = graphics_utils.GraphicsStateChecker() def cleanup(self): super(graphics_KhronosGLCTSChrome, self).cleanup() if self.GSC: self.GSC.finalize() def run_once(self): # TODO(ihf): Remove this once KhronosGLCTSChrome works on freon. if utils.is_freon(): raise error.TestNAError( 'Test needs work on Freon. See crbug.com/484467.') if not os.path.exists(self.get_chrome_binary_path(self.BINARY)): raise error.TestFail('%s not found. Use internal Chrome sources!' % self.BINARY) log_file = os.path.join(self.resultsdir, self.BINARY + ".xml") bin_args = '--gtest_output=xml:%s %s' % (log_file, self.resultsdir) self.run_chrome_test_binary(self.BINARY, bin_args)