selftests/binderfs: add test for feature files
authorCarlos Llamas <cmllamas@google.com>
Thu, 15 Jul 2021 03:18:05 +0000 (03:18 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 21 Jul 2021 11:46:36 +0000 (13:46 +0200)
Verify that feature files are created successfully after mounting a
binderfs instance. Note that only "oneway_spam_detection" feature is
tested with this patch as it is currently the only feature listed.

Acked-by: Christian Brauner <christian.brauner@ubuntu.com>
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Link: https://lore.kernel.org/r/20210715031805.1725878-3-cmllamas@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
tools/testing/selftests/filesystems/binderfs/binderfs_test.c

index 477cbb0..0315955 100644 (file)
@@ -62,6 +62,9 @@ static int __do_binderfs_test(struct __test_metadata *_metadata)
        struct binder_version version = { 0 };
        char binderfs_mntpt[] = P_tmpdir "/binderfs_XXXXXX",
                device_path[sizeof(P_tmpdir "/binderfs_XXXXXX/") + BINDERFS_MAX_NAME];
+       static const char * const binder_features[] = {
+               "oneway_spam_detection",
+       };
 
        change_mountns(_metadata);
 
@@ -150,6 +153,20 @@ static int __do_binderfs_test(struct __test_metadata *_metadata)
        }
 
        /* success: binder-control device removal failed as expected */
+
+       for (int i = 0; i < ARRAY_SIZE(binder_features); i++) {
+               snprintf(device_path, sizeof(device_path), "%s/features/%s",
+                        binderfs_mntpt, binder_features[i]);
+               fd = open(device_path, O_CLOEXEC | O_RDONLY);
+               EXPECT_GE(fd, 0) {
+                       TH_LOG("%s - Failed to open binder feature: %s",
+                               strerror(errno), binder_features[i]);
+                       goto umount;
+               }
+               close(fd);
+       }
+
+       /* success: binder feature files found */
        result = 0;
 
 umount: