• Shuah Khan's avatar
    selftests: Fix test errors related to lib.mk khdr target · a05257f9
    Shuah Khan authored
    commit 211929fd upstream.
    
    Commit b2d35fa5 ("selftests: add headers_install to lib.mk") added
    khdr target to run headers_install target from the main Makefile. The
    logic uses KSFT_KHDR_INSTALL and top_srcdir as controls to initialize
    variables and include files to run headers_install from the top level
    Makefile. There are a few problems with this logic.
    
    1. Exposes top_srcdir to all tests
    2. Common logic impacts all tests
    3. Uses KSFT_KHDR_INSTALL, top_srcdir, and khdr in an adhoc way. Tests
       add "khdr" dependency in their Makefiles to TEST_PROGS_EXTENDED in
       some cases, and STATIC_LIBS in other cases. This makes this framework
       confusing to use.
    
    The common logic that runs for all tests even when KSFT_KHDR_INSTALL
    isn't defined by the test. top_srcdir is initialized to a default value
    when test doesn't initialize it. It works for all tests without a sub-dir
    structure and tests with sub-dir structure fail to build.
    
    e.g: make -C sparc64/drivers/ or make -C drivers/dma-buf
    
    ../../lib.mk:20: ../../../../scripts/subarch.include: No such file or directory
    make: *** No rule to make target '../../../../scripts/subarch.include'.  Stop.
    
    There is no reason to require all tests to define top_srcdir and there is
    no need to require tests to add khdr dependency using adhoc changes to
    TEST_* and other variables.
    
    Fix it with a consistent use of KSFT_KHDR_INSTALL and top_srcdir from tests
    that have the dependency on headers_install.
    
    Change common logic to include khdr target define and "all" target with
    dependency on khdr when KSFT_KHDR_INSTALL is defined.
    
    Only tests that have dependency on headers_install have to define just
    the KSFT_KHDR_INSTALL, and top_srcdir variables and there is no need to
    specify khdr dependency in the test Makefiles.
    
    Fixes: b2d35fa5 ("selftests: add headers_install to lib.mk")
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarShuah Khan <shuah@kernel.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    a05257f9
Name
Last commit
Last update
Documentation Loading commit data...
LICENSES Loading commit data...
arch Loading commit data...
block Loading commit data...
certs Loading commit data...
crypto Loading commit data...
drivers Loading commit data...
firmware Loading commit data...
fs Loading commit data...
include Loading commit data...
init Loading commit data...
ipc Loading commit data...
kernel Loading commit data...
lib Loading commit data...
mm Loading commit data...
net Loading commit data...
samples Loading commit data...
scripts Loading commit data...
security Loading commit data...
sound Loading commit data...
tools Loading commit data...
usr Loading commit data...
virt Loading commit data...
.clang-format Loading commit data...
.cocciconfig Loading commit data...
.get_maintainer.ignore Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.mailmap Loading commit data...
COPYING Loading commit data...
CREDITS Loading commit data...
Kbuild Loading commit data...
Kconfig Loading commit data...
MAINTAINERS Loading commit data...
Makefile Loading commit data...
README Loading commit data...