Loading services/core/xsd/vts/Android.bp +1 −0 Original line number Original line Diff line number Diff line Loading @@ -25,6 +25,7 @@ cc_test { ], ], shared_libs: [ shared_libs: [ "liblog", "liblog", "libbase", ], ], cflags: [ cflags: [ "-Wall", "-Wall", Loading services/core/xsd/vts/ValidateDefaultPermissions.cpp +39 −4 Original line number Original line Diff line number Diff line Loading @@ -16,13 +16,48 @@ #include "utility/ValidateXml.h" #include "utility/ValidateXml.h" TEST(CheckConfig, mediaDefaultPermissions) { #include <dirent.h> #include <stdlib.h> #include <sys/stat.h> #include <unistd.h> #include <string> #include <android-base/strings.h> static std::vector<std::string> get_files_in_dirs(const char* dir_path) { std::vector<std::string> files; std::unique_ptr<DIR, decltype(&closedir)> d(opendir(dir_path), closedir); if (d == nullptr) { return files; } struct dirent* de; while ((de = readdir(d.get()))) { if (de->d_type != DT_REG) { continue; } if (android::base::EndsWith(de->d_name, ".xml")) { files.push_back(de->d_name); } } return files; } TEST(CheckConfig, defaultPermissions) { RecordProperty("description", RecordProperty("description", "Verify that the default-permissions file " "Verify that the default-permissions file " "is valid according to the schema"); "is valid according to the schema"); const char* location = "/vendor/etc/default-permissions"; std::vector<const char*> locations = {"/vendor/etc/default-permissions", "/odm/etc/default-permissions"}; EXPECT_ONE_VALID_XML_MULTIPLE_LOCATIONS("default-permissions.xml", {location}, for (const char* dir_path : locations) { std::vector<std::string> files = get_files_in_dirs(dir_path); for (auto& file_name : files) { EXPECT_ONE_VALID_XML_MULTIPLE_LOCATIONS(file_name.c_str(), {dir_path}, "/data/local/tmp/default-permissions.xsd"); "/data/local/tmp/default-permissions.xsd"); } } } } Loading
services/core/xsd/vts/Android.bp +1 −0 Original line number Original line Diff line number Diff line Loading @@ -25,6 +25,7 @@ cc_test { ], ], shared_libs: [ shared_libs: [ "liblog", "liblog", "libbase", ], ], cflags: [ cflags: [ "-Wall", "-Wall", Loading
services/core/xsd/vts/ValidateDefaultPermissions.cpp +39 −4 Original line number Original line Diff line number Diff line Loading @@ -16,13 +16,48 @@ #include "utility/ValidateXml.h" #include "utility/ValidateXml.h" TEST(CheckConfig, mediaDefaultPermissions) { #include <dirent.h> #include <stdlib.h> #include <sys/stat.h> #include <unistd.h> #include <string> #include <android-base/strings.h> static std::vector<std::string> get_files_in_dirs(const char* dir_path) { std::vector<std::string> files; std::unique_ptr<DIR, decltype(&closedir)> d(opendir(dir_path), closedir); if (d == nullptr) { return files; } struct dirent* de; while ((de = readdir(d.get()))) { if (de->d_type != DT_REG) { continue; } if (android::base::EndsWith(de->d_name, ".xml")) { files.push_back(de->d_name); } } return files; } TEST(CheckConfig, defaultPermissions) { RecordProperty("description", RecordProperty("description", "Verify that the default-permissions file " "Verify that the default-permissions file " "is valid according to the schema"); "is valid according to the schema"); const char* location = "/vendor/etc/default-permissions"; std::vector<const char*> locations = {"/vendor/etc/default-permissions", "/odm/etc/default-permissions"}; EXPECT_ONE_VALID_XML_MULTIPLE_LOCATIONS("default-permissions.xml", {location}, for (const char* dir_path : locations) { std::vector<std::string> files = get_files_in_dirs(dir_path); for (auto& file_name : files) { EXPECT_ONE_VALID_XML_MULTIPLE_LOCATIONS(file_name.c_str(), {dir_path}, "/data/local/tmp/default-permissions.xsd"); "/data/local/tmp/default-permissions.xsd"); } } } }