Re: [PATCH bpf-next v4] selftests/bpf: use auto-dependencies for test objects

Björn Töpel
2024-09-13T14:51:52Z

patchwork-bot+netdevbpf@kernel.org writes:

> Hello:
>
> This patch was applied to bpf/bpf-next.git (master)
> by Andrii Nakryiko <andrii@kernel.org>:
>
> On Thu, 18 Jul 2024 22:57:43 +0000 you wrote:
>> Make use of -M compiler options when building .test.o objects to
>> generate .d files and avoid re-building all tests every time.
>>
>> Previously, if a single test bpf program under selftests/bpf/progs/*.c
>> has changed, make would rebuild all the *.bpf.o, *.skel.h and *.test.o
>> objects, which is a lot of unnecessary work.
>>
>> [...]
>
> Here is the summary with links:
> - [bpf-next,v4] selftests/bpf: use auto-dependencies for test objects
> https://git.kernel.org/bpf/bpf-next/c/a3cc56cd2c20

I'm getting some build regressions for out-of-tree selftest build with
this patch on bpf-next/master. I'm building the selftests from the
selftest root, typically:

make O=/output/foo SKIP_TARGETS="" \
KSFT_INSTALL_PATH=/output/foo/kselftest \
-C tools/testing/selftests install

and then package the whole output kselftest directory, and use that to
populate the DUT.

Reverting this patch, resolves the issues.

Two issues:

1. The install target fails, resulting in many test scripts not copied
to the install directory (e.g. test_kmod.sh).
2. Building "all" target fails the second time.

To reproduce, do the following:

Pre-requisite
Build the kernel for yourfavorite arch -- my is RISC-V at moment ;-)

make O=/output/foo defconfig
make O=/output/foo kselftest-merge
make O=/output/foo
make O=/output/foo headers

1. Install fail
make O=/output/foo TARGETS=bpf SKIP_TARGETS="" \
KSFT_INSTALL_PATH=/output/foo/kselftest \
-C tools/testing/selftests install

2. Build "all" fails the second time
make O=/output/foo TARGETS=bpf SKIP_TARGETS="" \
KSFT_INSTALL_PATH=/output/foo/kselftest \
-C tools/testing/selftests

make O=/output/foo TARGETS=bpf SKIP_TARGETS="" \
KSFT_INSTALL_PATH=/output/foo/kselftest \
-C tools/testing/selftests

Any ideas on a workaround?

(And not related to this patch; It's annoying that "bpf" is the default
SKIP_TARGETS in kselftest. A bit meh 2024. ;-))

Björn