diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2022-02-18 02:41:37 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2022-02-18 02:41:37 +0000 |
commit | 013fa056bb8388ddb7e69d30cff3193086679dfe (patch) | |
tree | e5d24433e3a844c6423f3423e12557d76d3b8d7a | |
parent | 8da6741a9af4ceef07b6ae8aa189ae2ed1fad993 (diff) | |
parent | 4ab5d534b1573cb13205baba9d42caab6bcd907e (diff) | |
download | native-013fa056bb8388ddb7e69d30cff3193086679dfe.tar.gz |
Merge "Revert Android.bp changes."
-rw-r--r-- | cmds/installd/Android.bp | 7 | ||||
-rw-r--r-- | cmds/installd/tests/Android.bp | 81 | ||||
-rw-r--r-- | cmds/installd/tests/installd_service_test.cpp | 2 | ||||
-rw-r--r-- | cmds/installd/tests/installd_utils_test.cpp | 18 | ||||
-rw-r--r-- | cmds/installd/utils.cpp | 8 | ||||
-rw-r--r-- | cmds/installd/utils.h | 2 |
6 files changed, 90 insertions, 28 deletions
diff --git a/cmds/installd/Android.bp b/cmds/installd/Android.bp index fd38ddfc57..c9f680b266 100644 --- a/cmds/installd/Android.bp +++ b/cmds/installd/Android.bp @@ -10,7 +10,6 @@ package { cc_defaults { name: "installd_defaults", - cpp_std: "c++2a", cflags: [ "-Wall", "-Werror", @@ -42,7 +41,6 @@ cc_defaults { "libbinder", "libcrypto", "libcutils", - "libext2_uuid", "liblog", "liblogwrap", "libprocessgroup", @@ -53,6 +51,7 @@ cc_defaults { ], static_libs: [ "libasync_safe", + "libext2_uuid", ], export_shared_lib_headers: [ "libbinder", @@ -241,8 +240,6 @@ cc_library_static { cc_binary { name: "otapreopt", - - cpp_std: "c++2a", cflags: [ "-Wall", "-Werror", @@ -266,13 +263,13 @@ cc_binary { "libasync_safe", "libdiskusage", "libotapreoptparameters", + "libext2_uuid", ], shared_libs: [ "libbase", "libcrypto", "libcutils", - "libext2_uuid", "liblog", "liblogwrap", "libprocessgroup", diff --git a/cmds/installd/tests/Android.bp b/cmds/installd/tests/Android.bp index a16587ec99..e390babb57 100644 --- a/cmds/installd/tests/Android.bp +++ b/cmds/installd/tests/Android.bp @@ -8,54 +8,56 @@ package { default_applicable_licenses: ["frameworks_native_license"], } -cc_defaults { - name: "installd_tests_defaults", +cc_test { + name: "installd_utils_test", test_suites: ["device-tests"], clang: true, - cpp_std: "c++2a", + srcs: ["installd_utils_test.cpp"], cflags: [ "-Wall", "-Werror", ], shared_libs: [ "libbase", - "libcutils", - "libext2_uuid", "libutils", + "libcutils", ], static_libs: [ - "liblog", - ], -} - -cc_test { - name: "installd_utils_test", - defaults: ["installd_tests_defaults"], - srcs: ["installd_utils_test.cpp"], - static_libs: [ "libasync_safe", "libdiskusage", + "libext2_uuid", "libinstalld", + "liblog", ], test_config: "installd_utils_test.xml", } cc_test { name: "installd_cache_test", - defaults: ["installd_tests_defaults"], + test_suites: ["device-tests"], + clang: true, srcs: ["installd_cache_test.cpp"], + cflags: [ + "-Wall", + "-Werror", + ], shared_libs: [ + "libbase", "libbinder", "libcrypto", + "libcutils", "libprocessgroup", "libselinux", + "libutils", "server_configurable_flags", ], static_libs: [ "libasync_safe", "libdiskusage", + "libext2_uuid", "libinstalld", "libziparchive", + "liblog", "liblogwrap", ], test_config: "installd_cache_test.xml", @@ -78,21 +80,31 @@ cc_test { cc_test { name: "installd_service_test", - defaults: ["installd_tests_defaults"], + test_suites: ["device-tests"], + clang: true, srcs: ["installd_service_test.cpp"], + cflags: [ + "-Wall", + "-Werror", + ], shared_libs: [ + "libbase", "libbinder", "libcrypto", + "libcutils", "libprocessgroup", "libselinux", + "libutils", "packagemanager_aidl-cpp", "server_configurable_flags", ], static_libs: [ "libasync_safe", "libdiskusage", + "libext2_uuid", "libinstalld", "libziparchive", + "liblog", "liblogwrap", ], test_config: "installd_service_test.xml", @@ -115,19 +127,29 @@ cc_test { cc_test { name: "installd_dexopt_test", - defaults: ["installd_tests_defaults"], + test_suites: ["device-tests"], + clang: true, srcs: ["installd_dexopt_test.cpp"], + cflags: [ + "-Wall", + "-Werror", + ], shared_libs: [ + "libbase", "libbinder", "libcrypto", + "libcutils", "libprocessgroup", "libselinux", + "libutils", "server_configurable_flags", ], static_libs: [ "libasync_safe", "libdiskusage", + "libext2_uuid", "libinstalld", + "liblog", "liblogwrap", "libziparchive", "libz", @@ -152,21 +174,42 @@ cc_test { cc_test { name: "installd_otapreopt_test", - defaults: ["installd_tests_defaults"], + test_suites: ["device-tests"], + clang: true, srcs: ["installd_otapreopt_test.cpp"], + cflags: [ + "-Wall", + "-Werror", + ], shared_libs: [ + "libbase", + "libcutils", + "libutils", "server_configurable_flags", ], static_libs: [ + "liblog", "libotapreoptparameters", ], } cc_test { name: "installd_file_test", - defaults: ["installd_tests_defaults"], + test_suites: ["device-tests"], + clang: true, srcs: ["installd_file_test.cpp"], + cflags: [ + "-Wall", + "-Werror", + ], + shared_libs: [ + "libbase", + "libcutils", + "libutils", + ], static_libs: [ + "libext2_uuid", "libinstalld", + "liblog", ], } diff --git a/cmds/installd/tests/installd_service_test.cpp b/cmds/installd/tests/installd_service_test.cpp index 806797f230..dadc27b7ee 100644 --- a/cmds/installd/tests/installd_service_test.cpp +++ b/cmds/installd/tests/installd_service_test.cpp @@ -156,7 +156,7 @@ static bool find_file(const char* path, Pred&& pred) { } static bool exists_renamed_deleted_dir() { - return find_file(kTestPath, [](std::string_view name, bool is_dir) { + return find_file(kTestPath, [](const std::string& name, bool is_dir) { return is_dir && is_renamed_deleted_dir(name); }); } diff --git a/cmds/installd/tests/installd_utils_test.cpp b/cmds/installd/tests/installd_utils_test.cpp index ed87b672ce..5e8c79e9fa 100644 --- a/cmds/installd/tests/installd_utils_test.cpp +++ b/cmds/installd/tests/installd_utils_test.cpp @@ -555,6 +555,24 @@ TEST_F(UtilsTest, MatchExtension_Invalid) { EXPECT_EQ(0, MatchExtension("docx")); } +TEST_F(UtilsTest, TestIsRenamedDeletedDir) { + EXPECT_FALSE(is_renamed_deleted_dir("")); + EXPECT_FALSE(is_renamed_deleted_dir("1")); + EXPECT_FALSE(is_renamed_deleted_dir("=")); + EXPECT_FALSE(is_renamed_deleted_dir("==")); + EXPECT_FALSE(is_renamed_deleted_dir("d==")); + EXPECT_FALSE(is_renamed_deleted_dir("ed==")); + EXPECT_FALSE(is_renamed_deleted_dir("ted==")); + EXPECT_FALSE(is_renamed_deleted_dir("eted==")); + EXPECT_FALSE(is_renamed_deleted_dir("leted==")); + EXPECT_FALSE(is_renamed_deleted_dir("eleted==")); + EXPECT_FALSE(is_renamed_deleted_dir("deleted==")); + EXPECT_FALSE(is_renamed_deleted_dir("=deleted==")); + EXPECT_TRUE(is_renamed_deleted_dir("==deleted==")); + EXPECT_TRUE(is_renamed_deleted_dir("123==deleted==")); + EXPECT_TRUE(is_renamed_deleted_dir("5b14b6458a44==deleted==")); +} + TEST_F(UtilsTest, TestRollbackPaths) { EXPECT_EQ("/data/misc_ce/0/rollback/239/com.foo", create_data_misc_ce_rollback_package_path(nullptr, 0, 239, "com.foo")); diff --git a/cmds/installd/utils.cpp b/cmds/installd/utils.cpp index 8a00be9193..faccded34b 100644 --- a/cmds/installd/utils.cpp +++ b/cmds/installd/utils.cpp @@ -637,8 +637,12 @@ static int rename_delete_dir_contents(const std::string& pathname, return delete_dir_contents(temp_dir_path.c_str(), 1, exclusion_predicate, ignore_if_missing); } -bool is_renamed_deleted_dir(std::string_view path) { - return path.ends_with(deletedSuffix); +bool is_renamed_deleted_dir(const std::string& path) { + if (path.size() < deletedSuffix.size()) { + return false; + } + std::string_view pathSuffix{path.c_str() + path.size() - deletedSuffix.size()}; + return pathSuffix == deletedSuffix; } int rename_delete_dir_contents_and_dir(const std::string& pathname, bool ignore_if_missing) { diff --git a/cmds/installd/utils.h b/cmds/installd/utils.h index 04f3bc93a6..0b1c324b02 100644 --- a/cmds/installd/utils.h +++ b/cmds/installd/utils.h @@ -120,7 +120,7 @@ int create_dir_if_needed(const std::string& pathname, mode_t mode); int delete_dir_contents(const std::string& pathname, bool ignore_if_missing = false); int delete_dir_contents_and_dir(const std::string& pathname, bool ignore_if_missing = false); -bool is_renamed_deleted_dir(std::string_view path); +bool is_renamed_deleted_dir(const std::string& path); int rename_delete_dir_contents_and_dir(const std::string& pathname, bool ignore_if_missing = true); void cleanup_invalid_package_dirs_under_path(const std::string& pathname); |