Re: [PATCH 5/5] selftests: openat2: Skip testcases that fail with EOPNOTSUPP

Shuah Khan
2022-01-27T23:13:31Z

On 1/26/22 3:27 AM, Cristian Marussi wrote:
> Skip testcases that fail since the requested valid flags combination is not
> supported by the underlying filesystem.
>
> Cc: Aleksa Sarai <cyphar@cyphar.com>
> Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
> ---
> tools/testing/selftests/openat2/openat2_test.c | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/tools/testing/selftests/openat2/openat2_test.c b/tools/testing/selftests/openat2/openat2_test.c
> index 1bddbe934204..7fb902099de4 100644
> --- a/tools/testing/selftests/openat2/openat2_test.c
> +++ b/tools/testing/selftests/openat2/openat2_test.c
> @@ -259,6 +259,16 @@ void test_openat2_flags(void)
> unlink(path);
>
> fd = sys_openat2(AT_FDCWD, path, &test->how);
> + if (fd < 0 && fd == -EOPNOTSUPP) {
> + /*
> + * Skip the testcase if it failed because not supported
> + * by FS. (e.g. a valid O_TMPFILE combination on NFS)
> + */
> + ksft_test_result_skip("openat2 with %s fails with %d (%s)\n",
> + test->name, fd, strerror(-fd));
> + goto next;
> + }
> +
> if (test->err >= 0)
> failed = (fd < 0);
> else
> @@ -303,7 +313,7 @@ void test_openat2_flags(void)
> else
> resultfn("openat2 with %s fails with %d (%s)\n",
> test->name, test->err, strerror(-test->err));
> -
> +next:
> free(fdpath);
> fflush(stdout);
> }
>

Thanks for the patch. Will apply to linux-kselftest fixes branc for rc3

thanks,
-- Shuah