Re: [PATCH] selftests: settings: tests can be in subsubdirs

From: Matthieu Baerts
Date: Thu Nov 21 2019 - 11:32:50 EST

Hi Shuah,

First, thank you for maintaining the Kernel Selftest framework!

On 22/10/2019 19:12, Matthieu Baerts wrote:
Commit 852c8cbf34d3 (selftests/kselftest/ Add 45 second
timeout per test) adds support for a new per-test-directory "settings"
file. But this only works for tests not in a sub-subdirectories, e.g.

- tools/testing/selftests/rtc (rtc) is OK,
- tools/testing/selftests/net/mptcp (net/mptcp) is not.

We have to increase the timeout for net/mptcp tests which are not
upstreamed yet but this fix is valid for other tests if they need to add
a "settings" file, see the full list with:


Note that this patch changes the text header message printed at the end
of the execution but this text is modified only for the tests that are
in sub-subdirectories, e.g.

ok 1 selftests: net/mptcp:

Before we had:

ok 1 selftests: mptcp:

But showing the full target name is probably better, just in case a
subsubdir has the same name as another one in another subdirectory.

Fixes: 852c8cbf34d3 (selftests/kselftest/ Add 45 second timeout per test)
Signed-off-by: Matthieu Baerts <matthieu.baerts@xxxxxxxxxxxx>
Sorry to bother you again with this but by chance, did you have a look at the patch below? :)

It doesn't only fix an issue with MPTCP, not in the kernel yet. But it also fixes the issue of taking the right "settings" file (if available) for any other tests in a sub-directory, e.g.:


But I guess all tests in powerpc/* dirs and others.


tools/testing/selftests/kselftest/ | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/testing/selftests/kselftest/ b/tools/testing/selftests/kselftest/
index 84de7bc74f2c..0d7a89901ef7 100644
--- a/tools/testing/selftests/kselftest/
+++ b/tools/testing/selftests/kselftest/
@@ -90,7 +90,7 @@ run_one()
echo "TAP version 13"
- DIR=$(basename "$PWD")
+ DIR="${PWD#${BASE_DIR}/}"
total=$(echo "$@" | wc -w)
echo "1..$total"

Matthieu Baerts | R&D Engineer
Tessares SA | Hybrid Access Solutions
1 Avenue Jean Monnet, 1348 Louvain-la-Neuve, Belgium