diff --git a/bundle.json b/bundle.json index 302bb55f2a5d25839d57669459e862ee65d46402..dfcb1b63a2162bcc8776a523bd4084b53896abd4 100644 --- a/bundle.json +++ b/bundle.json @@ -85,6 +85,9 @@ } ], "test":[ + "//foundation/distributedhardware/distributedcamera/services/cameraservice/cameraoperator/client/test/unittest:camera_client_test", + "//foundation/distributedhardware/distributedcamera/services/cameraservice/cameraoperator/handler/test/unittest:camera_handler_test", + "//foundation/distributedhardware/distributedcamera/services/cameraservice/sinkservice/test/unittest:sink_service_test", "//foundation/distributedhardware/distributedcamera/services/cameraservice/sourceservice/test/unittest:source_service_test", "//foundation/distributedhardware/distributedcamera/services/cameraservice/base/test/unittest:services_base_test" ] diff --git a/services/cameraservice/cameraoperator/client/test/unittest/common/cameraoperator/BUILD.gn b/services/cameraservice/cameraoperator/client/test/unittest/common/cameraoperator/BUILD.gn index 46082450f4b37f93f55ed69635e144ee6ce788c1..bd274475841236aba86a57909a3fcb03346dec50 100644 --- a/services/cameraservice/cameraoperator/client/test/unittest/common/cameraoperator/BUILD.gn +++ b/services/cameraservice/cameraoperator/client/test/unittest/common/cameraoperator/BUILD.gn @@ -12,7 +12,9 @@ # limitations under the License. import("//build/test.gni") -import("//foundation/distributedhardware/distributedcamera/distributedcamera.gni") +import( + "//foundation/distributedhardware/distributedcamera/distributedcamera.gni") + module_out_path = "distributed_camera/dcamera_client_test" config("module_private_config") { @@ -45,34 +47,34 @@ config("module_private_config") { "${services_path}/cameraservice/cameraoperator/client/include", "${services_path}/cameraservice/cameraoperator/client/include/callback", "${services_path}/cameraservice/cameraoperator/client/include/listener", + "${services_path}/cameraservice/cameraoperator/handler/include", ] } ohos_unittest("DCameraClientTest") { module_out_path = module_out_path - sources = [ - "dcamera_client_test.cpp" - ] + sources = [ "dcamera_client_test.cpp" ] configs = [ ":module_private_config" ] deps = [ - "//third_party/googletest:gtest_main", - "//third_party/jsoncpp:jsoncpp", - "//utils/native/base:utils", - "${fwk_utils_path}:distributedhardwareutils", - "${common_path}:distributed_camera_utils", - "${graphicstandard_path}:libsurface", "${camerastandard_path}/frameworks/native/camera:camera_framework", "${camerastandard_path}/frameworks/native/metadata:metadata", + "${common_path}:distributed_camera_utils", + "${fwk_utils_path}:distributedhardwareutils", + "${graphicstandard_path}:libsurface", "${services_path}/cameraservice/cameraoperator/client:distributed_camera_client", - "${services_path}/cameraservice/sinkservice:distributed_camera_sink" + "${services_path}/cameraservice/cameraoperator/handler:distributed_camera_handler", + "${services_path}/cameraservice/sinkservice:distributed_camera_sink", + "//third_party/googletest:gtest_main", + "//third_party/jsoncpp:jsoncpp", + "//utils/native/base:utils", ] external_deps = [ - "hiviewdfx_hilog_native:libhilog", "eventhandler:libeventhandler", + "hiviewdfx_hilog_native:libhilog", "ipc:ipc_core", "samgr_standard:samgr_proxy", ] diff --git a/services/cameraservice/cameraoperator/client/test/unittest/common/cameraoperator/dcamera_client_test.cpp b/services/cameraservice/cameraoperator/client/test/unittest/common/cameraoperator/dcamera_client_test.cpp index 95a787a2d353557fdfbf0c8065fdc3453c142168..9e6f6684bda48cc36277c906f4cb0c3e4e90dd50 100644 --- a/services/cameraservice/cameraoperator/client/test/unittest/common/cameraoperator/dcamera_client_test.cpp +++ b/services/cameraservice/cameraoperator/client/test/unittest/common/cameraoperator/dcamera_client_test.cpp @@ -17,6 +17,7 @@ #include "anonymous_string.h" #include "dcamera_client.h" +#include "dcamera_handler.h" #include "distributed_camera_constants.h" #include "distributed_camera_errno.h" #include "distributed_hardware_log.h" @@ -57,7 +58,6 @@ const int32_t TEST_HEIGHT = 1080; const int32_t TEST_FORMAT_3 = 3; const int32_t TEST_FORMAT_4 = 4; const int32_t TEST_SLEEP_SEC = 2; -const std::string TEST_CAMERA_ID = "Camera_device@3.5/legacy/1"; class DCameraClientTest : public testing::Test { public: @@ -86,7 +86,9 @@ void DCameraClientTest::TearDownTestCase(void) void DCameraClientTest::SetUp(void) { DHLOGI("DCameraClientTest::SetUp"); - client_ = std::make_shared(TEST_CAMERA_ID); + DCameraHandler::GetInstance().Initialize(); + std::vector cameras = DCameraHandler::GetInstance().GetCameras(); + client_ = std::make_shared(cameras[0]); photoInfo_false_ = std::make_shared(); photoInfo_false_->width_ = TEST_WIDTH; diff --git a/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/BUILD.gn b/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/BUILD.gn index e3d10be35f66ef300e67d6c3fc41dc9820708e29..a1763fc130b5c0d48247fb865c3ae37227101ad4 100644 --- a/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/BUILD.gn +++ b/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/BUILD.gn @@ -20,12 +20,24 @@ module_out_path = "distributed_camera/dcamera_sink_mgr_test" config("module_private_config") { visibility = [ ":*" ] include_dirs = [ + "${graphicstandard_path}/frameworks/surface/include", + "${camerastandard_path}/frameworks/native/metadata/include", + "${camerastandard_path}/interfaces/inner_api/native/camera/include", + "${camerastandard_path}/interfaces/inner_api/native/camera/include/input", + "${camerastandard_path}/interfaces/inner_api/native/camera/include/output", + "${camerastandard_path}/interfaces/inner_api/native/camera/include/session", + "${camerastandard_path}/services/camera_service/binder/base/include", + "${camerastandard_path}/services/camera_service/binder/client/include", + "${camerastandard_path}/services/camera_service/binder/server/include", + "${camerastandard_path}/services/camera_service/include", + "${mediastandard_path}/interfaces/innerkits/native/media/include", "${services_path}/cameraservice/sinkservice/include/distributedcameramgr", "${services_path}/cameraservice/sinkservice/include/distributedcameramgr/callback", "${services_path}/cameraservice/sinkservice/include/distributedcameramgr/eventbus", "${services_path}/cameraservice/sinkservice/include/distributedcameramgr/interface", "${services_path}/cameraservice/sinkservice/include/distributedcameramgr/listener", "${services_path}/cameraservice/cameraoperator/client/include", + "${services_path}/cameraservice/cameraoperator/handler/include", "${services_path}/cameraservice/base/include", "${services_path}/channel/include", "${services_path}/data_process/include/pipeline", @@ -61,8 +73,12 @@ ohos_unittest("DCameraSinkMgrTest") { configs = [ ":module_private_config" ] deps = [ + "${camerastandard_path}/frameworks/native/camera:camera_framework", + "${camerastandard_path}/frameworks/native/metadata:metadata", "${common_path}:distributed_camera_utils", "${fwk_utils_path}:distributedhardwareutils", + "${graphicstandard_path}:libsurface", + "${services_path}/cameraservice/cameraoperator/handler:distributed_camera_handler", "${services_path}/cameraservice/sinkservice:distributed_camera_sink", "${services_path}/channel:distributed_camera_channel", "//third_party/jsoncpp:jsoncpp", @@ -72,6 +88,7 @@ ohos_unittest("DCameraSinkMgrTest") { external_deps = [ "eventhandler:libeventhandler", "ipc:ipc_core", + "multimedia_media_standard:media_client", ] defines = [ diff --git a/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/dcamera_sink_controller_test.cpp b/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/dcamera_sink_controller_test.cpp index 058fca2c8576a1ebf9553860e37c57cb82f354ec..790866b0e5cb43c92903fe85c5820f3233d2f07d 100644 --- a/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/dcamera_sink_controller_test.cpp +++ b/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/dcamera_sink_controller_test.cpp @@ -25,6 +25,7 @@ #include "mock_camera_operator.h" #include "mock_dcamera_sink_output.h" +#include "dcamera_handler.h" #include "dcamera_metadata_setting_cmd.h" #include "dcamera_sink_access_control.h" #include "dcamera_sink_dev.h" @@ -46,7 +47,7 @@ public: std::shared_ptr accessControl_; }; std::string g_testDeviceIdController; -const std::string TEST_DH_ID = "Camera_device@3.5/legacy/1"; + const std::string SESSION_FLAG_CONTINUE = "dataContinue"; const std::string SESSION_FLAG_SNAPSHOT = "dataSnapshot"; const std::string TEST_DEVICE_ID_EMPTY = ""; @@ -103,7 +104,9 @@ std::vector g_testCamIndex; void DCameraSinkControllerTest::SetUpTestCase(void) { GetLocalDeviceNetworkId(g_testDeviceIdController); - g_testCamIndex.push_back(DCameraIndex(g_testDeviceIdController, TEST_DH_ID)); + DCameraHandler::GetInstance().Initialize(); + std::vector cameras = DCameraHandler::GetInstance().GetCameras(); + g_testCamIndex.push_back(DCameraIndex(g_testDeviceIdController, cameras[0])); } void DCameraSinkControllerTest::TearDownTestCase(void) @@ -115,11 +118,13 @@ void DCameraSinkControllerTest::SetUp(void) accessControl_ = std::make_shared(); controller_ = std::make_shared(accessControl_); + DCameraHandler::GetInstance().Initialize(); + std::vector cameras = DCameraHandler::GetInstance().GetCameras(); controller_->channel_ = std::make_shared(); controller_->operator_ = std::make_shared(); - controller_->output_ = std::make_shared(TEST_DH_ID, controller_->operator_); + controller_->output_ = std::make_shared(cameras[0], controller_->operator_); controller_->srcDevId_ = g_testDeviceIdController; - controller_->dhId_ = TEST_DH_ID; + controller_->dhId_ = cameras[0]; } void DCameraSinkControllerTest::TearDown(void) diff --git a/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/dcamera_sink_data_process_test.cpp b/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/dcamera_sink_data_process_test.cpp index 4509a2a5a71df64d0820a592f21f98c355e52428..a2758263779e0a9b78c53ba024bc8636e3c1a2a0 100644 --- a/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/dcamera_sink_data_process_test.cpp +++ b/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/dcamera_sink_data_process_test.cpp @@ -22,6 +22,7 @@ #include #include +#include "dcamera_handler.h" #include "distributed_camera_errno.h" #include "mock_camera_channel.h" #include "mock_data_process_pipeline.h" @@ -40,7 +41,7 @@ public: std::shared_ptr dataProcess_; std::shared_ptr channel_; }; -const std::string TEST_DH_ID = "Camera_device@3.5/legacy/1"; + const std::string TEST_STRING = "test_string"; const int32_t TEST_WIDTH = 1080; const int32_t TEST_HEIGHT = 1920; @@ -96,7 +97,9 @@ void DCameraSinkDataProcessTest::TearDownTestCase(void) void DCameraSinkDataProcessTest::SetUp(void) { channel_ = std::make_shared(); - dataProcess_ = std::make_shared(TEST_DH_ID, channel_); + DCameraHandler::GetInstance().Initialize(); + std::vector cameras = DCameraHandler::GetInstance().GetCameras(); + dataProcess_ = std::make_shared(cameras[0], channel_); dataProcess_->pipeline_ = std::make_shared(); dataProcess_->captureInfo_ = g_testCaptureInfoContinuousNeedEncode; diff --git a/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/dcamera_sink_dev_test.cpp b/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/dcamera_sink_dev_test.cpp index d79a09b9e3d4eff10de4696af1076a998f6f994d..2e157972de22ac65d0f4c634087e3eb8ef987301 100644 --- a/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/dcamera_sink_dev_test.cpp +++ b/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/dcamera_sink_dev_test.cpp @@ -25,6 +25,7 @@ #include "dcamera_sink_dev.h" #undef private +#include "dcamera_handler.h" #include "dcamera_utils_tools.h" #include "distributed_camera_errno.h" #include "mock_dcamera_sink_controller.h" @@ -43,7 +44,7 @@ public: std::shared_ptr dev_; }; -const std::string TEST_CAMERA_DH_ID_0 = "Camera_device@3.5/legacy/1"; + const std::string TEST_PARAMETER = ""; std::string g_testCameraInfo = ""; @@ -75,7 +76,9 @@ void DCameraSinkDevTest::TearDownTestCase(void) void DCameraSinkDevTest::SetUp(void) { - dev_ = std::make_shared(TEST_CAMERA_DH_ID_0); + DCameraHandler::GetInstance().Initialize(); + std::vector cameras = DCameraHandler::GetInstance().GetCameras(); + dev_ = std::make_shared(cameras[0]); dev_->accessControl_ = std::make_shared(); dev_->controller_ = std::make_shared(dev_->accessControl_); diff --git a/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/dcamera_sink_output_test.cpp b/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/dcamera_sink_output_test.cpp index d4e64ec62fec1867d3f228f1fadee75e9820bbf8..6dee742910b9f373d1e4a6f5e48dcacd05aaefa2 100644 --- a/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/dcamera_sink_output_test.cpp +++ b/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/dcamera_sink_output_test.cpp @@ -23,6 +23,7 @@ #include "mock_camera_operator.h" #include "mock_dcamera_sink_data_process.h" +#include "dcamera_handler.h" #include "dcamera_sink_access_control.h" #include "dcamera_sink_controller.h" #include "dcamera_sink_data_process.h" @@ -46,7 +47,7 @@ public: std::shared_ptr channel_; std::shared_ptr dataProcess_; }; -const std::string TEST_DH_ID = "Camera_device@3.5/legacy/1"; + const std::string SESSION_FLAG_CONTINUE = "dataContinue"; const std::string SESSION_FLAG_SNAPSHOT = "dataSnapshot"; const int32_t TEST_WIDTH = 1080; @@ -114,8 +115,10 @@ void DCameraSinkOutputTest::TearDownTestCase(void) void DCameraSinkOutputTest::SetUp(void) { + DCameraHandler::GetInstance().Initialize(); + std::vector cameras = DCameraHandler::GetInstance().GetCameras(); operator_ = std::make_shared(); - output_ = std::make_shared(TEST_DH_ID, operator_); + output_ = std::make_shared(cameras[0], operator_); channel_ = std::make_shared(); dataProcess_ = std::make_shared(channel_); output_->channels_.emplace(SNAPSHOT_FRAME, channel_); diff --git a/services/cameraservice/sourceservice/src/distributedcamera/dcamera_service_state_listener.cpp b/services/cameraservice/sourceservice/src/distributedcamera/dcamera_service_state_listener.cpp index d62fdcf1b347c251f5604856201cc8744d58714f..18eb54755794b0cb88b275c8335d7adee76be13e 100644 --- a/services/cameraservice/sourceservice/src/distributedcamera/dcamera_service_state_listener.cpp +++ b/services/cameraservice/sourceservice/src/distributedcamera/dcamera_service_state_listener.cpp @@ -52,7 +52,7 @@ int32_t DCameraServiceStateListener::OnRegisterNotify(const std::string& devId, DHLOGE("DCameraServiceStateListener OnRegisterNotify OnNotifyRegResult failed: %d", ret); } if (status != DCAMERA_OK) { - std::thread([this, devId, dhId]() { + std::thread([devId, dhId]() { DHLOGI("DCameraServiceStateListener OnRegisterNotify thread delete devId: %s dhId: %s", GetAnonyString(devId).c_str(), GetAnonyString(dhId).c_str()); DCameraIndex camIndex(devId, dhId); @@ -78,7 +78,7 @@ int32_t DCameraServiceStateListener::OnUnregisterNotify(const std::string& devId } if (status == DCAMERA_OK) { - std::thread([this, devId, dhId]() { + std::thread([devId, dhId]() { DHLOGI("DCameraServiceStateListener OnUnregisterNotify thread delete devId: %s dhId: %s", GetAnonyString(devId).c_str(), GetAnonyString(dhId).c_str()); DCameraIndex camIndex(devId, dhId); diff --git a/services/cameraservice/sourceservice/src/distributedcameramgr/dcamera_source_dev.cpp b/services/cameraservice/sourceservice/src/distributedcameramgr/dcamera_source_dev.cpp index ff476e1329f45510671e70832482c4c90758e6fd..80dd25527a96be3933569341ba6c7effe38e36dc 100644 --- a/services/cameraservice/sourceservice/src/distributedcameramgr/dcamera_source_dev.cpp +++ b/services/cameraservice/sourceservice/src/distributedcameramgr/dcamera_source_dev.cpp @@ -57,6 +57,17 @@ DCameraSourceDev::~DCameraSourceDev() { DHLOGI("DCameraSourceDev Delete devId %s dhId %s", GetAnonyString(devId_).c_str(), GetAnonyString(dhId_).c_str()); + eventBus_ = nullptr; + hdiCallback_ = nullptr; + input_ = nullptr; + controller_ = nullptr; + stateMachine_ = nullptr; + stateListener_ = nullptr; + + eventResultMap_.clear(); + memberFuncMap_.clear(); + DHLOGI("DCameraSourceDev Delete devId %s dhId %s end", GetAnonyString(devId_).c_str(), + GetAnonyString(dhId_).c_str()); } int32_t DCameraSourceDev::InitDCameraSourceDev()