71 lines
2.2 KiB
Python
71 lines
2.2 KiB
Python
# 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.
|
|
|
|
import logging
|
|
from autotest_lib.client.bin import utils
|
|
from autotest_lib.client.common_lib import error
|
|
from autotest_lib.client.cros import kernel_config
|
|
from autotest_lib.client.cros.graphics.graphics_utils import GraphicsTest
|
|
|
|
class graphics_KernelConfig(GraphicsTest):
|
|
"""Examine a kernel build CONFIG list to verify related flags.
|
|
"""
|
|
version = 1
|
|
arch = None
|
|
userspace_arch = None
|
|
|
|
IS_BUILTIN = [
|
|
# Sanity checks; should be present in builds as builtins.
|
|
]
|
|
IS_MODULE = [
|
|
# Sanity checks; should be present in builds as modules.
|
|
]
|
|
IS_ENABLED = [
|
|
# Sanity checks; should be enabled.
|
|
]
|
|
IS_MISSING = [
|
|
# Sanity checks; should be disabled.
|
|
'DRM_KMS_FB_HELPER'
|
|
'FB',
|
|
'FB_CFB_COPYAREA',
|
|
'FB_CFB_FILLRECT',
|
|
'FB_CFB_IMAGEBLIT',
|
|
'FB_CFB_REV_PIXELS_IN_BYTE',
|
|
'FB_SIMPLE',
|
|
'FB_SYS_COPYAREA',
|
|
'FB_SYS_FOPS',
|
|
'FB_SYS_FILLRECT',
|
|
'FB_SYS_IMAGEBLIT',
|
|
'FB_VIRTUAL'
|
|
]
|
|
|
|
def setup(self):
|
|
""" Test setup. """
|
|
self.arch = utils.get_arch()
|
|
self.userspace_arch = utils.get_arch_userspace()
|
|
# Report the full uname for anyone reading logs.
|
|
logging.info('Running %s kernel, %s userspace: %s',
|
|
self.arch, self.userspace_arch,
|
|
utils.system_output('uname -a'))
|
|
|
|
@GraphicsTest.failure_report_decorator('graphics_KernelConfig')
|
|
def run_once(self):
|
|
"""
|
|
The actual test that read config and check.
|
|
"""
|
|
# Load the list of kernel config variables.
|
|
config = kernel_config.KernelConfig()
|
|
config.initialize()
|
|
logging.debug(config._config)
|
|
|
|
# Run the static checks.
|
|
map(config.has_builtin, self.IS_BUILTIN)
|
|
map(config.has_module, self.IS_MODULE)
|
|
map(config.is_enabled, self.IS_ENABLED)
|
|
map(config.is_missing, self.IS_MISSING)
|
|
|
|
# Raise a failure if anything unexpected was seen.
|
|
if len(config.failures()):
|
|
raise error.TestFail((", ".join(config.failures())))
|