summaryrefslogtreecommitdiff
path: root/init/firmware_handler_test.cpp
diff options
context:
space:
mode:
authorDavid Anderson <dvander@google.com>2021-04-16 13:33:56 -0700
committerDavid Anderson <dvander@google.com>2021-04-16 13:35:11 -0700
commit19872d0156801292e36fd40893f0fbf68880cf46 (patch)
tree961e505d82ef3c22d8ac5c6ec81b5af3ce87e6af /init/firmware_handler_test.cpp
parent22fdd0ae13c566527cedc7caf5c96f0a4e5536d4 (diff)
init: Add tests and document the new fnmatch behavior in ExternalFirmwareHandler.
Bug: N/A Test: atest CtsInitTestCases Change-Id: I232db8416318ba31ea3f78cc07f235d9a47efac4
Diffstat (limited to 'init/firmware_handler_test.cpp')
-rw-r--r--init/firmware_handler_test.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/init/firmware_handler_test.cpp b/init/firmware_handler_test.cpp
index 5124a6f41..f6e75b01f 100644
--- a/init/firmware_handler_test.cpp
+++ b/init/firmware_handler_test.cpp
@@ -103,6 +103,23 @@ int HandleBadPath(int argc, char** argv) {
return 0;
}
+TEST(firmware_handler, Matching) {
+ ExternalFirmwareHandler h("/dev/path/a.bin", getuid(), "/test");
+ ASSERT_TRUE(h.match("/dev/path/a.bin"));
+ ASSERT_FALSE(h.match("/dev/path/a.bi"));
+
+ h = ExternalFirmwareHandler("/dev/path/a.*", getuid(), "/test");
+ ASSERT_TRUE(h.match("/dev/path/a.bin"));
+ ASSERT_TRUE(h.match("/dev/path/a.bix"));
+ ASSERT_FALSE(h.match("/dev/path/b.bin"));
+
+ h = ExternalFirmwareHandler("/dev/*/a.bin", getuid(), "/test");
+ ASSERT_TRUE(h.match("/dev/path/a.bin"));
+ ASSERT_TRUE(h.match("/dev/other/a.bin"));
+ ASSERT_FALSE(h.match("/dev/other/c.bin"));
+ ASSERT_FALSE(h.match("/dev/path/b.bin"));
+}
+
} // namespace init
} // namespace android