Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 20148f30 authored by Chris Manton's avatar Chris Manton
Browse files

Update test/mock_stack_acl

Bug: 187825293
Tag: #refactor
Test: gd/cert/run

Change-Id: I77e9a079cdbf62ec8f2228f9d3d3e7ccb7ba0924
parent 58eee7f1
Loading
Loading
Loading
Loading
+16 −4
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@
#include "bta/include/bta_hf_client_api.h"
#include "bta/test/common/fake_osi.h"
#include "common/message_loop_thread.h"
#include "test/mock/mock_stack_acl.h"

std::map<std::string, int> mock_function_count_map;

@@ -74,28 +75,37 @@ TEST_F(BtaDmTest, disable_no_acl_links) {
  ASSERT_TRUE(!bta_dm_cb.disabling);
}

extern uint16_t mock_stack_acl_num_links;
TEST_F(BtaDmTest, disable_first_pass_with_acl_links) {
  uint16_t links_up = 1;
  test::mock::stack_acl::BTM_GetNumAclLinks.body = [&links_up]() {
    return links_up;
  };
  bta_dm_cb.disabling = true;
  // ACL link is open
  mock_stack_acl_num_links = bta_dm_cb.device_list.count = 1;
  bta_dm_cb.device_list.count = 1;

  bta_dm_disable();              // Waiting for all ACL connections to drain
  mock_stack_acl_num_links = 0;  // ACL link has closed
  ASSERT_EQ(1, mock_function_count_map["alarm_set_on_mloop"]);
  ASSERT_EQ(0, mock_function_count_map["BTIF_dm_disable"]);

  links_up = 0;
  // First disable pass
  fake_osi_alarm_set_on_mloop_.cb(fake_osi_alarm_set_on_mloop_.data);
  ASSERT_EQ(1, mock_function_count_map["alarm_set_on_mloop"]);
  ASSERT_EQ(1, mock_function_count_map["BTIF_dm_disable"]);
  ASSERT_TRUE(!bta_dm_cb.disabling);

  test::mock::stack_acl::BTM_GetNumAclLinks = {};
}

TEST_F(BtaDmTest, disable_second_pass_with_acl_links) {
  uint16_t links_up = 1;
  test::mock::stack_acl::BTM_GetNumAclLinks.body = [&links_up]() {
    return links_up;
  };
  bta_dm_cb.disabling = true;
  // ACL link is open
  mock_stack_acl_num_links = bta_dm_cb.device_list.count = 1;
  bta_dm_cb.device_list.count = 1;

  bta_dm_disable();  // Waiting for all ACL connections to drain
  ASSERT_EQ(1, mock_function_count_map["alarm_set_on_mloop"]);
@@ -111,4 +121,6 @@ TEST_F(BtaDmTest, disable_second_pass_with_acl_links) {
  fake_osi_alarm_set_on_mloop_.cb(fake_osi_alarm_set_on_mloop_.data);
  ASSERT_EQ(1, mock_function_count_map["BTIF_dm_disable"]);
  ASSERT_TRUE(!bta_dm_cb.disabling);

  test::mock::stack_acl::BTM_GetNumAclLinks = {};
}
+325 −79

File changed.

Preview size limit exceeded, changes collapsed.

+1293 −0

File added.

Preview size limit exceeded, changes collapsed.

+0 −1
Original line number Diff line number Diff line
@@ -26,7 +26,6 @@ tBTM_STATUS BTM_BleGetEnergyInfo(tBTM_BLE_ENERGY_INFO_CBACK* p_ener_cback) {
  return BTM_SUCCESS;
}
void BTM_BleReadControllerFeatures(tBTM_BLE_CTRL_FEATURES_CBACK* p_vsc_cback) {}
bool BTM_is_sniff_allowed_for(const RawAddress& peer_addr) { return false; }
uint8_t BTM_GetAcceptlistSize() { return 0; }

struct btm_client_interface_s btm_client_interface = {};