From: Anders Roxell <anders.roxell@linaro.org>
To: shuah@kernel.org
Cc: tglx@linutronix.de, mingo@redhat.com, peterz@infradead.org,
dvhart@infradead.org, bamv2005@gmail.com, brgl@bgdev.pl,
fathi.boudra@linaro.org, daniel.diaz@linaro.org,
pintu.ping@gmail.com, pbonzini@redhat.com, drjones@redhat.com,
hofsass@google.com, peterx@redhat.com, peng.hao2@zte.com.cn,
wei@redhat.com, davem@davemloft.net, dcaratti@redhat.com,
akpm@linux-foundation.org, mhocko@suse.com,
khalid.aziz@oracle.com, mpe@ellerman.id.au,
aneesh.kumar@linux.vnet.ibm.com, dima@arista.com,
linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-gpio@vger.kernel.org, stable@vger.kernel.org
Subject: Re: [PATCH] selftests: Fix test errors related to lib.mk khdr target
Date: Fri, 14 Dec 2018 22:07:34 +0100 [thread overview]
Message-ID: <20181214210734.GF3448@localhost.localdomain> (raw)
In-Reply-To: <20181213200011.10779-1-shuah@kernel.org>
On 2018-12-13 13:00, shuah@kernel.org wrote:
> From: Shuah Khan <shuah@kernel.org>
>
> Commit b2d35fa5fc80 ("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: b2d35fa5fc80 ("selftests: add headers_install to lib.mk")
> Cc: stable@vger.kernel.org
> Signed-off-by: Shuah Khan <shuah@kernel.org>
Looks good.
Reviewed-by: Anders Roxell <anders.roxell@linaro.org>
Cheers,
Anders
>
> ---
> tools/testing/selftests/android/Makefile | 2 +-
> tools/testing/selftests/futex/functional/Makefile | 1 +
> tools/testing/selftests/gpio/Makefile | 6 +++---
> tools/testing/selftests/kvm/Makefile | 2 +-
> tools/testing/selftests/lib.mk | 8 ++++----
> tools/testing/selftests/networking/timestamping/Makefile | 1 +
> tools/testing/selftests/tc-testing/bpf/Makefile | 1 +
> tools/testing/selftests/vm/Makefile | 1 +
> 8 files changed, 13 insertions(+), 9 deletions(-)
>
> diff --git a/tools/testing/selftests/android/Makefile b/tools/testing/selftests/android/Makefile
> index d9a725478375..72c25a3cb658 100644
> --- a/tools/testing/selftests/android/Makefile
> +++ b/tools/testing/selftests/android/Makefile
> @@ -6,7 +6,7 @@ TEST_PROGS := run.sh
>
> include ../lib.mk
>
> -all: khdr
> +all:
> @for DIR in $(SUBDIRS); do \
> BUILD_TARGET=$(OUTPUT)/$$DIR; \
> mkdir $$BUILD_TARGET -p; \
> diff --git a/tools/testing/selftests/futex/functional/Makefile b/tools/testing/selftests/futex/functional/Makefile
> index ad1eeb14fda7..30996306cabc 100644
> --- a/tools/testing/selftests/futex/functional/Makefile
> +++ b/tools/testing/selftests/futex/functional/Makefile
> @@ -19,6 +19,7 @@ TEST_GEN_FILES := \
> TEST_PROGS := run.sh
>
> top_srcdir = ../../../../..
> +KSFT_KHDR_INSTALL := 1
> include ../../lib.mk
>
> $(TEST_GEN_FILES): $(HEADERS)
> diff --git a/tools/testing/selftests/gpio/Makefile b/tools/testing/selftests/gpio/Makefile
> index 46648427d537..07f572a1bd3f 100644
> --- a/tools/testing/selftests/gpio/Makefile
> +++ b/tools/testing/selftests/gpio/Makefile
> @@ -10,8 +10,6 @@ TEST_PROGS_EXTENDED := gpio-mockup-chardev
> GPIODIR := $(realpath ../../../gpio)
> GPIOOBJ := gpio-utils.o
>
> -include ../lib.mk
> -
> all: $(TEST_PROGS_EXTENDED)
>
> override define CLEAN
> @@ -19,7 +17,9 @@ override define CLEAN
> $(MAKE) -C $(GPIODIR) OUTPUT=$(GPIODIR)/ clean
> endef
>
> -$(TEST_PROGS_EXTENDED):| khdr
> +KSFT_KHDR_INSTALL := 1
> +include ../lib.mk
> +
> $(TEST_PROGS_EXTENDED): $(GPIODIR)/$(GPIOOBJ)
>
> $(GPIODIR)/$(GPIOOBJ):
> diff --git a/tools/testing/selftests/kvm/Makefile b/tools/testing/selftests/kvm/Makefile
> index 01a219229238..52bfe5e76907 100644
> --- a/tools/testing/selftests/kvm/Makefile
> +++ b/tools/testing/selftests/kvm/Makefile
> @@ -1,6 +1,7 @@
> all:
>
> top_srcdir = ../../../..
> +KSFT_KHDR_INSTALL := 1
> UNAME_M := $(shell uname -m)
>
> LIBKVM = lib/assert.c lib/elf.c lib/io.c lib/kvm_util.c lib/ucall.c lib/sparsebit.c
> @@ -44,7 +45,6 @@ $(OUTPUT)/libkvm.a: $(LIBKVM_OBJ)
>
> all: $(STATIC_LIBS)
> $(TEST_GEN_PROGS): $(STATIC_LIBS)
> -$(STATIC_LIBS):| khdr
>
> cscope: include_paths = $(LINUX_TOOL_INCLUDE) $(LINUX_HDR_PATH) include lib ..
> cscope:
> diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk
> index 0a8e75886224..8b0f16409ed7 100644
> --- a/tools/testing/selftests/lib.mk
> +++ b/tools/testing/selftests/lib.mk
> @@ -16,18 +16,18 @@ TEST_GEN_PROGS := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_PROGS))
> TEST_GEN_PROGS_EXTENDED := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_PROGS_EXTENDED))
> TEST_GEN_FILES := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_FILES))
>
> +ifdef KSFT_KHDR_INSTALL
> top_srcdir ?= ../../../..
> include $(top_srcdir)/scripts/subarch.include
> ARCH ?= $(SUBARCH)
>
> -all: $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES)
> -
> .PHONY: khdr
> khdr:
> make ARCH=$(ARCH) -C $(top_srcdir) headers_install
>
> -ifdef KSFT_KHDR_INSTALL
> -$(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES):| khdr
> +all: khdr $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES)
> +else
> +all: $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES)
> endif
>
> .ONESHELL:
> diff --git a/tools/testing/selftests/networking/timestamping/Makefile b/tools/testing/selftests/networking/timestamping/Makefile
> index 14cfcf006936..c46c0eefab9e 100644
> --- a/tools/testing/selftests/networking/timestamping/Makefile
> +++ b/tools/testing/selftests/networking/timestamping/Makefile
> @@ -6,6 +6,7 @@ TEST_PROGS := hwtstamp_config rxtimestamp timestamping txtimestamp
> all: $(TEST_PROGS)
>
> top_srcdir = ../../../../..
> +KSFT_KHDR_INSTALL := 1
> include ../../lib.mk
>
> clean:
> diff --git a/tools/testing/selftests/tc-testing/bpf/Makefile b/tools/testing/selftests/tc-testing/bpf/Makefile
> index dc92eb271d9a..be5a5e542804 100644
> --- a/tools/testing/selftests/tc-testing/bpf/Makefile
> +++ b/tools/testing/selftests/tc-testing/bpf/Makefile
> @@ -4,6 +4,7 @@ APIDIR := ../../../../include/uapi
> TEST_GEN_FILES = action.o
>
> top_srcdir = ../../../../..
> +KSFT_KHDR_INSTALL := 1
> include ../../lib.mk
>
> CLANG ?= clang
> diff --git a/tools/testing/selftests/vm/Makefile b/tools/testing/selftests/vm/Makefile
> index 6e67e726e5a5..e13eb6cc8901 100644
> --- a/tools/testing/selftests/vm/Makefile
> +++ b/tools/testing/selftests/vm/Makefile
> @@ -25,6 +25,7 @@ TEST_GEN_FILES += virtual_address_range
>
> TEST_PROGS := run_vmtests
>
> +KSFT_KHDR_INSTALL := 1
> include ../lib.mk
>
> $(OUTPUT)/userfaultfd: LDLIBS += -lpthread
> --
> 2.17.1
>
--
Anders Roxell
anders.roxell@linaro.org
M: +46 709 71 42 85 | IRC: roxell
WARNING: multiple messages have this Message-ID (diff)
From: anders.roxell at linaro.org (Anders Roxell)
Subject: [PATCH] selftests: Fix test errors related to lib.mk khdr target
Date: Fri, 14 Dec 2018 22:07:34 +0100 [thread overview]
Message-ID: <20181214210734.GF3448@localhost.localdomain> (raw)
In-Reply-To: <20181213200011.10779-1-shuah@kernel.org>
On 2018-12-13 13:00, shuah at kernel.org wrote:
> From: Shuah Khan <shuah at kernel.org>
>
> Commit b2d35fa5fc80 ("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: b2d35fa5fc80 ("selftests: add headers_install to lib.mk")
> Cc: stable at vger.kernel.org
> Signed-off-by: Shuah Khan <shuah at kernel.org>
Looks good.
Reviewed-by: Anders Roxell <anders.roxell at linaro.org>
Cheers,
Anders
>
> ---
> tools/testing/selftests/android/Makefile | 2 +-
> tools/testing/selftests/futex/functional/Makefile | 1 +
> tools/testing/selftests/gpio/Makefile | 6 +++---
> tools/testing/selftests/kvm/Makefile | 2 +-
> tools/testing/selftests/lib.mk | 8 ++++----
> tools/testing/selftests/networking/timestamping/Makefile | 1 +
> tools/testing/selftests/tc-testing/bpf/Makefile | 1 +
> tools/testing/selftests/vm/Makefile | 1 +
> 8 files changed, 13 insertions(+), 9 deletions(-)
>
> diff --git a/tools/testing/selftests/android/Makefile b/tools/testing/selftests/android/Makefile
> index d9a725478375..72c25a3cb658 100644
> --- a/tools/testing/selftests/android/Makefile
> +++ b/tools/testing/selftests/android/Makefile
> @@ -6,7 +6,7 @@ TEST_PROGS := run.sh
>
> include ../lib.mk
>
> -all: khdr
> +all:
> @for DIR in $(SUBDIRS); do \
> BUILD_TARGET=$(OUTPUT)/$$DIR; \
> mkdir $$BUILD_TARGET -p; \
> diff --git a/tools/testing/selftests/futex/functional/Makefile b/tools/testing/selftests/futex/functional/Makefile
> index ad1eeb14fda7..30996306cabc 100644
> --- a/tools/testing/selftests/futex/functional/Makefile
> +++ b/tools/testing/selftests/futex/functional/Makefile
> @@ -19,6 +19,7 @@ TEST_GEN_FILES := \
> TEST_PROGS := run.sh
>
> top_srcdir = ../../../../..
> +KSFT_KHDR_INSTALL := 1
> include ../../lib.mk
>
> $(TEST_GEN_FILES): $(HEADERS)
> diff --git a/tools/testing/selftests/gpio/Makefile b/tools/testing/selftests/gpio/Makefile
> index 46648427d537..07f572a1bd3f 100644
> --- a/tools/testing/selftests/gpio/Makefile
> +++ b/tools/testing/selftests/gpio/Makefile
> @@ -10,8 +10,6 @@ TEST_PROGS_EXTENDED := gpio-mockup-chardev
> GPIODIR := $(realpath ../../../gpio)
> GPIOOBJ := gpio-utils.o
>
> -include ../lib.mk
> -
> all: $(TEST_PROGS_EXTENDED)
>
> override define CLEAN
> @@ -19,7 +17,9 @@ override define CLEAN
> $(MAKE) -C $(GPIODIR) OUTPUT=$(GPIODIR)/ clean
> endef
>
> -$(TEST_PROGS_EXTENDED):| khdr
> +KSFT_KHDR_INSTALL := 1
> +include ../lib.mk
> +
> $(TEST_PROGS_EXTENDED): $(GPIODIR)/$(GPIOOBJ)
>
> $(GPIODIR)/$(GPIOOBJ):
> diff --git a/tools/testing/selftests/kvm/Makefile b/tools/testing/selftests/kvm/Makefile
> index 01a219229238..52bfe5e76907 100644
> --- a/tools/testing/selftests/kvm/Makefile
> +++ b/tools/testing/selftests/kvm/Makefile
> @@ -1,6 +1,7 @@
> all:
>
> top_srcdir = ../../../..
> +KSFT_KHDR_INSTALL := 1
> UNAME_M := $(shell uname -m)
>
> LIBKVM = lib/assert.c lib/elf.c lib/io.c lib/kvm_util.c lib/ucall.c lib/sparsebit.c
> @@ -44,7 +45,6 @@ $(OUTPUT)/libkvm.a: $(LIBKVM_OBJ)
>
> all: $(STATIC_LIBS)
> $(TEST_GEN_PROGS): $(STATIC_LIBS)
> -$(STATIC_LIBS):| khdr
>
> cscope: include_paths = $(LINUX_TOOL_INCLUDE) $(LINUX_HDR_PATH) include lib ..
> cscope:
> diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk
> index 0a8e75886224..8b0f16409ed7 100644
> --- a/tools/testing/selftests/lib.mk
> +++ b/tools/testing/selftests/lib.mk
> @@ -16,18 +16,18 @@ TEST_GEN_PROGS := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_PROGS))
> TEST_GEN_PROGS_EXTENDED := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_PROGS_EXTENDED))
> TEST_GEN_FILES := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_FILES))
>
> +ifdef KSFT_KHDR_INSTALL
> top_srcdir ?= ../../../..
> include $(top_srcdir)/scripts/subarch.include
> ARCH ?= $(SUBARCH)
>
> -all: $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES)
> -
> .PHONY: khdr
> khdr:
> make ARCH=$(ARCH) -C $(top_srcdir) headers_install
>
> -ifdef KSFT_KHDR_INSTALL
> -$(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES):| khdr
> +all: khdr $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES)
> +else
> +all: $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES)
> endif
>
> .ONESHELL:
> diff --git a/tools/testing/selftests/networking/timestamping/Makefile b/tools/testing/selftests/networking/timestamping/Makefile
> index 14cfcf006936..c46c0eefab9e 100644
> --- a/tools/testing/selftests/networking/timestamping/Makefile
> +++ b/tools/testing/selftests/networking/timestamping/Makefile
> @@ -6,6 +6,7 @@ TEST_PROGS := hwtstamp_config rxtimestamp timestamping txtimestamp
> all: $(TEST_PROGS)
>
> top_srcdir = ../../../../..
> +KSFT_KHDR_INSTALL := 1
> include ../../lib.mk
>
> clean:
> diff --git a/tools/testing/selftests/tc-testing/bpf/Makefile b/tools/testing/selftests/tc-testing/bpf/Makefile
> index dc92eb271d9a..be5a5e542804 100644
> --- a/tools/testing/selftests/tc-testing/bpf/Makefile
> +++ b/tools/testing/selftests/tc-testing/bpf/Makefile
> @@ -4,6 +4,7 @@ APIDIR := ../../../../include/uapi
> TEST_GEN_FILES = action.o
>
> top_srcdir = ../../../../..
> +KSFT_KHDR_INSTALL := 1
> include ../../lib.mk
>
> CLANG ?= clang
> diff --git a/tools/testing/selftests/vm/Makefile b/tools/testing/selftests/vm/Makefile
> index 6e67e726e5a5..e13eb6cc8901 100644
> --- a/tools/testing/selftests/vm/Makefile
> +++ b/tools/testing/selftests/vm/Makefile
> @@ -25,6 +25,7 @@ TEST_GEN_FILES += virtual_address_range
>
> TEST_PROGS := run_vmtests
>
> +KSFT_KHDR_INSTALL := 1
> include ../lib.mk
>
> $(OUTPUT)/userfaultfd: LDLIBS += -lpthread
> --
> 2.17.1
>
--
Anders Roxell
anders.roxell at linaro.org
M: +46 709 71 42 85 | IRC: roxell
WARNING: multiple messages have this Message-ID (diff)
From: anders.roxell@linaro.org (Anders Roxell)
Subject: [PATCH] selftests: Fix test errors related to lib.mk khdr target
Date: Fri, 14 Dec 2018 22:07:34 +0100 [thread overview]
Message-ID: <20181214210734.GF3448@localhost.localdomain> (raw)
Message-ID: <20181214210734.SIyQz_FMvZ0IZo7jlrNMmlMtPsVqo9xOrN_jLvgTM34@z> (raw)
In-Reply-To: <20181213200011.10779-1-shuah@kernel.org>
On 2018-12-13 13:00, shuah@kernel.org wrote:
> From: Shuah Khan <shuah at kernel.org>
>
> Commit b2d35fa5fc80 ("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: b2d35fa5fc80 ("selftests: add headers_install to lib.mk")
> Cc: stable at vger.kernel.org
> Signed-off-by: Shuah Khan <shuah at kernel.org>
Looks good.
Reviewed-by: Anders Roxell <anders.roxell at linaro.org>
Cheers,
Anders
>
> ---
> tools/testing/selftests/android/Makefile | 2 +-
> tools/testing/selftests/futex/functional/Makefile | 1 +
> tools/testing/selftests/gpio/Makefile | 6 +++---
> tools/testing/selftests/kvm/Makefile | 2 +-
> tools/testing/selftests/lib.mk | 8 ++++----
> tools/testing/selftests/networking/timestamping/Makefile | 1 +
> tools/testing/selftests/tc-testing/bpf/Makefile | 1 +
> tools/testing/selftests/vm/Makefile | 1 +
> 8 files changed, 13 insertions(+), 9 deletions(-)
>
> diff --git a/tools/testing/selftests/android/Makefile b/tools/testing/selftests/android/Makefile
> index d9a725478375..72c25a3cb658 100644
> --- a/tools/testing/selftests/android/Makefile
> +++ b/tools/testing/selftests/android/Makefile
> @@ -6,7 +6,7 @@ TEST_PROGS := run.sh
>
> include ../lib.mk
>
> -all: khdr
> +all:
> @for DIR in $(SUBDIRS); do \
> BUILD_TARGET=$(OUTPUT)/$$DIR; \
> mkdir $$BUILD_TARGET -p; \
> diff --git a/tools/testing/selftests/futex/functional/Makefile b/tools/testing/selftests/futex/functional/Makefile
> index ad1eeb14fda7..30996306cabc 100644
> --- a/tools/testing/selftests/futex/functional/Makefile
> +++ b/tools/testing/selftests/futex/functional/Makefile
> @@ -19,6 +19,7 @@ TEST_GEN_FILES := \
> TEST_PROGS := run.sh
>
> top_srcdir = ../../../../..
> +KSFT_KHDR_INSTALL := 1
> include ../../lib.mk
>
> $(TEST_GEN_FILES): $(HEADERS)
> diff --git a/tools/testing/selftests/gpio/Makefile b/tools/testing/selftests/gpio/Makefile
> index 46648427d537..07f572a1bd3f 100644
> --- a/tools/testing/selftests/gpio/Makefile
> +++ b/tools/testing/selftests/gpio/Makefile
> @@ -10,8 +10,6 @@ TEST_PROGS_EXTENDED := gpio-mockup-chardev
> GPIODIR := $(realpath ../../../gpio)
> GPIOOBJ := gpio-utils.o
>
> -include ../lib.mk
> -
> all: $(TEST_PROGS_EXTENDED)
>
> override define CLEAN
> @@ -19,7 +17,9 @@ override define CLEAN
> $(MAKE) -C $(GPIODIR) OUTPUT=$(GPIODIR)/ clean
> endef
>
> -$(TEST_PROGS_EXTENDED):| khdr
> +KSFT_KHDR_INSTALL := 1
> +include ../lib.mk
> +
> $(TEST_PROGS_EXTENDED): $(GPIODIR)/$(GPIOOBJ)
>
> $(GPIODIR)/$(GPIOOBJ):
> diff --git a/tools/testing/selftests/kvm/Makefile b/tools/testing/selftests/kvm/Makefile
> index 01a219229238..52bfe5e76907 100644
> --- a/tools/testing/selftests/kvm/Makefile
> +++ b/tools/testing/selftests/kvm/Makefile
> @@ -1,6 +1,7 @@
> all:
>
> top_srcdir = ../../../..
> +KSFT_KHDR_INSTALL := 1
> UNAME_M := $(shell uname -m)
>
> LIBKVM = lib/assert.c lib/elf.c lib/io.c lib/kvm_util.c lib/ucall.c lib/sparsebit.c
> @@ -44,7 +45,6 @@ $(OUTPUT)/libkvm.a: $(LIBKVM_OBJ)
>
> all: $(STATIC_LIBS)
> $(TEST_GEN_PROGS): $(STATIC_LIBS)
> -$(STATIC_LIBS):| khdr
>
> cscope: include_paths = $(LINUX_TOOL_INCLUDE) $(LINUX_HDR_PATH) include lib ..
> cscope:
> diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk
> index 0a8e75886224..8b0f16409ed7 100644
> --- a/tools/testing/selftests/lib.mk
> +++ b/tools/testing/selftests/lib.mk
> @@ -16,18 +16,18 @@ TEST_GEN_PROGS := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_PROGS))
> TEST_GEN_PROGS_EXTENDED := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_PROGS_EXTENDED))
> TEST_GEN_FILES := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_FILES))
>
> +ifdef KSFT_KHDR_INSTALL
> top_srcdir ?= ../../../..
> include $(top_srcdir)/scripts/subarch.include
> ARCH ?= $(SUBARCH)
>
> -all: $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES)
> -
> .PHONY: khdr
> khdr:
> make ARCH=$(ARCH) -C $(top_srcdir) headers_install
>
> -ifdef KSFT_KHDR_INSTALL
> -$(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES):| khdr
> +all: khdr $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES)
> +else
> +all: $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES)
> endif
>
> .ONESHELL:
> diff --git a/tools/testing/selftests/networking/timestamping/Makefile b/tools/testing/selftests/networking/timestamping/Makefile
> index 14cfcf006936..c46c0eefab9e 100644
> --- a/tools/testing/selftests/networking/timestamping/Makefile
> +++ b/tools/testing/selftests/networking/timestamping/Makefile
> @@ -6,6 +6,7 @@ TEST_PROGS := hwtstamp_config rxtimestamp timestamping txtimestamp
> all: $(TEST_PROGS)
>
> top_srcdir = ../../../../..
> +KSFT_KHDR_INSTALL := 1
> include ../../lib.mk
>
> clean:
> diff --git a/tools/testing/selftests/tc-testing/bpf/Makefile b/tools/testing/selftests/tc-testing/bpf/Makefile
> index dc92eb271d9a..be5a5e542804 100644
> --- a/tools/testing/selftests/tc-testing/bpf/Makefile
> +++ b/tools/testing/selftests/tc-testing/bpf/Makefile
> @@ -4,6 +4,7 @@ APIDIR := ../../../../include/uapi
> TEST_GEN_FILES = action.o
>
> top_srcdir = ../../../../..
> +KSFT_KHDR_INSTALL := 1
> include ../../lib.mk
>
> CLANG ?= clang
> diff --git a/tools/testing/selftests/vm/Makefile b/tools/testing/selftests/vm/Makefile
> index 6e67e726e5a5..e13eb6cc8901 100644
> --- a/tools/testing/selftests/vm/Makefile
> +++ b/tools/testing/selftests/vm/Makefile
> @@ -25,6 +25,7 @@ TEST_GEN_FILES += virtual_address_range
>
> TEST_PROGS := run_vmtests
>
> +KSFT_KHDR_INSTALL := 1
> include ../lib.mk
>
> $(OUTPUT)/userfaultfd: LDLIBS += -lpthread
> --
> 2.17.1
>
--
Anders Roxell
anders.roxell at linaro.org
M: +46 709 71 42 85 | IRC: roxell
next prev parent reply other threads:[~2018-12-14 21:07 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-13 20:00 [PATCH] selftests: Fix test errors related to lib.mk khdr target shuah
2018-12-13 20:00 ` shuah
2018-12-13 20:00 ` shuah
2018-12-13 22:40 ` Paolo Bonzini
2018-12-13 22:40 ` Paolo Bonzini
2018-12-13 22:40 ` pbonzini
2018-12-13 22:50 ` shuah
2018-12-13 22:50 ` shuah
2018-12-13 22:50 ` shuah
2018-12-13 23:40 ` Paolo Bonzini
2018-12-13 23:40 ` Paolo Bonzini
2018-12-13 23:40 ` pbonzini
2018-12-13 23:56 ` shuah
2018-12-13 23:56 ` shuah
2018-12-13 23:56 ` shuah
2018-12-14 9:52 ` Paolo Bonzini
2018-12-14 9:52 ` Paolo Bonzini
2018-12-14 9:52 ` pbonzini
2018-12-14 20:43 ` Khalid Aziz
2018-12-14 20:43 ` Khalid Aziz
2018-12-14 20:43 ` khalid.aziz
2018-12-14 21:07 ` Anders Roxell [this message]
2018-12-14 21:07 ` Anders Roxell
2018-12-14 21:07 ` anders.roxell
-- strict thread matches above, loose matches on Subject: below --
2018-12-13 19:56 shuah
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181214210734.GF3448@localhost.localdomain \
--to=anders.roxell@linaro.org \
--cc=akpm@linux-foundation.org \
--cc=aneesh.kumar@linux.vnet.ibm.com \
--cc=bamv2005@gmail.com \
--cc=brgl@bgdev.pl \
--cc=daniel.diaz@linaro.org \
--cc=davem@davemloft.net \
--cc=dcaratti@redhat.com \
--cc=dima@arista.com \
--cc=drjones@redhat.com \
--cc=dvhart@infradead.org \
--cc=fathi.boudra@linaro.org \
--cc=hofsass@google.com \
--cc=khalid.aziz@oracle.com \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=mhocko@suse.com \
--cc=mingo@redhat.com \
--cc=mpe@ellerman.id.au \
--cc=pbonzini@redhat.com \
--cc=peng.hao2@zte.com.cn \
--cc=peterx@redhat.com \
--cc=peterz@infradead.org \
--cc=pintu.ping@gmail.com \
--cc=shuah@kernel.org \
--cc=stable@vger.kernel.org \
--cc=tglx@linutronix.de \
--cc=wei@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.