const std::string kGdCoreFlag = "INIT_gd_core";
bool InitFlags::gd_core_enabled = false;
+const std::string kGattRobustCachingFlag = "INIT_gatt_robust_caching";
+bool InitFlags::gatt_robust_caching_enabled = false;
+
void InitFlags::Load(const char** flags) {
SetAll(false);
while (flags != nullptr && *flags != nullptr) {
gd_hci_enabled = true;
} else if (kGdControllerFlag == *flags) {
gd_controller_enabled = true;
+ } else if (kGattRobustCachingFlag == *flags) {
+ gatt_robust_caching_enabled = true;
}
flags++;
}
gd_core_enabled = value;
gd_controller_enabled = value;
gd_hci_enabled = value;
+ gatt_robust_caching_enabled = value;
}
void InitFlags::SetAllForTesting() {
return gd_core_enabled;
}
+ static bool GattRobustCachingEnabled() {
+ return gatt_robust_caching_enabled;
+ }
+
static void SetAllForTesting();
private:
static bool gd_hci_enabled;
static bool gd_controller_enabled;
static bool gd_core_enabled;
+ static bool gatt_robust_caching_enabled;
};
} // namespace common
ASSERT_EQ(false, InitFlags::GdCoreEnabled());
}
-TEST(InitFlagsTest, test_load_good_case) {
+TEST(InitFlagsTest, test_load_core) {
const char* input[] = {"INIT_gd_core", nullptr};
InitFlags::Load(input);
ASSERT_EQ(true, InitFlags::GdCoreEnabled());
+ ASSERT_EQ(true, InitFlags::GdControllerEnabled());
+ ASSERT_EQ(true, InitFlags::GdHciEnabled());
+}
+
+TEST(InitFlagsTest, test_load_controller) {
+ const char* input[] = {"INIT_gd_controller", nullptr};
+ InitFlags::Load(input);
+ ASSERT_EQ(false, InitFlags::GdCoreEnabled());
+ ASSERT_EQ(true, InitFlags::GdControllerEnabled());
+ ASSERT_EQ(true, InitFlags::GdHciEnabled());
+}
+
+TEST(InitFlagsTest, test_load_hci) {
+ const char* input[] = {"INIT_gd_hci", nullptr};
+ InitFlags::Load(input);
+ ASSERT_EQ(false, InitFlags::GdCoreEnabled());
+ ASSERT_EQ(false, InitFlags::GdControllerEnabled());
+ ASSERT_EQ(true, InitFlags::GdHciEnabled());
+}
+
+TEST(InitFlagsTest, test_load_gatt_robust_caching) {
+ const char* input[] = {"INIT_gatt_robust_caching", nullptr};
+ InitFlags::Load(input);
+ ASSERT_EQ(true, InitFlags::GattRobustCachingEnabled());
}