[Devel] [PATCH vz10] selftests: binderfs: skip the stress test without binderfs

Eva Kurchatova eva.kurchatova at virtuozzo.com
Tue Sep 1 02:50:36 MSK 2026


binderfs_test_stress mounts binderfs 32 times and asserts on the first
mount, so on a kernel without CONFIG_ANDROID_BINDERFS the case fails
rather than reporting that the filesystem is not there.

Probe once with a mount into a temporary directory and skip when the
kernel answers ENODEV. Only ENODEV means the filesystem is missing;
anything else is a real failure and still fails, as does a temporary
directory we cannot create.

https://virtuozzo.atlassian.net/browse/VSTOR-142449
Feature: fix selftests
Signed-off-by: Eva Kurchatova <eva.kurchatova at virtuozzo.com>
---
 .../selftests/filesystems/binderfs/binderfs_test.c    | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/tools/testing/selftests/filesystems/binderfs/binderfs_test.c b/tools/testing/selftests/filesystems/binderfs/binderfs_test.c
index 319567f0fae1..5d47e27e9dab 100644
--- a/tools/testing/selftests/filesystems/binderfs/binderfs_test.c
+++ b/tools/testing/selftests/filesystems/binderfs/binderfs_test.c
@@ -379,6 +379,17 @@ static void *binder_version_thread(void *data)
  */
 TEST(binderfs_stress)
 {
+	char probe[] = P_tmpdir "/binderfs_probe_XXXXXX";
+	int probe_ret;
+
+	ASSERT_NE(NULL, mkdtemp(probe));
+	probe_ret = mount(NULL, probe, "binder", 0, 0);
+	if (!probe_ret)
+		umount2(probe, MNT_DETACH);
+	rmdir(probe);
+	if (probe_ret && errno == ENODEV)
+		SKIP(return, "The Android binderfs filesystem is not available");
+
 	int fds[1000];
 	int syncfds[2];
 	pid_t pid;
-- 
2.55.0



More information about the Devel mailing list