summaryrefslogtreecommitdiffstats
path: root/tools/testing
diff options
context:
space:
mode:
authorCristian Marussi <cristian.marussi@arm.com>2022-01-26 10:27:23 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-02-23 12:00:59 +0100
commit204a2390da42759da2b5bc42c40878609f3c329b (patch)
tree13c3a8b04bb205382ee0c9f66282bdb78c355ef6 /tools/testing
parent2be48bfac71313d26293301ebeb5b33da24c13f7 (diff)
downloadlinux-stable-204a2390da42759da2b5bc42c40878609f3c329b.tar.gz
linux-stable-204a2390da42759da2b5bc42c40878609f3c329b.tar.bz2
linux-stable-204a2390da42759da2b5bc42c40878609f3c329b.zip
selftests: openat2: Skip testcases that fail with EOPNOTSUPP
[ Upstream commit ac9e0a250bb155078601a5b999aab05f2a04d1ab ] 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> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'tools/testing')
-rw-r--r--tools/testing/selftests/openat2/openat2_test.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/tools/testing/selftests/openat2/openat2_test.c b/tools/testing/selftests/openat2/openat2_test.c
index b386367c606b..453152b58e7f 100644
--- a/tools/testing/selftests/openat2/openat2_test.c
+++ b/tools/testing/selftests/openat2/openat2_test.c
@@ -244,6 +244,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
@@ -288,7 +298,7 @@ skip:
else
resultfn("openat2 with %s fails with %d (%s)\n",
test->name, test->err, strerror(-test->err));
-
+next:
free(fdpath);
fflush(stdout);
}