diff --git a/common/test/unittest/common/utils/dcamera_utils_tools_test.cpp b/common/test/unittest/common/utils/dcamera_utils_tools_test.cpp index 324ff4bf128522f22d48cfc1179d6ca322cbad8b..98344dcf9b33db70a672535c8a6f28a920ec5e7d 100644 --- a/common/test/unittest/common/utils/dcamera_utils_tools_test.cpp +++ b/common/test/unittest/common/utils/dcamera_utils_tools_test.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022-2023 Huawei Device Co., Ltd. + * Copyright (c) 2022-2024 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 @@ -221,5 +221,29 @@ HWTEST_F(DcameraUtilsToolsTest, IsUnderDumpMaxSize_002, TestSize.Level1) { EXPECT_EQ(IsUnderDumpMaxSize("/nonexistent/file"), DCAMERA_INIT_ERR); } + +/** + * @tc.name: OpenDumpFile_001 + * @tc.desc: Verify the IsUnderDumpMaxSize. + * @tc.type: FUNC + * @tc.require: Issue Number + */ +HWTEST_F(DcameraUtilsToolsTest, OpenDumpFile_001, TestSize.Level1) +{ + FILE *dumpFile = nullptr; + void *buffer = nullptr; + size_t bufferSize = 0; + DumpFileUtil::WriteDumpFile(dumpFile, buffer, bufferSize); + const std::string DUMP_SERVER_PARA_TEST = "sys.dcamera.dump.write.enable w"; + const std::string DUMP_DCAMERA_TEST_FILENAME = "opendumpfile.txt"; + DumpFileUtil::OpenDumpFile(DUMP_SERVER_PARA_TEST, DUMP_DCAMERA_TEST_FILENAME, &dumpFile); + DumpFileUtil::WriteDumpFile(dumpFile, buffer, bufferSize); + const std::string DUMP_SERVER_PARA_TEST_1 = "sys.dcamera.dump.write.enable a"; + const std::string DUMP_DCAMERA_TEST_FILENAME_1 = "opendumpfile1.txt"; + DumpFileUtil::OpenDumpFile(DUMP_SERVER_PARA_TEST_1, DUMP_DCAMERA_TEST_FILENAME_1, &dumpFile); + DumpFileUtil::WriteDumpFile(dumpFile, buffer, bufferSize); + DumpFileUtil::CloseDumpFile(&dumpFile); + EXPECT_EQ(true, dumpFile == nullptr); +} } // namespace DistributedHardware } // namespace OHOS \ No newline at end of file diff --git a/interfaces/inner_kits/native_cpp/test/unittest/common/camera_source/callback/dcamera_source_callback_test.cpp b/interfaces/inner_kits/native_cpp/test/unittest/common/camera_source/callback/dcamera_source_callback_test.cpp index 3ee251a394a34b64111f162c3e7b051f77aa7b5c..7e97fb80e8c2983bc76a0ee1d091ee8cca2865b6 100644 --- a/interfaces/inner_kits/native_cpp/test/unittest/common/camera_source/callback/dcamera_source_callback_test.cpp +++ b/interfaces/inner_kits/native_cpp/test/unittest/common/camera_source/callback/dcamera_source_callback_test.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 Huawei Device Co., Ltd. + * Copyright (c) 2022-2024 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 @@ -160,11 +160,11 @@ HWTEST_F(DCameraSourceCallbackTest, dcamera_source_callback_test_003, TestSize.L std::string reqId = "reqId"; int32_t status = 0; std::string data = "data"; - std::shared_ptr callback = nullptr; - sourceCallback_->PushRegCallback(reqId, callback); + std::shared_ptr callback = std::make_shared(); + sourceCallback_->PushUnregCallback(reqId, callback); int32_t ret = sourceCallback_->OnNotifyUnregResult(devId, dhId, reqId, status, data); - sourceCallback_->PopRegCallback(reqId); - EXPECT_EQ(DCAMERA_NOT_FOUND, ret); + sourceCallback_->PopUnregCallback(reqId); + EXPECT_EQ(DCAMERA_OK, ret); } /** @@ -319,7 +319,9 @@ HWTEST_F(DCameraSourceCallbackTest, dcamera_source_callback_test_009, TestSize.L int32_t status = 1; int32_t ret = sourceCallback_->OnHardwareStateChanged(devId, dhId, status); EXPECT_EQ(DCAMERA_BAD_VALUE, ret); - sourceCallback_->stateListener_ = std::make_shared(); + std::shared_ptr listener = + std::make_shared(); + sourceCallback_->RegisterStateListener(listener); devId = ""; ret = sourceCallback_->OnHardwareStateChanged(devId, dhId, status); EXPECT_EQ(DCAMERA_BAD_VALUE, ret); @@ -339,6 +341,7 @@ HWTEST_F(DCameraSourceCallbackTest, dcamera_source_callback_test_009, TestSize.L EXPECT_EQ(DCAMERA_BAD_VALUE, ret); status = 1; ret = sourceCallback_->OnHardwareStateChanged(devId, dhId, status); + sourceCallback_->UnRegisterStateListener(); EXPECT_EQ(DCAMERA_OK, ret); } @@ -357,11 +360,14 @@ HWTEST_F(DCameraSourceCallbackTest, dcamera_source_callback_test_010, TestSize.L ret = sourceCallback_->OnDataSyncTrigger(devId); EXPECT_EQ(DCAMERA_BAD_VALUE, ret); - sourceCallback_->triggerListener_ = nullptr; + devId = "devId"; ret = sourceCallback_->OnDataSyncTrigger(devId); EXPECT_EQ(DCAMERA_BAD_VALUE, ret); - sourceCallback_->triggerListener_ = std::make_shared(); + + std::shared_ptr listener = std::make_shared(); + sourceCallback_->RegisterTriggerListener(listener); ret = sourceCallback_->OnDataSyncTrigger(devId); + sourceCallback_->UnRegisterTriggerListener(); EXPECT_NE(DCAMERA_OK, ret); } } diff --git a/services/cameraservice/sinkservice/src/distributedcameramgr/dcamera_sink_data_process.cpp b/services/cameraservice/sinkservice/src/distributedcameramgr/dcamera_sink_data_process.cpp index 54c91ca91cbf61efb59440f227216b3cdeb2e749..ac006831cffc7b25df0b6011301f6b14c18699c1 100644 --- a/services/cameraservice/sinkservice/src/distributedcameramgr/dcamera_sink_data_process.cpp +++ b/services/cameraservice/sinkservice/src/distributedcameramgr/dcamera_sink_data_process.cpp @@ -36,12 +36,12 @@ DCameraSinkDataProcess::DCameraSinkDataProcess(const std::string& dhId, std::sha DCameraSinkDataProcess::~DCameraSinkDataProcess() { DHLOGI("DCameraSinkDataProcess delete dhId: %{public}s", GetAnonyString(dhId_).c_str()); + DumpFileUtil::CloseDumpFile(&dumpFile_); if ((eventHandler_ != nullptr) && (eventHandler_->GetEventRunner() != nullptr)) { eventHandler_->GetEventRunner()->Stop(); } eventThread_.join(); eventHandler_ = nullptr; - DumpFileUtil::CloseDumpFile(&dumpFile_); } void DCameraSinkDataProcess::Init()