diff --git a/av_transport/av_trans_control_center/inner_kits/test/BUILD.gn b/av_transport/av_trans_control_center/inner_kits/test/BUILD.gn new file mode 100644 index 0000000000000000000000000000000000000000..927b63f59e41ac92a34dcb2e43aaf5080d0f5351 --- /dev/null +++ b/av_transport/av_trans_control_center/inner_kits/test/BUILD.gn @@ -0,0 +1,20 @@ +# Copyright (c) 2023 Huawei Device Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +group("filter_test") { + testonly = true + + deps = [ + "av_trans_control_center_callback_test:trans_control_callback_unittest", + ] +} diff --git a/av_transport/av_trans_control_center/inner_kits/test/av_trans_control_center_callback_test/BUILD.gn b/av_transport/av_trans_control_center/inner_kits/test/av_trans_control_center_callback_test/BUILD.gn new file mode 100644 index 0000000000000000000000000000000000000000..d40f814ec437c90c3ba31084e2d53d76f6262d3f --- /dev/null +++ b/av_transport/av_trans_control_center/inner_kits/test/av_trans_control_center_callback_test/BUILD.gn @@ -0,0 +1,83 @@ +# Copyright (c) 2023 Huawei Device Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build/test.gni") +import("../../../../distributed_av_transport.gni") + +module_out_path = "distributed_hardware_fwk/av_transport" + +ohos_unittest("AvTransControlCenterCallbackTest") { + module_out_path = module_out_path + + include_dirs = [ + "${dh_fwk_utils_path}/include", + "${common_path}/include", + "${dh_fwk_sdk_path}/include", + "${engine_path}/av_sender/include", + "${control_center_path}/inner_kits/include", + "${control_center_path}/inner_kits/include/ipc", + "${filters_path}/av_transport_input", + "${filters_path}/av_transport_output", + "${engine_path}/av_sender/test/unittest/av_sender_engine_provider/include", + "${interface_path}", + "${media_standard_path}/interfaces/inner_api/native", + ] + + sources = [ + "${common_path}/src/av_sync_utils.cpp", + "${common_path}/src/av_trans_log.cpp", + "${common_path}/src/av_trans_meta.cpp", + "${common_path}/src/av_trans_utils.cpp", + "${common_path}/src/softbus_channel_adapter.cpp", + "av_trans_control_center_callback_test.cpp", + ] + + cflags = [ + "-O2", + "-fPIC", + "-Wall", + "-frtti", + "-fexceptions", + "-Dprivate = public", + ] + cflags_cc = cflags + + defines = [ + "HI_LOG_ENABLE", + "DH_LOG_TAG=\"av_trans_control_center_callback_test\"", + "LOG_DOMAIN=0xD004100", + ] + + deps = [ + "${engine_path}/filters:avtrans_output_filter", + "${plugin_path}/plugins/av_trans_output/dsoftbus_output_audio:plugin_AVTransDsoftbusOutputAudio", + "//third_party/googletest:gtest_rtti", + "//third_party/libevdev:libevdev", + ] + + external_deps = [ + "c_utils:utils", + "dsoftbus:softbus_client", + "hilog:libhilog", + "histreamer:histreamer_base", + "histreamer:histreamer_codec_filters", + "histreamer:histreamer_ffmpeg_convert", + "histreamer:histreamer_plugin_base", + ] +} + +group("av_trans_control_center_callback_test") { + testonly = true + + deps = [ ":AvTransControlCenterCallbackTest" ] +} diff --git a/av_transport/av_trans_control_center/inner_kits/test/av_trans_control_center_callback_test/av_trans_control_center_callback_test.cpp b/av_transport/av_trans_control_center/inner_kits/test/av_trans_control_center_callback_test/av_trans_control_center_callback_test.cpp new file mode 100644 index 0000000000000000000000000000000000000000..36d0492325d26869a178f81bf10ab611a9cb8d15 --- /dev/null +++ b/av_transport/av_trans_control_center/inner_kits/test/av_trans_control_center_callback_test/av_trans_control_center_callback_test.cpp @@ -0,0 +1,103 @@ +/* + * Copyright (c) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "av_trans_control_center_callback_test.h" +#include "av_trans_control_center_callback.h" + +#include "av_trans_errno.h" +#include "distributed_hardware_log.h" + +using namespace testing::ext; +using namespace OHOS::DistributedHardware; +using namespace std; + +namespace OHOS { +namespace DistributedHardware { +const std::string TRANSRNAME = "avtrans"; + +void AvTransControlCenterCallbackTest::SetUp() +{ +} + +void AvTransControlCenterCallbackTest::TearDown() +{ +} + +void AvTransControlCenterCallbackTest::SetUpTestCase() +{ +} + +void AvTransControlCenterCallbackTest::TearDownTestCase() +{ +} + +HWTEST_F(AvTransControlCenterCallbackTest, SetParameter_001, testing::ext::TestSize.Level1) +{ + std::shared_ptr avTransTest_ = + FilterFactory::Instance().CreateFilterWithType(AVINPUT_NAME, TRANSRNAME); + AVTransTag tag = AVTransTag::START_AV_SYNC; + std::string value = VideoBitStreamFormat::ANNEXB; + int32_t ret = avTransTest_->SetParameter(tag, value); + EXPECT_EQ(DH_AVT_SUCCESS, ret); +} + +HWTEST_F(AvTransControlCenterCallbackTest, SetParameter_002, testing::ext::TestSize.Level1) +{ + std::shared_ptr avTransTest_ = + FilterFactory::Instance().CreateFilterWithType(AVINPUT_NAME, TRANSRNAME); + AVTransTag tag = AVTransTag::STOP_AV_SYNC; + std::string value = VideoBitStreamFormat::ANNEXB; + int32_t ret = avTransTest_->SetParameter(tag, value); + EXPECT_EQ(DH_AVT_SUCCESS, ret); +} + +HWTEST_F(AvTransControlCenterCallbackTest, SetParameter_003, testing::ext::TestSize.Level1) +{ + std::shared_ptr avTransTest_ = + FilterFactory::Instance().CreateFilterWithType(AVINPUT_NAME, TRANSRNAME); + AVTransTag tag = AVTransTag::TIME_SYNC_RESULT; + std::string value = VideoBitStreamFormat::ANNEXB; + int32_t ret = avTransTest_->SetParameter(tag, value); + EXPECT_EQ(DH_AVT_SUCCESS, ret); +} + +HWTEST_F(AvTransControlCenterCallbackTest, SetSharedMemory_001, testing::ext::TestSize.Level1) +{ + std::shared_ptr avTransTest_ = + FilterFactory::Instance().CreateFilterWithType(AVINPUT_NAME, TRANSRNAME); + AVTransSharedMemory memory = sendEngine->SetParameter(AVTransTag::SHARED_MEMORY_FD, MarshalSharedMemory(memory)); + int32_t ret = avTransTest_->SetSharedMemory(memory); + EXPECT_EQ(DH_AVT_SUCCESS, ret); +} + +HWTEST_F(AvTransControlCenterCallbackTest, SetSharedMemory_002, testing::ext::TestSize.Level1) +{ + std::shared_ptr avTransTest_ = + FilterFactory::Instance().CreateFilterWithType(AVINPUT_NAME, TRANSRNAME); + AVTransSharedMemory memory = rcvEngine->SetParameter(AVTransTag::SHARED_MEMORY_FD, MarshalSharedMemory(memory)); + int32_t ret = avTransTest_->SetSharedMemory(memory); + EXPECT_EQ(DH_AVT_SUCCESS, ret); + std::shared_ptr sender = nullptr; + avTransTest_->SetSenderEngine(sender); + std::make_shared sender != nullptr; + avTransTest_->SetSenderEngine(sender); + std::shared_ptr receiver = nullptr; + avTransTest_->SetReceiverEngine(receiver); + std::make_shared receiver != nullptr; + avTransTest_->SetReceiverEngine(receiver); +} + +} // namespace DistributedHardware +} // namespace OHOS \ No newline at end of file diff --git a/av_transport/av_trans_control_center/inner_kits/test/av_trans_control_center_callback_test/av_trans_control_center_callback_test.h b/av_transport/av_trans_control_center/inner_kits/test/av_trans_control_center_callback_test/av_trans_control_center_callback_test.h new file mode 100644 index 0000000000000000000000000000000000000000..fde81896d7e432d93dcbca7568c6564f2c757744 --- /dev/null +++ b/av_transport/av_trans_control_center/inner_kits/test/av_trans_control_center_callback_test/av_trans_control_center_callback_test.h @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef AV_TRANS_CONTROL_CENTER_CALLBACK_TEST_H +#define AV_TRANS_CONTROL_CENTER_CALLBACK_TEST_H + +#include + +#include "av_trans_control_center_callback.h" + +#include "av_trans_errno.h" +#include "distributed_hardware_log.h" + + +namespace OHOS { +namespace DistributedHardware { + +using namespace OHOS::Media; +using namespace OHOS::Media::Pipeline; + +class AvTransControlCenterCallbackTest : public testing::Test { +public: + static void SetUpTestCase(); + static void TearDownTestCase(); + void SetUp() override; + void TearDown() override; +}; +} // namespace DistributedHardware +} // namespace OHOS + +#endif // AV_TRANS_CONTROL_CENTER_CALLBACK_TEST_H \ No newline at end of file