Loading system/bta/Android.bp +1 −1 Original line number Diff line number Diff line Loading @@ -831,12 +831,12 @@ cc_test { srcs: [ ":TestCommonMockFunctions", ":TestMockBtaLeAudioHalVerifier", ":TestMockLegacyHciInterface", ":TestStubOsi", "le_audio/codec_manager.cc", "le_audio/codec_manager_test.cc", "le_audio/le_audio_set_configuration_provider_json.cc", "le_audio/le_audio_types.cc", "test/common/btm_api_mock.cc", "test/common/mock_controller.cc", ], data: [ Loading system/bta/le_audio/codec_manager.cc +10 −10 Original line number Diff line number Diff line Loading @@ -22,13 +22,13 @@ #include "le_audio_set_configuration_provider.h" #include "osi/include/log.h" #include "osi/include/properties.h" #include "stack/acl/acl.h" #include "stack/include/acl_api.h" #include "stack/include/hcimsgs.h" namespace { using bluetooth::hci::iso_manager::kIsoDataPathHci; using bluetooth::hci::iso_manager::kIsoDataPathPlatformDefault; using bluetooth::legacy::hci::GetInterface; using le_audio::CodecManager; using le_audio::types::CodecLocation; Loading Loading @@ -105,9 +105,9 @@ struct codec_manager_impl { } LOG_INFO("LeAudioCodecManagerImpl: configure_data_path for encode"); btm_configure_data_path(btm_data_direction::HOST_TO_CONTROLLER, GetInterface().ConfigureDataPath(hci_data_direction_t::HOST_TO_CONTROLLER, kIsoDataPathPlatformDefault, {}); btm_configure_data_path(btm_data_direction::CONTROLLER_TO_HOST, GetInterface().ConfigureDataPath(hci_data_direction_t::CONTROLLER_TO_HOST, kIsoDataPathPlatformDefault, {}); SetCodecLocation(CodecLocation::ADSP); } Loading @@ -118,9 +118,9 @@ struct codec_manager_impl { } ~codec_manager_impl() { if (GetCodecLocation() != CodecLocation::HOST) { btm_configure_data_path(btm_data_direction::HOST_TO_CONTROLLER, GetInterface().ConfigureDataPath(hci_data_direction_t::HOST_TO_CONTROLLER, kIsoDataPathHci, {}); btm_configure_data_path(btm_data_direction::CONTROLLER_TO_HOST, GetInterface().ConfigureDataPath(hci_data_direction_t::CONTROLLER_TO_HOST, kIsoDataPathHci, {}); } le_audio::AudioSetConfigurationProvider::Cleanup(); Loading system/bta/le_audio/codec_manager_test.cc +29 −36 Original line number Diff line number Diff line Loading @@ -19,12 +19,10 @@ #include <gmock/gmock.h> #include <gtest/gtest.h> #include "btm_api_mock.h" #include "gd/common/init_flags.h" #include "le_audio_set_configuration_provider.h" #include "mock_controller.h" #include "osi/include/properties.h" #include "stack/acl/acl.h" #include "test/mock/mock_legacy_hci_interface.h" using ::testing::_; using ::testing::Mock; Loading Loading @@ -90,7 +88,6 @@ class CodecManagerTestBase : public Test { .WillByDefault(Return(true)); controller::SetMockControllerInterface(&controller_interface); bluetooth::manager::SetMockBtmInterface(&btm_interface); codec_manager = CodecManager::GetInstance(); } Loading @@ -98,11 +95,9 @@ class CodecManagerTestBase : public Test { virtual void TearDown() override { codec_manager->Stop(); bluetooth::manager::SetMockBtmInterface(nullptr); controller::SetMockControllerInterface(nullptr); } NiceMock<bluetooth::manager::MockBtmInterface> btm_interface; NiceMock<controller::MockControllerInterface> controller_interface; CodecManager* codec_manager; }; Loading @@ -124,31 +119,30 @@ TEST_F(CodecManagerTestAdsp, test_init) { } TEST_F(CodecManagerTestAdsp, test_start) { EXPECT_CALL(btm_interface, ConfigureDataPath(btm_data_direction::HOST_TO_CONTROLLER, EXPECT_CALL(bluetooth::legacy::hci::testing::GetMock(), ConfigureDataPath(hci_data_direction_t::HOST_TO_CONTROLLER, kIsoDataPathPlatformDefault, _)) .Times(1); EXPECT_CALL(btm_interface, ConfigureDataPath(btm_data_direction::CONTROLLER_TO_HOST, EXPECT_CALL(bluetooth::legacy::hci::testing::GetMock(), ConfigureDataPath(hci_data_direction_t::CONTROLLER_TO_HOST, kIsoDataPathPlatformDefault, _)) .Times(1); const std::vector<bluetooth::le_audio::btle_audio_codec_config_t> offloading_preference(0); codec_manager->Start(offloading_preference); Mock::VerifyAndClearExpectations(&btm_interface); ASSERT_EQ(codec_manager->GetCodecLocation(), CodecLocation::ADSP); // Verify data path is reset on Stop() EXPECT_CALL(btm_interface, ConfigureDataPath(btm_data_direction::HOST_TO_CONTROLLER, EXPECT_CALL(bluetooth::legacy::hci::testing::GetMock(), ConfigureDataPath(hci_data_direction_t::HOST_TO_CONTROLLER, kIsoDataPathHci, _)) .Times(1); EXPECT_CALL(btm_interface, ConfigureDataPath(btm_data_direction::CONTROLLER_TO_HOST, EXPECT_CALL(bluetooth::legacy::hci::testing::GetMock(), ConfigureDataPath(hci_data_direction_t::CONTROLLER_TO_HOST, kIsoDataPathHci, _)) .Times(1); const std::vector<bluetooth::le_audio::btle_audio_codec_config_t> offloading_preference(0); codec_manager->Start(offloading_preference); ASSERT_EQ(codec_manager->GetCodecLocation(), CodecLocation::ADSP); } TEST_F(CodecManagerTestAdsp, testStreamConfigurationAdspDownMix) { Loading Loading @@ -346,31 +340,30 @@ TEST_F(CodecManagerTestHost, test_init) { } TEST_F(CodecManagerTestHost, test_start) { EXPECT_CALL(btm_interface, ConfigureDataPath(btm_data_direction::HOST_TO_CONTROLLER, EXPECT_CALL(bluetooth::legacy::hci::testing::GetMock(), ConfigureDataPath(hci_data_direction_t::HOST_TO_CONTROLLER, kIsoDataPathPlatformDefault, _)) .Times(0); EXPECT_CALL(btm_interface, ConfigureDataPath(btm_data_direction::CONTROLLER_TO_HOST, EXPECT_CALL(bluetooth::legacy::hci::testing::GetMock(), ConfigureDataPath(hci_data_direction_t::CONTROLLER_TO_HOST, kIsoDataPathPlatformDefault, _)) .Times(0); const std::vector<bluetooth::le_audio::btle_audio_codec_config_t> offloading_preference(0); codec_manager->Start(offloading_preference); Mock::VerifyAndClearExpectations(&btm_interface); ASSERT_EQ(codec_manager->GetCodecLocation(), CodecLocation::HOST); // Verify data path is NOT reset on Stop() for the Host encoding session EXPECT_CALL(btm_interface, ConfigureDataPath(btm_data_direction::HOST_TO_CONTROLLER, EXPECT_CALL(bluetooth::legacy::hci::testing::GetMock(), ConfigureDataPath(hci_data_direction_t::HOST_TO_CONTROLLER, kIsoDataPathHci, _)) .Times(0); EXPECT_CALL(btm_interface, ConfigureDataPath(btm_data_direction::CONTROLLER_TO_HOST, EXPECT_CALL(bluetooth::legacy::hci::testing::GetMock(), ConfigureDataPath(hci_data_direction_t::CONTROLLER_TO_HOST, kIsoDataPathHci, _)) .Times(0); const std::vector<bluetooth::le_audio::btle_audio_codec_config_t> offloading_preference(0); codec_manager->Start(offloading_preference); ASSERT_EQ(codec_manager->GetCodecLocation(), CodecLocation::HOST); } } // namespace Loading system/bta/test/common/btm_api_mock.cc +0 −6 Original line number Diff line number Diff line Loading @@ -95,12 +95,6 @@ void acl_disconnect_from_handle(uint16_t handle, tHCI_STATUS reason, return btm_interface->AclDisconnectFromHandle(handle, reason); } void btm_configure_data_path(uint8_t direction, uint8_t path_id, std::vector<uint8_t> vendor_config) { LOG_ASSERT(btm_interface) << "Mock btm interface not set!"; return btm_interface->ConfigureDataPath(direction, path_id, vendor_config); } tBTM_INQ_INFO* BTM_InqDbFirst(void) { LOG_ASSERT(btm_interface) << "Mock btm interface not set!"; return btm_interface->BTM_InqDbFirst(); Loading system/bta/test/common/btm_api_mock.h +0 −6 Original line number Diff line number Diff line Loading @@ -52,8 +52,6 @@ class BtmInterface { virtual uint16_t GetHCIConnHandle(RawAddress const& bd_addr, tBT_TRANSPORT transport) = 0; virtual void AclDisconnectFromHandle(uint16_t handle, tHCI_STATUS reason) = 0; virtual void ConfigureDataPath(uint8_t direction, uint8_t path_id, std::vector<uint8_t> vendor_config) = 0; virtual tBTM_INQ_INFO* BTM_InqDbFirst() = 0; virtual tBTM_INQ_INFO* BTM_InqDbNext(tBTM_INQ_INFO* p_cur) = 0; virtual ~BtmInterface() = default; Loading Loading @@ -94,10 +92,6 @@ class MockBtmInterface : public BtmInterface { (RawAddress const& bd_addr, tBT_TRANSPORT transport), (override)); MOCK_METHOD((void), AclDisconnectFromHandle, (uint16_t handle, tHCI_STATUS reason), (override)); MOCK_METHOD((void), ConfigureDataPath, (uint8_t direction, uint8_t path_id, std::vector<uint8_t> vendor_config), (override)); MOCK_METHOD((tBTM_INQ_INFO*), BTM_InqDbFirst, (), (override)); MOCK_METHOD((tBTM_INQ_INFO*), BTM_InqDbNext, (tBTM_INQ_INFO * p_cur), (override)); Loading Loading
system/bta/Android.bp +1 −1 Original line number Diff line number Diff line Loading @@ -831,12 +831,12 @@ cc_test { srcs: [ ":TestCommonMockFunctions", ":TestMockBtaLeAudioHalVerifier", ":TestMockLegacyHciInterface", ":TestStubOsi", "le_audio/codec_manager.cc", "le_audio/codec_manager_test.cc", "le_audio/le_audio_set_configuration_provider_json.cc", "le_audio/le_audio_types.cc", "test/common/btm_api_mock.cc", "test/common/mock_controller.cc", ], data: [ Loading
system/bta/le_audio/codec_manager.cc +10 −10 Original line number Diff line number Diff line Loading @@ -22,13 +22,13 @@ #include "le_audio_set_configuration_provider.h" #include "osi/include/log.h" #include "osi/include/properties.h" #include "stack/acl/acl.h" #include "stack/include/acl_api.h" #include "stack/include/hcimsgs.h" namespace { using bluetooth::hci::iso_manager::kIsoDataPathHci; using bluetooth::hci::iso_manager::kIsoDataPathPlatformDefault; using bluetooth::legacy::hci::GetInterface; using le_audio::CodecManager; using le_audio::types::CodecLocation; Loading Loading @@ -105,9 +105,9 @@ struct codec_manager_impl { } LOG_INFO("LeAudioCodecManagerImpl: configure_data_path for encode"); btm_configure_data_path(btm_data_direction::HOST_TO_CONTROLLER, GetInterface().ConfigureDataPath(hci_data_direction_t::HOST_TO_CONTROLLER, kIsoDataPathPlatformDefault, {}); btm_configure_data_path(btm_data_direction::CONTROLLER_TO_HOST, GetInterface().ConfigureDataPath(hci_data_direction_t::CONTROLLER_TO_HOST, kIsoDataPathPlatformDefault, {}); SetCodecLocation(CodecLocation::ADSP); } Loading @@ -118,9 +118,9 @@ struct codec_manager_impl { } ~codec_manager_impl() { if (GetCodecLocation() != CodecLocation::HOST) { btm_configure_data_path(btm_data_direction::HOST_TO_CONTROLLER, GetInterface().ConfigureDataPath(hci_data_direction_t::HOST_TO_CONTROLLER, kIsoDataPathHci, {}); btm_configure_data_path(btm_data_direction::CONTROLLER_TO_HOST, GetInterface().ConfigureDataPath(hci_data_direction_t::CONTROLLER_TO_HOST, kIsoDataPathHci, {}); } le_audio::AudioSetConfigurationProvider::Cleanup(); Loading
system/bta/le_audio/codec_manager_test.cc +29 −36 Original line number Diff line number Diff line Loading @@ -19,12 +19,10 @@ #include <gmock/gmock.h> #include <gtest/gtest.h> #include "btm_api_mock.h" #include "gd/common/init_flags.h" #include "le_audio_set_configuration_provider.h" #include "mock_controller.h" #include "osi/include/properties.h" #include "stack/acl/acl.h" #include "test/mock/mock_legacy_hci_interface.h" using ::testing::_; using ::testing::Mock; Loading Loading @@ -90,7 +88,6 @@ class CodecManagerTestBase : public Test { .WillByDefault(Return(true)); controller::SetMockControllerInterface(&controller_interface); bluetooth::manager::SetMockBtmInterface(&btm_interface); codec_manager = CodecManager::GetInstance(); } Loading @@ -98,11 +95,9 @@ class CodecManagerTestBase : public Test { virtual void TearDown() override { codec_manager->Stop(); bluetooth::manager::SetMockBtmInterface(nullptr); controller::SetMockControllerInterface(nullptr); } NiceMock<bluetooth::manager::MockBtmInterface> btm_interface; NiceMock<controller::MockControllerInterface> controller_interface; CodecManager* codec_manager; }; Loading @@ -124,31 +119,30 @@ TEST_F(CodecManagerTestAdsp, test_init) { } TEST_F(CodecManagerTestAdsp, test_start) { EXPECT_CALL(btm_interface, ConfigureDataPath(btm_data_direction::HOST_TO_CONTROLLER, EXPECT_CALL(bluetooth::legacy::hci::testing::GetMock(), ConfigureDataPath(hci_data_direction_t::HOST_TO_CONTROLLER, kIsoDataPathPlatformDefault, _)) .Times(1); EXPECT_CALL(btm_interface, ConfigureDataPath(btm_data_direction::CONTROLLER_TO_HOST, EXPECT_CALL(bluetooth::legacy::hci::testing::GetMock(), ConfigureDataPath(hci_data_direction_t::CONTROLLER_TO_HOST, kIsoDataPathPlatformDefault, _)) .Times(1); const std::vector<bluetooth::le_audio::btle_audio_codec_config_t> offloading_preference(0); codec_manager->Start(offloading_preference); Mock::VerifyAndClearExpectations(&btm_interface); ASSERT_EQ(codec_manager->GetCodecLocation(), CodecLocation::ADSP); // Verify data path is reset on Stop() EXPECT_CALL(btm_interface, ConfigureDataPath(btm_data_direction::HOST_TO_CONTROLLER, EXPECT_CALL(bluetooth::legacy::hci::testing::GetMock(), ConfigureDataPath(hci_data_direction_t::HOST_TO_CONTROLLER, kIsoDataPathHci, _)) .Times(1); EXPECT_CALL(btm_interface, ConfigureDataPath(btm_data_direction::CONTROLLER_TO_HOST, EXPECT_CALL(bluetooth::legacy::hci::testing::GetMock(), ConfigureDataPath(hci_data_direction_t::CONTROLLER_TO_HOST, kIsoDataPathHci, _)) .Times(1); const std::vector<bluetooth::le_audio::btle_audio_codec_config_t> offloading_preference(0); codec_manager->Start(offloading_preference); ASSERT_EQ(codec_manager->GetCodecLocation(), CodecLocation::ADSP); } TEST_F(CodecManagerTestAdsp, testStreamConfigurationAdspDownMix) { Loading Loading @@ -346,31 +340,30 @@ TEST_F(CodecManagerTestHost, test_init) { } TEST_F(CodecManagerTestHost, test_start) { EXPECT_CALL(btm_interface, ConfigureDataPath(btm_data_direction::HOST_TO_CONTROLLER, EXPECT_CALL(bluetooth::legacy::hci::testing::GetMock(), ConfigureDataPath(hci_data_direction_t::HOST_TO_CONTROLLER, kIsoDataPathPlatformDefault, _)) .Times(0); EXPECT_CALL(btm_interface, ConfigureDataPath(btm_data_direction::CONTROLLER_TO_HOST, EXPECT_CALL(bluetooth::legacy::hci::testing::GetMock(), ConfigureDataPath(hci_data_direction_t::CONTROLLER_TO_HOST, kIsoDataPathPlatformDefault, _)) .Times(0); const std::vector<bluetooth::le_audio::btle_audio_codec_config_t> offloading_preference(0); codec_manager->Start(offloading_preference); Mock::VerifyAndClearExpectations(&btm_interface); ASSERT_EQ(codec_manager->GetCodecLocation(), CodecLocation::HOST); // Verify data path is NOT reset on Stop() for the Host encoding session EXPECT_CALL(btm_interface, ConfigureDataPath(btm_data_direction::HOST_TO_CONTROLLER, EXPECT_CALL(bluetooth::legacy::hci::testing::GetMock(), ConfigureDataPath(hci_data_direction_t::HOST_TO_CONTROLLER, kIsoDataPathHci, _)) .Times(0); EXPECT_CALL(btm_interface, ConfigureDataPath(btm_data_direction::CONTROLLER_TO_HOST, EXPECT_CALL(bluetooth::legacy::hci::testing::GetMock(), ConfigureDataPath(hci_data_direction_t::CONTROLLER_TO_HOST, kIsoDataPathHci, _)) .Times(0); const std::vector<bluetooth::le_audio::btle_audio_codec_config_t> offloading_preference(0); codec_manager->Start(offloading_preference); ASSERT_EQ(codec_manager->GetCodecLocation(), CodecLocation::HOST); } } // namespace Loading
system/bta/test/common/btm_api_mock.cc +0 −6 Original line number Diff line number Diff line Loading @@ -95,12 +95,6 @@ void acl_disconnect_from_handle(uint16_t handle, tHCI_STATUS reason, return btm_interface->AclDisconnectFromHandle(handle, reason); } void btm_configure_data_path(uint8_t direction, uint8_t path_id, std::vector<uint8_t> vendor_config) { LOG_ASSERT(btm_interface) << "Mock btm interface not set!"; return btm_interface->ConfigureDataPath(direction, path_id, vendor_config); } tBTM_INQ_INFO* BTM_InqDbFirst(void) { LOG_ASSERT(btm_interface) << "Mock btm interface not set!"; return btm_interface->BTM_InqDbFirst(); Loading
system/bta/test/common/btm_api_mock.h +0 −6 Original line number Diff line number Diff line Loading @@ -52,8 +52,6 @@ class BtmInterface { virtual uint16_t GetHCIConnHandle(RawAddress const& bd_addr, tBT_TRANSPORT transport) = 0; virtual void AclDisconnectFromHandle(uint16_t handle, tHCI_STATUS reason) = 0; virtual void ConfigureDataPath(uint8_t direction, uint8_t path_id, std::vector<uint8_t> vendor_config) = 0; virtual tBTM_INQ_INFO* BTM_InqDbFirst() = 0; virtual tBTM_INQ_INFO* BTM_InqDbNext(tBTM_INQ_INFO* p_cur) = 0; virtual ~BtmInterface() = default; Loading Loading @@ -94,10 +92,6 @@ class MockBtmInterface : public BtmInterface { (RawAddress const& bd_addr, tBT_TRANSPORT transport), (override)); MOCK_METHOD((void), AclDisconnectFromHandle, (uint16_t handle, tHCI_STATUS reason), (override)); MOCK_METHOD((void), ConfigureDataPath, (uint8_t direction, uint8_t path_id, std::vector<uint8_t> vendor_config), (override)); MOCK_METHOD((tBTM_INQ_INFO*), BTM_InqDbFirst, (), (override)); MOCK_METHOD((tBTM_INQ_INFO*), BTM_InqDbNext, (tBTM_INQ_INFO * p_cur), (override)); Loading