diff mbox series

[v2,1/2] selftests/vm: fix inability to build any vm tests

Message ID 20220819191929.480108-1-axelrasmussen@google.com (mailing list archive)
State Accepted
Commit bdbf0617bbc3641af158d1aeffeebb1505f76263
Headers show
Series [v2,1/2] selftests/vm: fix inability to build any vm tests | expand

Commit Message

Axel Rasmussen Aug. 19, 2022, 7:19 p.m. UTC
When we stopped using KSFT_KHDR_INSTALL, a side effect is we also
changed the value of `top_srcdir`. This can be seen by looking at the
code removed by commit 49de12ba06ef
("selftests: drop KSFT_KHDR_INSTALL make target").

(Note though that this commit didn't break this, technically the one
before it did since that's the one that stopped KSFT_KHDR_INSTALL from
being used, even though the code was still there.)

Previously lib.mk reconfigured `top_srcdir` when KSFT_KHDR_INSTALL was
being used. Now, that's no longer the case.

As a result, the path to gup_test.h in vm/Makefile was wrong, and
since it's a dependency of all of the vm binaries none of them could
be built. Instead, we'd get an "error" like:

    make[1]: *** No rule to make target
        '/[...]/tools/testing/selftests/vm/compaction_test', needed by
	'all'.  Stop.

So, modify lib.mk so it once again sets top_srcdir to the root of the
kernel tree.

Fixes: f2745dc0ba3d ("selftests: stop using KSFT_KHDR_INSTALL")
Signed-off-by: Axel Rasmussen <axelrasmussen@google.com>
---
 tools/testing/selftests/lib.mk | 1 +
 1 file changed, 1 insertion(+)

Comments

Shuah Khan Aug. 19, 2022, 11:58 p.m. UTC | #1
On 8/19/22 1:19 PM, Axel Rasmussen wrote:
> When we stopped using KSFT_KHDR_INSTALL, a side effect is we also
> changed the value of `top_srcdir`. This can be seen by looking at the
> code removed by commit 49de12ba06ef
> ("selftests: drop KSFT_KHDR_INSTALL make target").
> 
> (Note though that this commit didn't break this, technically the one
> before it did since that's the one that stopped KSFT_KHDR_INSTALL from
> being used, even though the code was still there.)
> 
> Previously lib.mk reconfigured `top_srcdir` when KSFT_KHDR_INSTALL was
> being used. Now, that's no longer the case.
> 
> As a result, the path to gup_test.h in vm/Makefile was wrong, and
> since it's a dependency of all of the vm binaries none of them could
> be built. Instead, we'd get an "error" like:
> 
>      make[1]: *** No rule to make target
>          '/[...]/tools/testing/selftests/vm/compaction_test', needed by
> 	'all'.  Stop.
> 
> So, modify lib.mk so it once again sets top_srcdir to the root of the
> kernel tree.
> 
> Fixes: f2745dc0ba3d ("selftests: stop using KSFT_KHDR_INSTALL")
> Signed-off-by: Axel Rasmussen <axelrasmussen@google.com>
> ---
>   tools/testing/selftests/lib.mk | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk
> index 947fc72413e9..d44c72b3abe3 100644
> --- a/tools/testing/selftests/lib.mk
> +++ b/tools/testing/selftests/lib.mk
> @@ -40,6 +40,7 @@ ifeq (0,$(MAKELEVEL))
>       endif
>   endif
>   selfdir = $(realpath $(dir $(filter %/lib.mk,$(MAKEFILE_LIST))))
> +top_srcdir = $(selfdir)/../../..
>   
>   # The following are built by lib.mk common compile rules.
>   # TEST_CUSTOM_PROGS should be used by tests that require
> 

Applied to linux-kselftest fixes for the next rc.

thanks,
-- Shuah
John Hubbard Aug. 20, 2022, 12:11 a.m. UTC | #2
On 8/19/22 12:19, Axel Rasmussen wrote:
> When we stopped using KSFT_KHDR_INSTALL, a side effect is we also
> changed the value of `top_srcdir`. This can be seen by looking at the
> code removed by commit 49de12ba06ef
> ("selftests: drop KSFT_KHDR_INSTALL make target").
> 
> (Note though that this commit didn't break this, technically the one
> before it did since that's the one that stopped KSFT_KHDR_INSTALL from
> being used, even though the code was still there.)
> 
> Previously lib.mk reconfigured `top_srcdir` when KSFT_KHDR_INSTALL was
> being used. Now, that's no longer the case.
> 
> As a result, the path to gup_test.h in vm/Makefile was wrong, and
> since it's a dependency of all of the vm binaries none of them could
> be built. Instead, we'd get an "error" like:
> 
>      make[1]: *** No rule to make target
>          '/[...]/tools/testing/selftests/vm/compaction_test', needed by
> 	'all'.  Stop.
> 
> So, modify lib.mk so it once again sets top_srcdir to the root of the
> kernel tree.
> 
> Fixes: f2745dc0ba3d ("selftests: stop using KSFT_KHDR_INSTALL")
> Signed-off-by: Axel Rasmussen <axelrasmussen@google.com>
> ---
>   tools/testing/selftests/lib.mk | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk
> index 947fc72413e9..d44c72b3abe3 100644
> --- a/tools/testing/selftests/lib.mk
> +++ b/tools/testing/selftests/lib.mk
> @@ -40,6 +40,7 @@ ifeq (0,$(MAKELEVEL))
>       endif
>   endif
>   selfdir = $(realpath $(dir $(filter %/lib.mk,$(MAKEFILE_LIST))))
> +top_srcdir = $(selfdir)/../../..
>   
>   # The following are built by lib.mk common compile rules.
>   # TEST_CUSTOM_PROGS should be used by tests that require


Reviewed-by: John Hubbard <jhubbard@nvidia.com>


thanks,
diff mbox series

Patch

diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk
index 947fc72413e9..d44c72b3abe3 100644
--- a/tools/testing/selftests/lib.mk
+++ b/tools/testing/selftests/lib.mk
@@ -40,6 +40,7 @@  ifeq (0,$(MAKELEVEL))
     endif
 endif
 selfdir = $(realpath $(dir $(filter %/lib.mk,$(MAKEFILE_LIST))))
+top_srcdir = $(selfdir)/../../..
 
 # The following are built by lib.mk common compile rules.
 # TEST_CUSTOM_PROGS should be used by tests that require