Re: [PATCH 0/2] selftests: landlock: fix runs on older systems
From: Mickaël Salaün
Date: Thu Aug 17 2023 - 13:26:36 EST
Hi Andre,
On Wed, Aug 09, 2023 at 06:04:33PM +0100, Andre Przywara wrote:
> When naively running all kselftests on some systems, it was observed
> that the landlock selftest is quite picky and reports failures, even
> though the system is fine.
Indeed, the current Landlock test suite only checks for the Landlock ABI
of the same source tree as the kselftest files, hence the strict
abi_version test.
>
> Those two patches relax some tests to make them pass on older kernels:
> - The landlock ABI version is only "3" in recent kernels, so patch 1/2
> relaxes the test to accept other numbers.
> - Older kernels or some defconfig based kernels might not implement
> the landlock syscall at all. Patch 2/2 catches this.
>
> I couldn't find an easy way to not check for the syscall availability in
> *every* test in base_test.c, short of not using TEST_HARNESS_MAIN at all.
> If someone has a better idea, I am all ears, especially as this approach
> will get quite annoying in fs_base.c.
I'd like to take such changes but we need to be more generic, and if
possible avoid being too verbose.
For the more generic part, tests should be skipped according to the
Landlock ABI of the running kernel: i.e. a test should pass iff
ABI >= N.
For the verbosity improvements, we can rely on new macros as explain in
the following email.
>
> Cheers,
> Andre
>
> Andre Przywara (2):
> selftests: landlock: allow other ABI versions
> selftests: landlock: skip all tests without landlock syscall
>
> tools/testing/selftests/landlock/base_test.c | 29 +++++++++++++++++++-
> 1 file changed, 28 insertions(+), 1 deletion(-)
>
> --
> 2.25.1
>