Currently, when we run test_progs with just executable file name, for example 'PATH=. test_progs-no_alu32', cd_flavor_subdir() will not check if test_progs is running as a flavored test runner and switch into corresponding sub-directory.
This will cause test_progs-no_alu32 executed by the 'PATH=. test_progs-no_alu32' command to run in the wrong directory and load the wrong BPF objects.
Signed-off-by: Yuntao Wang ytcoode@gmail.com --- tools/testing/selftests/bpf/test_progs.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/bpf/test_progs.c b/tools/testing/selftests/bpf/test_progs.c index 2ecb73a65206..0a4b45d7b515 100644 --- a/tools/testing/selftests/bpf/test_progs.c +++ b/tools/testing/selftests/bpf/test_progs.c @@ -761,8 +761,10 @@ int cd_flavor_subdir(const char *exec_name) const char *flavor = strrchr(exec_name, '/');
if (!flavor) - return 0; - flavor++; + flavor = exec_name; + else + flavor++; + flavor = strrchr(flavor, '-'); if (!flavor) return 0;
On Sun, Apr 3, 2022 at 6:53 AM Yuntao Wang ytcoode@gmail.com wrote:
Currently, when we run test_progs with just executable file name, for example 'PATH=. test_progs-no_alu32', cd_flavor_subdir() will not check
First time seeing this PATH=. trick just to avoid ./test_progs-no_alu32, but sure, the fix makes sense. Applied to bpf-next.
if test_progs is running as a flavored test runner and switch into corresponding sub-directory.
This will cause test_progs-no_alu32 executed by the 'PATH=. test_progs-no_alu32' command to run in the wrong directory and load the wrong BPF objects.
Signed-off-by: Yuntao Wang ytcoode@gmail.com
tools/testing/selftests/bpf/test_progs.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/bpf/test_progs.c b/tools/testing/selftests/bpf/test_progs.c index 2ecb73a65206..0a4b45d7b515 100644 --- a/tools/testing/selftests/bpf/test_progs.c +++ b/tools/testing/selftests/bpf/test_progs.c @@ -761,8 +761,10 @@ int cd_flavor_subdir(const char *exec_name) const char *flavor = strrchr(exec_name, '/');
if (!flavor)
return 0;
flavor++;
flavor = exec_name;
else
flavor++;
flavor = strrchr(flavor, '-'); if (!flavor) return 0;
-- 2.35.1
Hello:
This patch was applied to bpf/bpf-next.git (master) by Andrii Nakryiko andrii@kernel.org:
On Sun, 3 Apr 2022 21:52:45 +0800 you wrote:
Currently, when we run test_progs with just executable file name, for example 'PATH=. test_progs-no_alu32', cd_flavor_subdir() will not check if test_progs is running as a flavored test runner and switch into corresponding sub-directory.
This will cause test_progs-no_alu32 executed by the 'PATH=. test_progs-no_alu32' command to run in the wrong directory and load the wrong BPF objects.
[...]
Here is the summary with links: - [bpf-next] selftests/bpf: Fix cd_flavor_subdir() of test_progs https://git.kernel.org/bpf/bpf-next/c/9bbad6dab827
You are awesome, thank you!
linux-kselftest-mirror@lists.linaro.org