diff options
| -rw-r--r-- | tools/aconfig/Android.bp | 20 | ||||
| -rw-r--r-- | tools/aconfig/tests/aconfig_test.cpp | 18 | ||||
| -rw-r--r-- | tools/aconfig/tests/aconfig_test_test_variant.cpp | 79 |
3 files changed, 117 insertions, 0 deletions
diff --git a/tools/aconfig/Android.bp b/tools/aconfig/Android.bp index e2fadb05fb..2d40365ca6 100644 --- a/tools/aconfig/Android.bp +++ b/tools/aconfig/Android.bp @@ -154,6 +154,12 @@ cc_aconfig_library { aconfig_declarations: "aconfig.test.flags", } +cc_aconfig_library { + name: "aconfig_test_cpp_library_test_variant", + aconfig_declarations: "aconfig.test.flags", + mode: "test", +} + cc_test { name: "aconfig.test.cpp", srcs: [ @@ -168,6 +174,20 @@ cc_test { ], } +cc_test { + name: "aconfig.test.cpp.test_mode", + srcs: [ + "tests/aconfig_test_test_variant.cpp", + ], + static_libs: [ + "aconfig_test_cpp_library_test_variant", + "libgmock", + ], + shared_libs: [ + "server_configurable_flags", + ], +} + rust_aconfig_library { name: "libaconfig_test_rust_library", crate_name: "aconfig_test_rust_library", diff --git a/tools/aconfig/tests/aconfig_test.cpp b/tools/aconfig/tests/aconfig_test.cpp index 10de347918..52651e4e71 100644 --- a/tools/aconfig/tests/aconfig_test.cpp +++ b/tools/aconfig/tests/aconfig_test.cpp @@ -17,24 +17,42 @@ #include "com_android_aconfig_test.h" #include "gtest/gtest.h" +using namespace com::android::aconfig::test; + TEST(AconfigTest, TestDisabledReadOnlyFlag) { ASSERT_FALSE(com_android_aconfig_test_disabled_ro()); + ASSERT_FALSE(provider_->disabled_ro()); + ASSERT_FALSE(disabled_ro()); } TEST(AconfigTest, TestEnabledReadOnlyFlag) { // TODO: change to assertTrue(enabledRo()) when the build supports reading tests/*.values // (currently all flags are assigned the default READ_ONLY + DISABLED) ASSERT_FALSE(com_android_aconfig_test_enabled_ro()); + ASSERT_FALSE(provider_->enabled_ro()); + ASSERT_FALSE(enabled_ro()); } TEST(AconfigTest, TestDisabledReadWriteFlag) { ASSERT_FALSE(com_android_aconfig_test_disabled_rw()); + ASSERT_FALSE(provider_->disabled_rw()); + ASSERT_FALSE(disabled_rw()); } TEST(AconfigTest, TestEnabledReadWriteFlag) { // TODO: change to assertTrue(enabledRo()) when the build supports reading tests/*.values // (currently all flags are assigned the default READ_ONLY + DISABLED) ASSERT_FALSE(com_android_aconfig_test_enabled_rw()); + ASSERT_FALSE(provider_->enabled_rw()); + ASSERT_FALSE(enabled_rw()); +} + +TEST(AconfigTest, TestEnabledFixedReadOnlyFlag) { + // TODO: change to assertTrue(enabledFixedRo()) when the build supports reading tests/*.values + // (currently all flags are assigned the default READ_ONLY + DISABLED) + ASSERT_FALSE(com_android_aconfig_test_enabled_fixed_ro()); + ASSERT_FALSE(provider_->enabled_fixed_ro()); + ASSERT_FALSE(enabled_fixed_ro()); } int main(int argc, char** argv) { diff --git a/tools/aconfig/tests/aconfig_test_test_variant.cpp b/tools/aconfig/tests/aconfig_test_test_variant.cpp new file mode 100644 index 0000000000..aef6f38262 --- /dev/null +++ b/tools/aconfig/tests/aconfig_test_test_variant.cpp @@ -0,0 +1,79 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "com_android_aconfig_test.h" +#include "gtest/gtest.h" + +using namespace com::android::aconfig::test; + +TEST(AconfigTest, TestDisabledReadOnlyFlag) { + ASSERT_FALSE(com_android_aconfig_test_disabled_ro()); + ASSERT_FALSE(provider_->disabled_ro()); + ASSERT_FALSE(disabled_ro()); +} + +TEST(AconfigTest, TestEnabledReadOnlyFlag) { + // TODO: change to assertTrue(enabledRo()) when the build supports reading tests/*.values + // (currently all flags are assigned the default READ_ONLY + DISABLED) + ASSERT_FALSE(com_android_aconfig_test_enabled_ro()); + ASSERT_FALSE(provider_->enabled_ro()); + ASSERT_FALSE(enabled_ro()); +} + +TEST(AconfigTest, TestDisabledReadWriteFlag) { + ASSERT_FALSE(com_android_aconfig_test_disabled_rw()); + ASSERT_FALSE(provider_->disabled_rw()); + ASSERT_FALSE(disabled_rw()); +} + +TEST(AconfigTest, TestEnabledReadWriteFlag) { + // TODO: change to assertTrue(enabledRo()) when the build supports reading tests/*.values + // (currently all flags are assigned the default READ_ONLY + DISABLED) + ASSERT_FALSE(com_android_aconfig_test_enabled_rw()); + ASSERT_FALSE(provider_->enabled_rw()); + ASSERT_FALSE(enabled_rw()); +} + +TEST(AconfigTest, TestEnabledFixedReadOnlyFlag) { + // TODO: change to assertTrue(enabledFixedRo()) when the build supports reading tests/*.values + // (currently all flags are assigned the default READ_ONLY + DISABLED) + ASSERT_FALSE(com_android_aconfig_test_enabled_fixed_ro()); + ASSERT_FALSE(provider_->enabled_fixed_ro()); + ASSERT_FALSE(enabled_fixed_ro()); +} + +TEST(AconfigTest, OverrideFlagValue) { + ASSERT_FALSE(disabled_ro()); + disabled_ro(true); + ASSERT_TRUE(disabled_ro()); +} + +TEST(AconfigTest, ResetFlagValue) { + ASSERT_FALSE(disabled_ro()); + ASSERT_FALSE(enabled_ro()); + disabled_ro(true); + enabled_ro(true); + ASSERT_TRUE(disabled_ro()); + ASSERT_TRUE(enabled_ro()); + reset_flags(); + ASSERT_FALSE(disabled_ro()); + ASSERT_FALSE(enabled_ro()); +} + +int main(int argc, char** argv) { + ::testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} |