From c4309418262568645190d7ec4b35d6791d50e93a Mon Sep 17 00:00:00 2001 From: zhonglufu Date: Fri, 9 Aug 2024 09:38:55 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E5=88=86=E5=B8=83=E5=BC=8F=E9=9F=B3?= =?UTF-8?q?=E9=A2=91UT=E8=A1=A5=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhonglufu --- .../include/audio_manager_test_utils.h | 57 +++++++++++++++ .../sourcedevice/src/dmic_dev_test.cpp | 71 ++++++++++++++++++- 2 files changed, 127 insertions(+), 1 deletion(-) diff --git a/services/audiomanager/test/unittest/audiomanagertestutils/include/audio_manager_test_utils.h b/services/audiomanager/test/unittest/audiomanagertestutils/include/audio_manager_test_utils.h index 57e92358..5e1b4687 100644 --- a/services/audiomanager/test/unittest/audiomanagertestutils/include/audio_manager_test_utils.h +++ b/services/audiomanager/test/unittest/audiomanagertestutils/include/audio_manager_test_utils.h @@ -89,6 +89,63 @@ public: return 0; } }; + +class MockIAudioDataTransportInner : public IAudioDataTransport { +public: + MockIAudioDataTransportInner() = default; + ~MockIAudioDataTransportInner() = default; + + int32_t SetUp(const AudioParam &localParam, const AudioParam &remoteParam, + const std::shared_ptr &callback, const PortCapType capType) override + { + return ERR_DH_AUDIO_FAILED; + } + + int32_t Start() override + { + return ERR_DH_AUDIO_FAILED; + } + + int32_t Stop() override + { + return ERR_DH_AUDIO_FAILED; + } + + int32_t Release() override + { + return ERR_DH_AUDIO_FAILED; + } + + int32_t Pause() override + { + return ERR_DH_AUDIO_FAILED; + } + + int32_t Restart(const AudioParam &localParam, const AudioParam &remoteParam) override + { + return ERR_DH_AUDIO_FAILED; + } + + int32_t FeedAudioData(std::shared_ptr &audioData) override + { + return ERR_DH_AUDIO_FAILED; + } + + int32_t InitEngine(IAVEngineProvider *providerPtr) override + { + return ERR_DH_AUDIO_FAILED; + } + + int32_t SendMessage(uint32_t type, std::string content, std::string dstDevId) override + { + return ERR_DH_AUDIO_FAILED; + } + + int32_t CreateCtrl() override + { + return ERR_DH_AUDIO_FAILED; + } +}; } // namespace DistributedHardware } // namespace OHOS #endif // OHOS_AUDIO_MANAGER_TEST_UTILS diff --git a/services/audiomanager/test/unittest/sourcedevice/src/dmic_dev_test.cpp b/services/audiomanager/test/unittest/sourcedevice/src/dmic_dev_test.cpp index 7e157abb..6a5e13e8 100644 --- a/services/audiomanager/test/unittest/sourcedevice/src/dmic_dev_test.cpp +++ b/services/audiomanager/test/unittest/sourcedevice/src/dmic_dev_test.cpp @@ -58,7 +58,17 @@ HWTEST_F(DMicDevTest, InitReceiverEngine_001, TestSize.Level1) mic_->OnEngineTransDataAvailable(audioData); EXPECT_EQ(ERR_DH_AUDIO_NULLPTR, mic_->InitReceiverEngine(providerPtr)); mic_->micTrans_ = std::make_shared(); - EXPECT_EQ(DH_SUCCESS, mic_->InitReceiverEngine(providerPtr)); + EXPECT_EQ(DH_SUCCESS, mic_->InitReceiverEngine(providerPtr));. + + AVTransEvent event = { EventType::EVENT_STOP_SUCCESS, "", "" }; + mic_->OnEngineTransEvent(event); + + mic_->echoCannelOn_ = true; + mic_->echoManager_ = nullptr; + mic_->OnEngineTransDataAvailable(audioData); + + mic_->echoManager_ = std::make_shared(); + mic_->OnEngineTransDataAvailable(audioData); } /** @@ -162,6 +172,22 @@ HWTEST_F(DMicDevTest, NotifyEvent_001, TestSize.Level1) event.type = EVENT_UNKNOWN; EXPECT_EQ(DH_SUCCESS, mic_->NotifyEvent(streamId_, event)); + mic_->isTransReady_ = false; + event.type = AUDIO_START; + EXPECT_EQ(DH_SUCCESS, mic_->NotifyEvent(streamId_, event)); + + event.type = AUDIO_STOP; + EXPECT_EQ(DH_SUCCESS, mic_->NotifyEvent(streamId_, event)); + + mic_->isTransReady_ = true; + for (int32_t i = 0; i < NOTIFY_WAIT_FRAMES; i++) { + size_t size = 4096; + auto audioData = std::make_shared(size); + mic_->dataQueue_.push(audioData); + } + event.type = AUDIO_START; + EXPECT_EQ(DH_SUCCESS, mic_->NotifyEvent(streamId_, event)); + eventCb_ = nullptr; EXPECT_EQ(ERR_DH_AUDIO_NULLPTR, mic_->NotifyEvent(streamId_, event)); } @@ -179,6 +205,9 @@ HWTEST_F(DMicDevTest, SetUp_001, TestSize.Level1) mic_->micTrans_ = std::make_shared(); EXPECT_EQ(DH_SUCCESS, mic_->SetUp()); + + mic_->micTrans_ = std::make_shared(); + EXPECT_EQ(ERR_DH_AUDIO_FAILED, mic_->SetUp()); } /** @@ -244,6 +273,9 @@ HWTEST_F(DMicDevTest, Stop_001, TestSize.Level1) mic_->micTrans_ = std::make_shared(); EXPECT_EQ(DH_SUCCESS, mic_->Stop()); EXPECT_FALSE(mic_->IsOpened()); + + mic_->echoManager_ = = std::make_shared(); + EXPECT_EQ(DH_SUCCESS, mic_->Stop()); } /** @@ -277,6 +309,12 @@ HWTEST_F(DMicDevTest, Release_001, TestSize.Level1) mic_->micTrans_ = std::make_shared(); EXPECT_EQ(DH_SUCCESS, mic_->Release()); + + int32_t fd = 1; + int32_t ashmemLength = 960; + mic_->ashmem_ = sptr(new Ashmem(fd, ashmemLength)); + mic_->echoManager_ = std::make_shared(); + EXPECT_EQ(DH_SUCCESS, mic_->Release()); } @@ -306,6 +344,15 @@ HWTEST_F(DMicDevTest, ReadStreamData_001, TestSize.Level1) std::shared_ptr readData1 = nullptr; EXPECT_EQ(DH_SUCCESS, mic_->ReadStreamData(streamId_, readData1)); + + mic_->curStatus_ = AudioStatus::STATUS_STOP; + EXPECT_EQ(ERR_DH_AUDIO_FAILED, mic_->ReadStreamData(streamId_, readData1)); + + mic_->insertFrameCnt_ = 1; + EXPECT_EQ(DH_SUCCESS, mic_->ReadStreamData(streamId_, readData1)); + + mic_->insertFrameCnt_ = 11; + EXPECT_EQ(DH_SUCCESS, mic_->ReadStreamData(streamId_, readData1)); } /** @@ -379,5 +426,27 @@ HWTEST_F(DMicDevTest, SendMessage_001, TestSize.Level1) mic_->micTrans_ = std::make_shared(); EXPECT_EQ(DH_SUCCESS, mic_->SendMessage(OPEN_MIC, content, dstDevId)); } + +/** + * @tc.name: RefreshAshmemInfo_001 + * @tc.desc: Verify RefreshAshmemInfo function. + * @tc.type: FUNC + * @tc.require: AR000H0E5F + */ +HWTEST_F(DMicDevTest, RefreshAshmemInfo_001, TestSize.Level1) +{ + int32_t fd = 1; + int32_t ashmemLength = 4096; + int32_t lengthPerTrans = 960; + mic_->param_.captureOpts.capturerFlags = NORMAL_MODE; + EXPECT_EQ(DH_SUCCESS, mic_->RefreshAshmemInfo(streamId_, fd, ashmemLength, lengthPerTrans)); + + mic_->ashmem_ = sptr(new Ashmem(fd, ashmemLength)); + mic_->param_.captureOpts.capturerFlags = MMAP_MODE; + EXPECT_EQ(DH_SUCCESS, mic_->RefreshAshmemInfo(streamId_, fd, ashmemLength, lengthPerTrans)); + + mic_->ashmem_ = nullptr; + EXPECT_EQ(DH_SUCCESS, mic_->RefreshAshmemInfo(streamId_, fd, ashmemLength, lengthPerTrans)); +} } // namespace DistributedHardware } // namespace OHOS -- Gitee From 42209d065f8881381228c4c0feee6146f4a2c9b1 Mon Sep 17 00:00:00 2001 From: zhonglufu Date: Fri, 9 Aug 2024 15:25:04 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E5=88=86=E5=B8=83=E5=BC=8F=E9=9F=B3?= =?UTF-8?q?=E9=A2=91UT=E8=A1=A5=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhonglufu --- .../sourcedevice/src/dmic_dev_test.cpp | 36 ++++--------------- 1 file changed, 6 insertions(+), 30 deletions(-) diff --git a/services/audiomanager/test/unittest/sourcedevice/src/dmic_dev_test.cpp b/services/audiomanager/test/unittest/sourcedevice/src/dmic_dev_test.cpp index 6a5e13e8..54251d14 100644 --- a/services/audiomanager/test/unittest/sourcedevice/src/dmic_dev_test.cpp +++ b/services/audiomanager/test/unittest/sourcedevice/src/dmic_dev_test.cpp @@ -58,9 +58,9 @@ HWTEST_F(DMicDevTest, InitReceiverEngine_001, TestSize.Level1) mic_->OnEngineTransDataAvailable(audioData); EXPECT_EQ(ERR_DH_AUDIO_NULLPTR, mic_->InitReceiverEngine(providerPtr)); mic_->micTrans_ = std::make_shared(); - EXPECT_EQ(DH_SUCCESS, mic_->InitReceiverEngine(providerPtr));. + EXPECT_EQ(DH_SUCCESS, mic_->InitReceiverEngine(providerPtr)); - AVTransEvent event = { EventType::EVENT_STOP_SUCCESS, "", "" }; + event = { EventType::EVENT_STOP_SUCCESS, "", "" }; mic_->OnEngineTransEvent(event); mic_->echoCannelOn_ = true; @@ -180,7 +180,7 @@ HWTEST_F(DMicDevTest, NotifyEvent_001, TestSize.Level1) EXPECT_EQ(DH_SUCCESS, mic_->NotifyEvent(streamId_, event)); mic_->isTransReady_ = true; - for (int32_t i = 0; i < NOTIFY_WAIT_FRAMES; i++) { + for (int32_t i = 0; i < DMicDev::NOTIFY_WAIT_FRAMES; i++) { size_t size = 4096; auto audioData = std::make_shared(size); mic_->dataQueue_.push(audioData); @@ -274,8 +274,8 @@ HWTEST_F(DMicDevTest, Stop_001, TestSize.Level1) EXPECT_EQ(DH_SUCCESS, mic_->Stop()); EXPECT_FALSE(mic_->IsOpened()); - mic_->echoManager_ = = std::make_shared(); - EXPECT_EQ(DH_SUCCESS, mic_->Stop()); + mic_->echoManager_ = std::make_shared(); + EXPECT_EQ(ERR_DH_AUDIO_NULLPTR, mic_->Stop()); } /** @@ -310,9 +310,6 @@ HWTEST_F(DMicDevTest, Release_001, TestSize.Level1) mic_->micTrans_ = std::make_shared(); EXPECT_EQ(DH_SUCCESS, mic_->Release()); - int32_t fd = 1; - int32_t ashmemLength = 960; - mic_->ashmem_ = sptr(new Ashmem(fd, ashmemLength)); mic_->echoManager_ = std::make_shared(); EXPECT_EQ(DH_SUCCESS, mic_->Release()); } @@ -348,6 +345,7 @@ HWTEST_F(DMicDevTest, ReadStreamData_001, TestSize.Level1) mic_->curStatus_ = AudioStatus::STATUS_STOP; EXPECT_EQ(ERR_DH_AUDIO_FAILED, mic_->ReadStreamData(streamId_, readData1)); + mic_->curStatus_ = AudioStatus::STATUS_START; mic_->insertFrameCnt_ = 1; EXPECT_EQ(DH_SUCCESS, mic_->ReadStreamData(streamId_, readData1)); @@ -426,27 +424,5 @@ HWTEST_F(DMicDevTest, SendMessage_001, TestSize.Level1) mic_->micTrans_ = std::make_shared(); EXPECT_EQ(DH_SUCCESS, mic_->SendMessage(OPEN_MIC, content, dstDevId)); } - -/** - * @tc.name: RefreshAshmemInfo_001 - * @tc.desc: Verify RefreshAshmemInfo function. - * @tc.type: FUNC - * @tc.require: AR000H0E5F - */ -HWTEST_F(DMicDevTest, RefreshAshmemInfo_001, TestSize.Level1) -{ - int32_t fd = 1; - int32_t ashmemLength = 4096; - int32_t lengthPerTrans = 960; - mic_->param_.captureOpts.capturerFlags = NORMAL_MODE; - EXPECT_EQ(DH_SUCCESS, mic_->RefreshAshmemInfo(streamId_, fd, ashmemLength, lengthPerTrans)); - - mic_->ashmem_ = sptr(new Ashmem(fd, ashmemLength)); - mic_->param_.captureOpts.capturerFlags = MMAP_MODE; - EXPECT_EQ(DH_SUCCESS, mic_->RefreshAshmemInfo(streamId_, fd, ashmemLength, lengthPerTrans)); - - mic_->ashmem_ = nullptr; - EXPECT_EQ(DH_SUCCESS, mic_->RefreshAshmemInfo(streamId_, fd, ashmemLength, lengthPerTrans)); -} } // namespace DistributedHardware } // namespace OHOS -- Gitee From aea07bd318b9fa75f3ea7ad391a06d5506cef339 Mon Sep 17 00:00:00 2001 From: zhonglufu Date: Fri, 9 Aug 2024 15:55:59 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E5=88=86=E5=B8=83=E5=BC=8F=E9=9F=B3?= =?UTF-8?q?=E9=A2=91UT=E8=A1=A5=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhonglufu --- .../audiomanager/test/unittest/sourcedevice/BUILD.gn | 9 ++++++++- .../test/unittest/sourcedevice/src/dmic_dev_test.cpp | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/services/audiomanager/test/unittest/sourcedevice/BUILD.gn b/services/audiomanager/test/unittest/sourcedevice/BUILD.gn index 9300602b..53068a2c 100644 --- a/services/audiomanager/test/unittest/sourcedevice/BUILD.gn +++ b/services/audiomanager/test/unittest/sourcedevice/BUILD.gn @@ -126,7 +126,14 @@ ohos_unittest("DMicDevTest") { "samgr:samgr_proxy", ] - cflags = [] + cflags = [ + "-g", + "-O0", + "-Wno-unused-variable", + "-fno-omit-frame-pointer", + "-Dprivate=public", + "-Dprotected=public", + ] if (distributed_audio_extension_sa) { cflags += [ "-DECHO_CANNEL_ENABLE" ] diff --git a/services/audiomanager/test/unittest/sourcedevice/src/dmic_dev_test.cpp b/services/audiomanager/test/unittest/sourcedevice/src/dmic_dev_test.cpp index 54251d14..344ca515 100644 --- a/services/audiomanager/test/unittest/sourcedevice/src/dmic_dev_test.cpp +++ b/services/audiomanager/test/unittest/sourcedevice/src/dmic_dev_test.cpp @@ -15,6 +15,7 @@ #include "dmic_dev_test.h" +#include "daudio_echo_cannel_manager.h" using namespace testing::ext; namespace OHOS { -- Gitee From 2f2a59daa5094563bb29a2eb7d44d453954088e1 Mon Sep 17 00:00:00 2001 From: zhonglufu Date: Fri, 9 Aug 2024 16:02:16 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E5=88=86=E5=B8=83=E5=BC=8F=E9=9F=B3?= =?UTF-8?q?=E9=A2=91UT=E8=A1=A5=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhonglufu --- .../audiomanager/test/unittest/sourcedevice/BUILD.gn | 9 +-------- .../test/unittest/sourcedevice/src/dmic_dev_test.cpp | 10 ---------- 2 files changed, 1 insertion(+), 18 deletions(-) diff --git a/services/audiomanager/test/unittest/sourcedevice/BUILD.gn b/services/audiomanager/test/unittest/sourcedevice/BUILD.gn index 53068a2c..9300602b 100644 --- a/services/audiomanager/test/unittest/sourcedevice/BUILD.gn +++ b/services/audiomanager/test/unittest/sourcedevice/BUILD.gn @@ -126,14 +126,7 @@ ohos_unittest("DMicDevTest") { "samgr:samgr_proxy", ] - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - "-Dprivate=public", - "-Dprotected=public", - ] + cflags = [] if (distributed_audio_extension_sa) { cflags += [ "-DECHO_CANNEL_ENABLE" ] diff --git a/services/audiomanager/test/unittest/sourcedevice/src/dmic_dev_test.cpp b/services/audiomanager/test/unittest/sourcedevice/src/dmic_dev_test.cpp index 344ca515..f6005684 100644 --- a/services/audiomanager/test/unittest/sourcedevice/src/dmic_dev_test.cpp +++ b/services/audiomanager/test/unittest/sourcedevice/src/dmic_dev_test.cpp @@ -15,7 +15,6 @@ #include "dmic_dev_test.h" -#include "daudio_echo_cannel_manager.h" using namespace testing::ext; namespace OHOS { @@ -67,9 +66,6 @@ HWTEST_F(DMicDevTest, InitReceiverEngine_001, TestSize.Level1) mic_->echoCannelOn_ = true; mic_->echoManager_ = nullptr; mic_->OnEngineTransDataAvailable(audioData); - - mic_->echoManager_ = std::make_shared(); - mic_->OnEngineTransDataAvailable(audioData); } /** @@ -274,9 +270,6 @@ HWTEST_F(DMicDevTest, Stop_001, TestSize.Level1) mic_->micTrans_ = std::make_shared(); EXPECT_EQ(DH_SUCCESS, mic_->Stop()); EXPECT_FALSE(mic_->IsOpened()); - - mic_->echoManager_ = std::make_shared(); - EXPECT_EQ(ERR_DH_AUDIO_NULLPTR, mic_->Stop()); } /** @@ -310,9 +303,6 @@ HWTEST_F(DMicDevTest, Release_001, TestSize.Level1) mic_->micTrans_ = std::make_shared(); EXPECT_EQ(DH_SUCCESS, mic_->Release()); - - mic_->echoManager_ = std::make_shared(); - EXPECT_EQ(DH_SUCCESS, mic_->Release()); } -- Gitee From 38ded356cb682f185d37000b817a155ad86e6fa4 Mon Sep 17 00:00:00 2001 From: zhonglufu Date: Fri, 9 Aug 2024 16:04:34 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E5=88=86=E5=B8=83=E5=BC=8F=E9=9F=B3?= =?UTF-8?q?=E9=A2=91UT=E8=A1=A5=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhonglufu --- .../test/unittest/sourcedevice/src/dmic_dev_test.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/services/audiomanager/test/unittest/sourcedevice/src/dmic_dev_test.cpp b/services/audiomanager/test/unittest/sourcedevice/src/dmic_dev_test.cpp index f6005684..55c3abfd 100644 --- a/services/audiomanager/test/unittest/sourcedevice/src/dmic_dev_test.cpp +++ b/services/audiomanager/test/unittest/sourcedevice/src/dmic_dev_test.cpp @@ -64,7 +64,6 @@ HWTEST_F(DMicDevTest, InitReceiverEngine_001, TestSize.Level1) mic_->OnEngineTransEvent(event); mic_->echoCannelOn_ = true; - mic_->echoManager_ = nullptr; mic_->OnEngineTransDataAvailable(audioData); } -- Gitee