OSDN Git Service

Add experimental flag for GATT Robust Caching
authorHsingYuan Lo <hylo@google.com>
Mon, 24 Aug 2020 09:53:08 +0000 (17:53 +0800)
committerHsingYuan Lo <hylo@google.com>
Tue, 25 Aug 2020 06:37:37 +0000 (14:37 +0800)
Bug: 154056389
Test: atest bluetooth_test_gd:InitFlagsTest
Tag: #feature
Change-Id: Ifb9a89cc7ba52e4b6551625ad63767d512cd04bd

gd/common/init_flags.cc
gd/common/init_flags.h
gd/common/init_flags_test.cc

index 1a85b3d..7383891 100644 (file)
@@ -34,6 +34,9 @@ bool InitFlags::gd_controller_enabled = false;
 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) {
@@ -43,6 +46,8 @@ void InitFlags::Load(const char** flags) {
       gd_hci_enabled = true;
     } else if (kGdControllerFlag == *flags) {
       gd_controller_enabled = true;
+    } else if (kGattRobustCachingFlag == *flags) {
+      gatt_robust_caching_enabled = true;
     }
     flags++;
   }
@@ -65,6 +70,7 @@ void InitFlags::SetAll(bool value) {
   gd_core_enabled = value;
   gd_controller_enabled = value;
   gd_hci_enabled = value;
+  gatt_robust_caching_enabled = value;
 }
 
 void InitFlags::SetAllForTesting() {
index 4980b25..ef2ef47 100644 (file)
@@ -35,6 +35,10 @@ class InitFlags final {
     return gd_core_enabled;
   }
 
+  static bool GattRobustCachingEnabled() {
+    return gatt_robust_caching_enabled;
+  }
+
   static void SetAllForTesting();
 
  private:
@@ -42,6 +46,7 @@ class InitFlags final {
   static bool gd_hci_enabled;
   static bool gd_controller_enabled;
   static bool gd_core_enabled;
+  static bool gatt_robust_caching_enabled;
 };
 
 }  // namespace common
index adf412e..1ddf5cd 100644 (file)
@@ -39,8 +39,32 @@ TEST(InitFlagsTest, test_load_garbage) {
   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());
 }