aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDennis Shen <dzshen@google.com>2024-05-08 18:55:00 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2024-05-08 18:55:00 +0000
commit015de62d7a6b2b4ffb5c2ac557d82143401ed5b4 (patch)
treeae8a0a248befde919ab979b5ce295df9d052d36c
parent9a78be4d42ef53344570c8a5c9ba796a794dbb0f (diff)
parentd772eb3edcf739d4e999b0d41b752bae9588c42d (diff)
downloadbuild-015de62d7a6b2b4ffb5c2ac557d82143401ed5b4.tar.gz
Merge "aconfig: make MutableMappedStorageFiles inherit MappedStoargeFiles" into main
-rw-r--r--tools/aconfig/aconfig_storage_file/protos/aconfig_storage_metadata.proto3
-rw-r--r--tools/aconfig/aconfig_storage_read_api/include/aconfig_storage/aconfig_storage_read_api.hpp2
-rw-r--r--tools/aconfig/aconfig_storage_write_api/aconfig_storage_write_api.cpp5
-rw-r--r--tools/aconfig/aconfig_storage_write_api/include/aconfig_storage/aconfig_storage_write_api.hpp6
-rw-r--r--tools/aconfig/aconfig_storage_write_api/tests/storage_write_api_test.cpp22
5 files changed, 9 insertions, 29 deletions
diff --git a/tools/aconfig/aconfig_storage_file/protos/aconfig_storage_metadata.proto b/tools/aconfig/aconfig_storage_file/protos/aconfig_storage_metadata.proto
index 7de43ca918..f6bf1a43c4 100644
--- a/tools/aconfig/aconfig_storage_file/protos/aconfig_storage_metadata.proto
+++ b/tools/aconfig/aconfig_storage_file/protos/aconfig_storage_metadata.proto
@@ -28,7 +28,8 @@ message storage_file_info {
optional string flag_val = 5;
optional string flag_info = 6;
optional string local_overrides = 7;
- optional int64 timestamp = 8;
+ optional string default_flag_val = 8;
+ optional int64 timestamp = 9;
}
message storage_files {
diff --git a/tools/aconfig/aconfig_storage_read_api/include/aconfig_storage/aconfig_storage_read_api.hpp b/tools/aconfig/aconfig_storage_read_api/include/aconfig_storage/aconfig_storage_read_api.hpp
index b8ee06a590..e6d75373a9 100644
--- a/tools/aconfig/aconfig_storage_read_api/include/aconfig_storage/aconfig_storage_read_api.hpp
+++ b/tools/aconfig/aconfig_storage_read_api/include/aconfig_storage/aconfig_storage_read_api.hpp
@@ -41,7 +41,7 @@ enum FlagInfoBit {
struct MappedStorageFile {
void* file_ptr;
size_t file_size;
- ~MappedStorageFile();
+ virtual ~MappedStorageFile();
};
/// Package read context query result
diff --git a/tools/aconfig/aconfig_storage_write_api/aconfig_storage_write_api.cpp b/tools/aconfig/aconfig_storage_write_api/aconfig_storage_write_api.cpp
index 197486d246..f529f7954c 100644
--- a/tools/aconfig/aconfig_storage_write_api/aconfig_storage_write_api.cpp
+++ b/tools/aconfig/aconfig_storage_write_api/aconfig_storage_write_api.cpp
@@ -17,11 +17,6 @@ using namespace android::base;
namespace aconfig_storage {
-/// destructor
-MutableMappedStorageFile::~MutableMappedStorageFile() {
- munmap(file_ptr, file_size);
-}
-
/// Map a storage file
Result<MutableMappedStorageFile*> map_mutable_storage_file(std::string const& file) {
struct stat file_stat;
diff --git a/tools/aconfig/aconfig_storage_write_api/include/aconfig_storage/aconfig_storage_write_api.hpp b/tools/aconfig/aconfig_storage_write_api/include/aconfig_storage/aconfig_storage_write_api.hpp
index 1eca1e0cda..ff06cbc6de 100644
--- a/tools/aconfig/aconfig_storage_write_api/include/aconfig_storage/aconfig_storage_write_api.hpp
+++ b/tools/aconfig/aconfig_storage_write_api/include/aconfig_storage/aconfig_storage_write_api.hpp
@@ -11,11 +11,7 @@ using namespace android::base;
namespace aconfig_storage {
/// Mapped flag value file
-struct MutableMappedStorageFile{
- void* file_ptr;
- size_t file_size;
- ~MutableMappedStorageFile();
-};
+struct MutableMappedStorageFile : MappedStorageFile {};
/// Map a storage file
Result<MutableMappedStorageFile*> map_mutable_storage_file(
diff --git a/tools/aconfig/aconfig_storage_write_api/tests/storage_write_api_test.cpp b/tools/aconfig/aconfig_storage_write_api/tests/storage_write_api_test.cpp
index aeede49306..54373798c9 100644
--- a/tools/aconfig/aconfig_storage_write_api/tests/storage_write_api_test.cpp
+++ b/tools/aconfig/aconfig_storage_write_api/tests/storage_write_api_test.cpp
@@ -80,13 +80,10 @@ TEST_F(AconfigStorageTest, test_boolean_flag_value_update) {
ASSERT_TRUE(mapped_file_result.ok());
auto mapped_file = std::unique_ptr<api::MutableMappedStorageFile>(*mapped_file_result);
- auto ro_mapped_file = api::MappedStorageFile();
- ro_mapped_file.file_ptr = mapped_file->file_ptr;
- ro_mapped_file.file_size = mapped_file->file_size;
for (int offset = 0; offset < 8; ++offset) {
auto update_result = api::set_boolean_flag_value(*mapped_file, offset, true);
ASSERT_TRUE(update_result.ok());
- auto value = api::get_boolean_flag_value(ro_mapped_file, offset);
+ auto value = api::get_boolean_flag_value(*mapped_file, offset);
ASSERT_TRUE(value.ok());
ASSERT_TRUE(*value);
}
@@ -97,7 +94,6 @@ TEST_F(AconfigStorageTest, test_invalid_boolean_flag_value_update) {
auto mapped_file_result = api::map_mutable_storage_file(flag_val);
ASSERT_TRUE(mapped_file_result.ok());
auto mapped_file = std::unique_ptr<api::MutableMappedStorageFile>(*mapped_file_result);
-
auto update_result = api::set_boolean_flag_value(*mapped_file, 8, true);
ASSERT_FALSE(update_result.ok());
ASSERT_EQ(update_result.error().message(),
@@ -110,16 +106,12 @@ TEST_F(AconfigStorageTest, test_flag_has_server_override_update) {
ASSERT_TRUE(mapped_file_result.ok());
auto mapped_file = std::unique_ptr<api::MutableMappedStorageFile>(*mapped_file_result);
- auto ro_mapped_file = api::MappedStorageFile();
- ro_mapped_file.file_ptr = mapped_file->file_ptr;
- ro_mapped_file.file_size = mapped_file->file_size;
-
for (int offset = 0; offset < 8; ++offset) {
auto update_result = api::set_flag_has_server_override(
*mapped_file, api::FlagValueType::Boolean, offset, true);
ASSERT_TRUE(update_result.ok()) << update_result.error();
auto attribute = api::get_flag_attribute(
- ro_mapped_file, api::FlagValueType::Boolean, offset);
+ *mapped_file, api::FlagValueType::Boolean, offset);
ASSERT_TRUE(attribute.ok());
ASSERT_TRUE(*attribute & api::FlagInfoBit::HasServerOverride);
@@ -127,7 +119,7 @@ TEST_F(AconfigStorageTest, test_flag_has_server_override_update) {
*mapped_file, api::FlagValueType::Boolean, offset, false);
ASSERT_TRUE(update_result.ok());
attribute = api::get_flag_attribute(
- ro_mapped_file, api::FlagValueType::Boolean, offset);
+ *mapped_file, api::FlagValueType::Boolean, offset);
ASSERT_TRUE(attribute.ok());
ASSERT_FALSE(*attribute & api::FlagInfoBit::HasServerOverride);
}
@@ -139,16 +131,12 @@ TEST_F(AconfigStorageTest, test_flag_has_local_override_update) {
ASSERT_TRUE(mapped_file_result.ok());
auto mapped_file = std::unique_ptr<api::MutableMappedStorageFile>(*mapped_file_result);
- auto ro_mapped_file = api::MappedStorageFile();
- ro_mapped_file.file_ptr = mapped_file->file_ptr;
- ro_mapped_file.file_size = mapped_file->file_size;
-
for (int offset = 0; offset < 8; ++offset) {
auto update_result = api::set_flag_has_local_override(
*mapped_file, api::FlagValueType::Boolean, offset, true);
ASSERT_TRUE(update_result.ok());
auto attribute = api::get_flag_attribute(
- ro_mapped_file, api::FlagValueType::Boolean, offset);
+ *mapped_file, api::FlagValueType::Boolean, offset);
ASSERT_TRUE(attribute.ok());
ASSERT_TRUE(*attribute & api::FlagInfoBit::HasLocalOverride);
@@ -156,7 +144,7 @@ TEST_F(AconfigStorageTest, test_flag_has_local_override_update) {
*mapped_file, api::FlagValueType::Boolean, offset, false);
ASSERT_TRUE(update_result.ok());
attribute = api::get_flag_attribute(
- ro_mapped_file, api::FlagValueType::Boolean, offset);
+ *mapped_file, api::FlagValueType::Boolean, offset);
ASSERT_TRUE(attribute.ok());
ASSERT_FALSE(*attribute & api::FlagInfoBit::HasLocalOverride);
}