aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThiƩbaud Weksteen <tweek@google.com>2024-05-02 14:31:52 +1000
committerThiƩbaud Weksteen <tweek@google.com>2024-05-06 13:11:09 +1000
commitbec99f419003e3228ccd785362882d18c730b4fd (patch)
treeb64a0754c3ae72d8226515e751b4668a6d6c6ba1
parent5fd6afea625bba0357b8a31c2ca2aaef90c06d50 (diff)
downloadselinux-master.tar.gz
Add unit testsHEADmastermain
Add unit tests for is_app_data_path, is_credential_encrypted_path and extract_pkgname_and_userid. Test: atest --host libselinux_test Bug: 317296680 Change-Id: Ib5f528d8beb62db0c59207ee88b6503d0f5845f3
-rw-r--r--libselinux/src/android/android_unittest.cpp58
1 files changed, 58 insertions, 0 deletions
diff --git a/libselinux/src/android/android_unittest.cpp b/libselinux/src/android/android_unittest.cpp
index 1eb9056e..28a75247 100644
--- a/libselinux/src/android/android_unittest.cpp
+++ b/libselinux/src/android/android_unittest.cpp
@@ -172,3 +172,61 @@ TEST(AndroidSeAppTest, ParseOverflow)
ret = parse_seinfo(seinfo.c_str(), &info);
EXPECT_EQ(ret, -1);
}
+
+TEST(AndroidSELinuxPathTest, IsAppDataPath)
+{
+ EXPECT_TRUE(is_app_data_path("/data/data"));
+ EXPECT_TRUE(is_app_data_path("/data/user/0"));
+
+ EXPECT_FALSE(is_app_data_path("/data"));
+}
+
+TEST(AndroidSELinuxPathTest, IsCredentialEncryptedPath)
+{
+ EXPECT_TRUE(is_credential_encrypted_path("/data/system_ce/0"));
+ EXPECT_TRUE(is_credential_encrypted_path("/data/system_ce/0/backup"));
+ EXPECT_TRUE(is_credential_encrypted_path("/data/misc_ce/0"));
+ EXPECT_TRUE(is_credential_encrypted_path("/data/misc_ce/0/apexdata"));
+ EXPECT_TRUE(is_credential_encrypted_path("/data/vendor_ce/0"));
+ EXPECT_TRUE(is_credential_encrypted_path("/data/vendor_ce/0/data"));
+
+ EXPECT_FALSE(is_credential_encrypted_path("/data"));
+ EXPECT_FALSE(is_credential_encrypted_path("/data/data"));
+ EXPECT_FALSE(is_credential_encrypted_path("/data/user/0"));
+}
+
+TEST(AndroidSELinuxPathTest, ExtractPkgnameAndUserid)
+{
+ char *pkgname = NULL;
+ unsigned int userid;
+
+ EXPECT_EQ(extract_pkgname_and_userid("/data/", &pkgname, &userid), -1);
+
+ char const* path = "/data/user/0/com.android.myapp";
+ EXPECT_EQ(extract_pkgname_and_userid(path, &pkgname, &userid), 0);
+ EXPECT_STREQ("com.android.myapp", pkgname);
+ EXPECT_EQ(userid, 0);
+ free(pkgname);
+ pkgname = NULL;
+
+ path = "/data/user/0/com.android.myapp/som/subdir";
+ EXPECT_EQ(extract_pkgname_and_userid(path, &pkgname, &userid), 0);
+ EXPECT_STREQ("com.android.myapp", pkgname);
+ EXPECT_EQ(userid, 0);
+ free(pkgname);
+ pkgname = NULL;
+
+ path = "/data/data/com.android.myapp2";
+ EXPECT_EQ(extract_pkgname_and_userid(path, &pkgname, &userid), 0);
+ EXPECT_STREQ("com.android.myapp2", pkgname);
+ EXPECT_EQ(userid, 0);
+ free(pkgname);
+ pkgname = NULL;
+
+ path = "/data/misc_de/10/sdksandbox/com.android.myapp3";
+ EXPECT_EQ(extract_pkgname_and_userid(path, &pkgname, &userid), 0);
+ EXPECT_STREQ("com.android.myapp3", pkgname);
+ EXPECT_EQ(userid, 10);
+ free(pkgname);
+ pkgname = NULL;
+}