From 7f36072146e9aa55069b8c9d2729210d519b5855 Mon Sep 17 00:00:00 2001 From: lengye Date: Tue, 24 Oct 2023 12:53:40 +0000 Subject: [PATCH 1/8] add ndk code & submit & finish test pass Signed-off-by: lengye --- bundle.json | 1 + frameworks/native/camera/test/BUILD.gn | 1 + .../native/camera/test/unittest/BUILD.gn | 60 + .../unittest/include/camera_ndk_unittest.h | 65 + .../unittest/src/v1_1/camera_ndk_unittest.cpp | 2177 +++++++++++++++++ 5 files changed, 2304 insertions(+) create mode 100644 frameworks/native/camera/test/unittest/include/camera_ndk_unittest.h create mode 100644 frameworks/native/camera/test/unittest/src/v1_1/camera_ndk_unittest.cpp diff --git a/bundle.json b/bundle.json index ee8fdd266..f4ff80745 100644 --- a/bundle.json +++ b/bundle.json @@ -129,6 +129,7 @@ "//foundation/multimedia/camera_framework/frameworks/native/camera/test/moduletest:camera_framework_moduletest", "//foundation/multimedia/camera_framework/frameworks/native/camera/test/unittest:camera_framework_unittest_v1_0", "//foundation/multimedia/camera_framework/frameworks/native/camera/test/unittest:camera_framework_unittest_v1_1", + "//foundation/multimedia/camera_framework/frameworks/native/camera/test/unittest:camera_ndk_unittest_v1_1", "//foundation/multimedia/camera_framework/test:camera_fuzz_test" ] } diff --git a/frameworks/native/camera/test/BUILD.gn b/frameworks/native/camera/test/BUILD.gn index 5042e3c99..63c53bed6 100644 --- a/frameworks/native/camera/test/BUILD.gn +++ b/frameworks/native/camera/test/BUILD.gn @@ -17,5 +17,6 @@ group("cameraframeworktest") { "moduletest:camera_framework_moduletest", "unittest:camera_framework_unittest_v1_0", "unittest:camera_framework_unittest_v1_1", + "unittest:camera_ndk_unittest_v1_1", ] } diff --git a/frameworks/native/camera/test/unittest/BUILD.gn b/frameworks/native/camera/test/unittest/BUILD.gn index 68d7ceca7..910566d6c 100644 --- a/frameworks/native/camera/test/unittest/BUILD.gn +++ b/frameworks/native/camera/test/unittest/BUILD.gn @@ -142,3 +142,63 @@ ohos_unittest("camera_framework_unittest_v1_1") { cflags_cc = cflags } + +ohos_unittest("camera_ndk_unittest_v1_1") { + module_out_path = module_output_path + include_dirs = [ + "./include", + "${multimedia_camera_framework_path}/interfaces/kits/native/include", + "${multimedia_camera_framework_path}/interfaces/inner_api/native/test", + "${base_security_path}/interfaces/innerkits/accesstoken/include", + "${base_security_path}/interfaces/innerkits/token_setproc/include", + ] + + sources = [ + "${multimedia_camera_framework_path}/interfaces/inner_api/native/test/test_common.cpp", + "src/v1_1/camera_ndk_unittest.cpp", + ] + + deps = [ + "${graphic_2d_path}:libsurface", + "${multimedia_camera_framework_path}/frameworks/native/camera:camera_framework", + "${multimedia_camera_framework_path}/services/camera_service:camera_service", + "${third_party_path}:gmock_main", + "${multimedia_camera_framework_path}/frameworks/native/ndk:camera_ndk", + ] + + external_deps = [ + "access_token:libaccesstoken_sdk", + "access_token:libnativetoken", + "access_token:libprivacy_sdk", + "access_token:libtoken_setproc", + "c_utils:utils", + "drivers_interface_camera:libcamera_proxy_1.0", + "drivers_interface_camera:libcamera_proxy_1.1", + "drivers_interface_camera:metadata", + "drivers_peripheral_display:hdi_gralloc_client", + "hdf_core:libhdi", + "hilog:libhilog", + "hisysevent:libhisysevent", + "hitrace:hitrace_meter", + "image_framework:image_native", + "ipc:ipc_core", + "safwk:system_ability_fwk", + ] + + cflags = [ + "-fPIC", + "-Werror=unused", + ] + + include_dirs += [ + "${driver_peripheral_path}/interfaces/include", + "${driver_peripheral_path}/interfaces/hdi_ipc", + "${driver_peripheral_path}/interfaces/hdi_ipc/utils/include", + "${driver_peripheral_path}/interfaces/hdi_ipc/server/include", + "${driver_peripheral_path}/interfaces/hdi_ipc/callback/device/include", + "${driver_peripheral_path}/interfaces/hdi_ipc/callback/operator/include", + "${driver_peripheral_path}/interfaces/hdi_ipc/callback/host/include", + ] + + cflags_cc = cflags +} diff --git a/frameworks/native/camera/test/unittest/include/camera_ndk_unittest.h b/frameworks/native/camera/test/unittest/include/camera_ndk_unittest.h new file mode 100644 index 000000000..bfa9f3131 --- /dev/null +++ b/frameworks/native/camera/test/unittest/include/camera_ndk_unittest.h @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2021-2022 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 CAMERA_NDK_UNITTEST_H +#define CAMERA_NDK_UNITTEST_H +#include "gtest/gtest.h" +#include "camera/camera_manager.h" +#include +#include "camera/photo_output.h" + + +namespace OHOS { +namespace CameraStandard { +class MockStreamOperator; +class MockCameraDevice; +class MockHCameraHostManager; +class CameraNdkUnitTest : public testing::Test { +public: + static const int32_t PHOTO_DEFAULT_WIDTH = 1280; + static const int32_t PHOTO_DEFAULT_HEIGHT = 960; + static const int32_t PREVIEW_DEFAULT_WIDTH = 640; + static const int32_t PREVIEW_DEFAULT_HEIGHT = 480; + static const int32_t VIDEO_DEFAULT_WIDTH = 640; + static const int32_t VIDEO_DEFAULT_HEIGHT =480; + + static const int32_t WAIT_TIME_AFTER_CAPTURE = 1; + static const int32_t WAIT_TIME_AFTER_START = 2; + static const int32_t WAIT_TIME_BEFORE_STOP = 1; + static const int32_t CAMERA_NUMBER = 2; + + Camera_Manager *cameraManager = nullptr; + Camera_Device *cameraDevice = nullptr; + uint32_t cameraDeviceSize = 0; + + /* SetUpTestCase:The preset action of the test suite is executed before the first TestCase */ + static void SetUpTestCase(void); + + /* TearDownTestCase:The test suite cleanup action is executed after the last TestCase */ + static void TearDownTestCase(void); + /* SetUp:Execute before each test case */ + void SetUp(); + + /* TearDown:Execute after each test case */ + void TearDown(); + void SessionCommit(Camera_CaptureSession *captureSession); + void SessionControlParams(Camera_CaptureSession *captureSession); + Camera_PhotoOutput* CreatePhotoOutput(int32_t width = PHOTO_DEFAULT_WIDTH, int32_t height = PHOTO_DEFAULT_HEIGHT); + Camera_PreviewOutput* CreatePreviewOutput(int32_t width = PREVIEW_DEFAULT_WIDTH, int32_t height = PREVIEW_DEFAULT_HEIGHT); + Camera_VideoOutput* CreateVideoOutput(int32_t width = VIDEO_DEFAULT_WIDTH, int32_t height = VIDEO_DEFAULT_HEIGHT); +}; +} // CameraStandard +} // OHOS +#endif // CAMERA_NDK_UNITTEST_H diff --git a/frameworks/native/camera/test/unittest/src/v1_1/camera_ndk_unittest.cpp b/frameworks/native/camera/test/unittest/src/v1_1/camera_ndk_unittest.cpp new file mode 100644 index 000000000..d39589a45 --- /dev/null +++ b/frameworks/native/camera/test/unittest/src/v1_1/camera_ndk_unittest.cpp @@ -0,0 +1,2177 @@ +/* + * Copyright (c) 2021-2022 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 "camera_ndk_unittest.h" +#include "camera_log.h" +#include "test_common.h" +#include "ipc_skeleton.h" +#include "access_token.h" +#include "hap_token_info.h" +#include "accesstoken_kit.h" +#include "token_setproc.h" +#include "metadata_utils.h" +#include "nativetoken_kit.h" +#include "surface_utils.h" +using namespace testing::ext; + +namespace OHOS { +namespace CameraStandard { + + +Camera_PhotoOutput* CameraNdkUnitTest::CreatePhotoOutput(int32_t width, int32_t height) +{ + Camera_Size photoSize = { + .width = width, + .height = height + }; + Camera_Format format = (Camera_Format)CAMERA_FORMAT_JPEG; + Camera_Profile photoProfile = { + .format = format, + .size = photoSize + }; + sptr photoSurface = IConsumerSurface::Create(); + sptr photoProducer = photoSurface->GetProducer(); + sptr pSurface = Surface::CreateSurfaceAsProducer(photoProducer); + int64_t surfaceIdInt = photoProducer->GetUniqueId(); + string surfaceIdStr = std::to_string(surfaceIdInt); + const char *surfaceId = nullptr; + surfaceId = surfaceIdStr.c_str(); + SurfaceUtils::GetInstance()->Add(surfaceIdInt,pSurface); + + Camera_PhotoOutput* photoOutput = nullptr; + Camera_ErrorCode ret = OH_CameraManager_CreatePhotoOutput(cameraManager, &photoProfile, surfaceId, &photoOutput); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(photoOutput, nullptr); + return photoOutput; +} + +Camera_PreviewOutput* CameraNdkUnitTest::CreatePreviewOutput(int32_t width, int32_t height) +{ + Camera_Size previewSize = { + .width = width, + .height = height + }; + Camera_Format format = (Camera_Format)CAMERA_FORMAT_RGBA_8888;//CAMERA_FORMAT_YUV_420_SP; + Camera_Profile previewProfile = { + .format = format, + .size = previewSize + }; + sptr previewSurface = IConsumerSurface::Create(); + sptr previewProducer = previewSurface->GetProducer(); + sptr pSurface = Surface::CreateSurfaceAsProducer(previewProducer); + int64_t surfaceIdInt = previewProducer->GetUniqueId(); + string surfaceIdStr = std::to_string(surfaceIdInt); + const char *surfaceId = nullptr; + surfaceId = surfaceIdStr.c_str(); + SurfaceUtils::GetInstance()->Add(surfaceIdInt,pSurface); + EXPECT_NE(surfaceId, nullptr); + Camera_PreviewOutput* previewOutput = nullptr; + Camera_ErrorCode ret = OH_CameraManager_CreatePreviewOutput(cameraManager, &previewProfile, surfaceId, &previewOutput); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(previewOutput, nullptr); + return previewOutput; +} + +Camera_VideoOutput* CameraNdkUnitTest::CreateVideoOutput(int32_t width, int32_t height) +{ + Camera_Size videoSize = { + .width = width, + .height = height + }; + Camera_Format format = (Camera_Format)CAMERA_FORMAT_RGBA_8888; + Camera_FrameRateRange videoRange = { + .min = 30, + .max = 30 + }; + Camera_VideoProfile videoProfile = { + .format = format, + .size = videoSize, + .range = videoRange + }; + sptr videoSurface = IConsumerSurface::Create(); + sptr videoProducer = videoSurface->GetProducer(); + sptr pSurface = Surface::CreateSurfaceAsProducer(videoProducer); + int64_t surfaceIdInt = videoProducer->GetUniqueId(); + string surfaceIdStr = std::to_string(surfaceIdInt); + const char *surfaceId = nullptr; + surfaceId = surfaceIdStr.c_str(); + SurfaceUtils::GetInstance()->Add(surfaceIdInt, pSurface); + Camera_VideoOutput* videoOutput = nullptr; + Camera_ErrorCode ret = OH_CameraManager_CreateVideoOutput(cameraManager, &videoProfile, surfaceId, &videoOutput); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(videoOutput, nullptr); + return videoOutput; +} + +void CameraNdkUnitTest::SessionCommit(Camera_CaptureSession *captureSession) +{ + Camera_ErrorCode ret = OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Start(captureSession); + EXPECT_EQ(ret, 0); +} + +void CameraNdkUnitTest::SessionControlParams(Camera_CaptureSession *captureSession) +{ + float minZoom = 0.0f, maxZoom = 0.0f; + Camera_ErrorCode ret = OH_CaptureSession_GetZoomRatioRange(captureSession, &minZoom, &maxZoom); + EXPECT_EQ(ret, CAMERA_OK); + ASSERT_NE(minZoom, 0.0f); + ASSERT_NE(maxZoom, 0.0f); + ret = OH_CaptureSession_SetZoomRatio(captureSession, minZoom); + EXPECT_EQ(ret, CAMERA_OK); + float minExposureBias = 0.0f, maxExposureBias = 0.0f, step = 0.0f; + ret = OH_CaptureSession_GetExposureBiasRange(captureSession, &minExposureBias, &maxExposureBias, &step); + EXPECT_EQ(ret, CAMERA_OK); + ASSERT_NE(minExposureBias, 0.0f); + ASSERT_NE(maxExposureBias, 0.0f); + ASSERT_NE(step, 0.0f); + ret = OH_CaptureSession_SetExposureBias(captureSession, minExposureBias); + EXPECT_EQ(ret, CAMERA_OK); + Camera_FlashMode flash = (Camera_FlashMode)FLASH_MODE_ALWAYS_OPEN; + ret = OH_CaptureSession_SetFlashMode(captureSession, flash); + EXPECT_EQ(ret, CAMERA_OK); + Camera_FocusMode focus = (Camera_FocusMode)FOCUS_MODE_AUTO; + ret = OH_CaptureSession_SetFocusMode(captureSession, focus); + EXPECT_EQ(ret, CAMERA_OK); + Camera_ExposureMode exposure = (Camera_ExposureMode)EXPOSURE_MODE_AUTO; + ret = OH_CaptureSession_SetExposureMode(captureSession, exposure); + EXPECT_EQ(ret, CAMERA_OK); + + float zoom = 0.0f; + ret = OH_CaptureSession_GetZoomRatio(captureSession, &zoom); + EXPECT_EQ(ret, CAMERA_OK); + ASSERT_NE(zoom, 0.0f); + + float exposureBias = 0.0f; + ret = OH_CaptureSession_GetExposureBias(captureSession, &exposureBias); + EXPECT_EQ(ret, CAMERA_OK); + ASSERT_NE(exposureBias, 0.0f); + + ret = OH_CaptureSession_GetFlashMode(captureSession, &flash); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_EQ(flash, (Camera_FlashMode)FLASH_MODE_ALWAYS_OPEN); + + ret = OH_CaptureSession_GetFocusMode(captureSession, &focus); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_EQ(focus, (Camera_FocusMode)FOCUS_MODE_AUTO); + + ret = OH_CaptureSession_GetExposureMode(captureSession, &exposure); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_EQ(exposure, (Camera_ExposureMode)EXPOSURE_MODE_AUTO); +} +void CameraNdkUnitTest::SetUpTestCase(void) {} + +void CameraNdkUnitTest::TearDownTestCase(void) {} + +void CameraNdkUnitTest::SetUp() +{ + // set native token + uint64_t tokenId; + const char *perms[2]; + perms[0] = "ohos.permission.DISTRIBUTED_DATASYNC"; + perms[1] = "ohos.permission.CAMERA"; + NativeTokenInfoParams infoInstance = { + .dcapsNum = 0, + .permsNum = 2, + .aclsNum = 0, + .dcaps = NULL, + .perms = perms, + .acls = NULL, + .processName = "native_camera_tdd", + .aplStr = "system_basic", + }; + tokenId = GetAccessTokenId(&infoInstance); + SetSelfTokenID(tokenId); + OHOS::Security::AccessToken::AccessTokenKit::ReloadNativeTokenInfo(); + + Camera_ErrorCode ret ; + ret=OH_Camera_GetCameraMananger(&cameraManager); + EXPECT_EQ(ret, 0); + ret=OH_CameraManager_GetSupportedCameras(cameraManager, &cameraDevice, &cameraDeviceSize); + EXPECT_EQ(ret, 0); +} + +void CameraNdkUnitTest::TearDown() +{ +} + +static void CameraPreviewOutptOnFrameStartCb(Camera_PreviewOutput* previewOutput) +{ + MEDIA_DEBUG_LOG("fun:%s", __FUNCTION__); +} +static void CameraPreviewOutptOnFrameEndCb(Camera_PreviewOutput* previewOutput, int32_t frameCount) + { + MEDIA_DEBUG_LOG("fun:%s", __FUNCTION__); + } + +static void CameraPreviewOutptOnErrorCb(Camera_PreviewOutput* previewOutput, Camera_ErrorCode errorCode) +{ + MEDIA_DEBUG_LOG("fun:%s", __FUNCTION__); +} + +static void CameraPhotoOutptOnFrameStartCb(Camera_PhotoOutput* photoOutput/*, int64_t timestamp*/) +{ + MEDIA_DEBUG_LOG("fun:%s", __FUNCTION__); +} + +static void CameraPhotoOutptOnFrameShutterCb(Camera_PhotoOutput* photoOutput, Camera_FrameShutterInfo* info) + { + MEDIA_DEBUG_LOG("fun:%s", __FUNCTION__); + } + +static void CameraPhotoOutptOnFrameEndCb(Camera_PhotoOutput* photoOutput, int32_t timestamp) +{ + MEDIA_DEBUG_LOG("fun:%s", __FUNCTION__); +} + +static void CameraPhotoOutptOnErrorCb(Camera_PhotoOutput* photoOutput, Camera_ErrorCode errorCode) + { + MEDIA_DEBUG_LOG("fun:%s", __FUNCTION__); + } + +static void CameraVideoOutptOnFrameStartCb(Camera_VideoOutput* videoOutput) +{ + MEDIA_DEBUG_LOG("fun:%s", __FUNCTION__); +} + +static void CameraVideoOutptOnFrameEndCb(Camera_VideoOutput* videoOutput, int32_t frameCount) +{ + MEDIA_DEBUG_LOG("fun:%s", __FUNCTION__); +} +static void CameraVideoOutptOnErrorCb(Camera_VideoOutput* videoOutput, Camera_ErrorCode errorCode) + { + MEDIA_DEBUG_LOG("fun:%s", __FUNCTION__); + } +/* + * Feature: Framework + * Function: Test Capture + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test Capture + */ +HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_001, TestSize.Level0) +{ + Camera_PhotoOutput *photoOutput = CreatePhotoOutput(); + EXPECT_NE(photoOutput, nullptr); + Camera_CaptureSession* captureSession = nullptr; + Camera_ErrorCode ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(captureSession, nullptr); + Camera_Input *cameraInput = nullptr; + ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(&cameraInput, nullptr); + ret = OH_CameraInput_Open(cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddPhotoOutput(captureSession, photoOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_PhotoOutput_Capture(photoOutput); + EXPECT_EQ(ret, 0); + ret = OH_PhotoOutput_Release(photoOutput); + EXPECT_EQ(ret, 0); + ret = OH_CameraInput_Release(cameraInput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Release(captureSession); + EXPECT_EQ(ret, 0); +} +/* + * Feature: Framework + * Function: Test capture session with commit config multiple times + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test capture session with commit config multiple times + */ +HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_002, TestSize.Level0) +{ + Camera_PhotoOutput *photoOutput = CreatePhotoOutput(); + EXPECT_NE(photoOutput, nullptr); + Camera_CaptureSession* captureSession = nullptr; + Camera_ErrorCode ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(captureSession, nullptr); + + Camera_Input *cameraInput = nullptr; + ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(&cameraInput, nullptr); + ret = OH_CameraInput_Open(cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddPhotoOutput(captureSession, photoOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_CommitConfig(captureSession); + EXPECT_NE(ret, 0); + ret = OH_PhotoOutput_Release(photoOutput); + EXPECT_EQ(ret, 0); + ret = OH_CameraInput_Release(cameraInput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Release(captureSession); + EXPECT_EQ(ret, 0); +} +/* + * Feature: Ndk + * Function: Test create preview output + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test create preview output + */ +HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_004, TestSize.Level0) +{ + Camera_CaptureSession* captureSession = nullptr; + Camera_ErrorCode ret =CAMERA_OK; + ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(captureSession, nullptr); + Camera_OutputCapability *OutputCapability = nullptr; + ret = OH_CameraManager_GetSupportedCameraOutputCapability(cameraManager,cameraDevice,&OutputCapability); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + + int32_t width =PREVIEW_DEFAULT_WIDTH; + int32_t height =PREVIEW_DEFAULT_HEIGHT; + Camera_Size previewSize = { + .width = width, + .height = height + }; + Camera_Format format = (Camera_Format)CAMERA_FORMAT_RGBA_8888;//CAMERA_FORMAT_YUV_420_SP; + Camera_Profile previewProfile = { + .format =format, + .size = previewSize + }; + + sptr previewSurface = IConsumerSurface::Create(); + sptr previewProducer = previewSurface->GetProducer(); + sptr pSurface = Surface::CreateSurfaceAsProducer(previewProducer); + int64_t surfaceIdInt = previewProducer->GetUniqueId(); + string surfaceIdStr = std::to_string(surfaceIdInt); + const char *surfaceId = nullptr; + surfaceId = surfaceIdStr.c_str(); + SurfaceUtils::GetInstance()->Add(surfaceIdInt,pSurface); + Camera_PreviewOutput* previewOutput = nullptr; + ret = OH_CameraManager_CreatePreviewOutput(cameraManager, &previewProfile, surfaceId, &previewOutput); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(previewOutput, nullptr); + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); + EXPECT_EQ(ret, 0); + + Camera_Input *cameraInput = nullptr; + ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(&cameraInput, nullptr); + + ret = OH_CameraInput_Open(cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); + + ret = OH_PreviewOutput_Start(previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_PreviewOutput_Stop(previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_PreviewOutput_Release(previewOutput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CameraInput_Release(cameraInput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Release(captureSession); + EXPECT_EQ(ret, 0); +} +/* + * Feature: Framework + * Function: Test capture session start and stop preview multiple times + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test capture session start and stop preview multiple times + */ +HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_006, TestSize.Level0) +{ + Camera_CaptureSession* captureSession = nullptr; + Camera_ErrorCode ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(captureSession, nullptr); + Camera_Input *cameraInput = nullptr; + ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CameraInput_Open(cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + + EXPECT_NE(&cameraInput, nullptr); + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + + Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); + EXPECT_NE(previewOutput, nullptr); + + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); + EXPECT_EQ(ret, 0); + + ret = OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); + + ret = OH_PreviewOutput_Start(previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_PreviewOutput_Stop(previewOutput); + EXPECT_EQ(ret, 0); + + ret = OH_PreviewOutput_Start(previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_PreviewOutput_Stop(previewOutput); + EXPECT_EQ(ret, 0); + + ret = OH_PreviewOutput_Release(previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_CameraInput_Release(cameraInput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Release(captureSession); + EXPECT_EQ(ret, 0); +} +/* + * Feature: Framework + * Function: Test capture session start and stop video multiple times + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test capture session start and stop video multiple times + */ +HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_007, TestSize.Level0) +{ + Camera_CaptureSession* captureSession = nullptr; + Camera_ErrorCode ret=CAMERA_OK; + ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(captureSession, nullptr); + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + Camera_Input *cameraInput = nullptr; + ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(cameraInput, nullptr); + ret = OH_CameraInput_Open(cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); + EXPECT_NE(previewOutput, nullptr); + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); + EXPECT_EQ(ret, 0); + Camera_VideoOutput* videoOutput = CreateVideoOutput(); + EXPECT_NE(videoOutput, nullptr); + ret = OH_CaptureSession_AddVideoOutput(captureSession, videoOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_VideoOutput_Start(videoOutput); + EXPECT_EQ(ret, 0); + ret = OH_VideoOutput_Stop(videoOutput); + EXPECT_EQ(ret, 0); + ret = OH_VideoOutput_Start(videoOutput); + EXPECT_EQ(ret, 0); + ret = OH_VideoOutput_Stop(videoOutput); + EXPECT_EQ(ret, 0); + ret = OH_PreviewOutput_Release(previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_VideoOutput_Release(videoOutput); + EXPECT_EQ(ret, 0); + ret = OH_CameraInput_Release(cameraInput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Release(captureSession); + EXPECT_EQ(ret, 0); +} + +/* + * Feature: Framework + * Function: Test video add preview and photo output, remove photo output, add video output + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test video add preview and photo output, remove photo output, add video output + */ +HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_008, TestSize.Level0) +{ + Camera_CaptureSession* captureSession = nullptr; + Camera_ErrorCode ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(captureSession, nullptr); + Camera_Input *cameraInput = nullptr; + ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(&cameraInput, nullptr); + ret = OH_CameraInput_Open(cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + Camera_VideoOutput* videoOutput = CreateVideoOutput(); + EXPECT_NE(videoOutput, nullptr); + Camera_PhotoOutput *photoOutput = CreatePhotoOutput(); + EXPECT_NE(photoOutput, nullptr); + Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); + EXPECT_NE(previewOutput, nullptr); + ret = OH_CaptureSession_AddPhotoOutput(captureSession, photoOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_RemovePhotoOutput(captureSession, photoOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddVideoOutput(captureSession, videoOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_VideoOutput_Start(videoOutput); + EXPECT_EQ(ret, 0); + ret = OH_VideoOutput_Stop(videoOutput); + EXPECT_EQ(ret, 0); + + ret = OH_VideoOutput_Release(videoOutput); + EXPECT_EQ(ret, 0); + ret = OH_PhotoOutput_Release(photoOutput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CameraInput_Release(cameraInput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Release(captureSession); + EXPECT_EQ(ret, 0); +} +/* + * Feature: Framework + * Function: Test add preview,video and photo output, video start�� do capture + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test add preview ��video and photo output, video start�� do capture + */ +HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_009, TestSize.Level0) +{ + Camera_CaptureSession* captureSession = nullptr; + Camera_ErrorCode ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(captureSession, nullptr); + + Camera_Input *cameraInput = nullptr; + ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(&cameraInput, nullptr); + + ret = OH_CameraInput_Open(cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + + Camera_VideoOutput* videoOutput = CreateVideoOutput(); + EXPECT_NE(videoOutput, nullptr); + + Camera_PhotoOutput *photoOutput = CreatePhotoOutput(); + EXPECT_NE(photoOutput, nullptr); + + Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); + EXPECT_NE(previewOutput, nullptr); + + ret = OH_CaptureSession_AddPhotoOutput(captureSession, photoOutput); + EXPECT_EQ(ret, 0); + + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); + EXPECT_EQ(ret, 0); + + ret = OH_CaptureSession_AddVideoOutput(captureSession, videoOutput); + EXPECT_EQ(ret, 0); + + ret = OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); + + ret = OH_VideoOutput_Start(videoOutput); + EXPECT_EQ(ret, 0); + ret = OH_VideoOutput_Stop(videoOutput); + EXPECT_EQ(ret, 0); + + ret = OH_PhotoOutput_Capture(photoOutput); + EXPECT_EQ(ret, 0); + + ret = OH_VideoOutput_Release(videoOutput); + EXPECT_EQ(ret, 0); + ret = OH_PhotoOutput_Release(photoOutput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CameraInput_Release(cameraInput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Release(captureSession); + EXPECT_EQ(ret, 0); +} +/* + * Feature: Framework + * Function: Test add preview and video output, commitconfig�� remove video Output, add photo output, take photo + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test add preview and video output, commitconfig�� remove video Output, add photo output, take photo + */ +HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_010, TestSize.Level0) +{ + Camera_CaptureSession* captureSession = nullptr; + Camera_ErrorCode ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(captureSession, nullptr); + + Camera_Input *cameraInput = nullptr; + ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(&cameraInput, nullptr); + + ret = OH_CameraInput_Open(cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + + Camera_VideoOutput* videoOutput = CreateVideoOutput(); + EXPECT_NE(videoOutput, nullptr); + + Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); + EXPECT_NE(previewOutput, nullptr); + + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); + EXPECT_EQ(ret, 0); + + ret = OH_CaptureSession_AddVideoOutput(captureSession, videoOutput); + EXPECT_EQ(ret, 0); + + ret = OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_RemoveVideoOutput(captureSession, videoOutput); + EXPECT_EQ(ret, 0); + Camera_PhotoOutput *photoOutput = CreatePhotoOutput(); + EXPECT_NE(photoOutput, nullptr); + ret = OH_CaptureSession_AddPhotoOutput(captureSession, photoOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); + + ret = OH_PhotoOutput_Capture(photoOutput); + EXPECT_EQ(ret, 0); + ret = OH_VideoOutput_Release(videoOutput); + EXPECT_EQ(ret, 0); + ret = OH_CameraInput_Release(cameraInput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Release(captureSession); + EXPECT_EQ(ret, 0); +} +/* + * Feature: Framework + * Function: Test add preview and video output, commitconfig�� remove video Output, do OH_CaptureSession_BeginConfig/OH_CaptureSession_CommitConfig again + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test add preview and video output, commitconfig�� remove video Output, do OH_CaptureSession_BeginConfig/OH_CaptureSession_CommitConfig again + */ +HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_013, TestSize.Level0) +{ + Camera_CaptureSession* captureSession = nullptr; + Camera_ErrorCode ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(captureSession, nullptr); + Camera_Input *cameraInput = nullptr; + ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(&cameraInput, nullptr); + ret = OH_CameraInput_Open(cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + Camera_VideoOutput* videoOutput = CreateVideoOutput(); + EXPECT_NE(videoOutput, nullptr); + Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); + EXPECT_NE(previewOutput, nullptr); + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddVideoOutput(captureSession, videoOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + + ret = OH_CaptureSession_RemoveVideoOutput(captureSession, videoOutput); + EXPECT_EQ(ret, 0); + + ret = OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_VideoOutput_Release(videoOutput); + EXPECT_EQ(ret, 0); + ret = OH_CameraInput_Release(cameraInput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Release(captureSession); + EXPECT_EQ(ret, 0); +} + + +/* + * Feature: Framework + * Function: Test add preview and photo output, commitconfig�� remove photo Output, do OH_CaptureSession_BeginConfig/OH_CaptureSession_CommitConfig again + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test add preview and photo output, commitconfig�� remove photo Output, do OH_CaptureSession_BeginConfig/OH_CaptureSession_CommitConfig again + */ +HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_014, TestSize.Level0) +{ + Camera_CaptureSession* captureSession = nullptr; + Camera_ErrorCode ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(captureSession, nullptr); + Camera_Input *cameraInput = nullptr; + ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(&cameraInput, nullptr); + + ret = OH_CameraInput_Open(cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + + Camera_PhotoOutput* photoOutput = CreatePhotoOutput(); + EXPECT_NE(photoOutput, nullptr); + + Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); + EXPECT_NE(previewOutput, nullptr); + + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); + EXPECT_EQ(ret, 0); + + ret = OH_CaptureSession_AddPhotoOutput(captureSession, photoOutput); + EXPECT_EQ(ret, 0); + + ret = OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); + + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + + ret = OH_CaptureSession_RemovePreviewOutput(captureSession, previewOutput); + EXPECT_EQ(ret, 0); + + ret = OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); + + ret = OH_PhotoOutput_Release(photoOutput); + EXPECT_EQ(ret, 0); + ret = OH_CameraInput_Release(cameraInput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Release(captureSession); + EXPECT_EQ(ret, 0); +} + +/* + * Feature: Framework + * Function: Test add two preview output and use + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test add two preview output and use + */ +HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_017, TestSize.Level0) +{ + Camera_CaptureSession* captureSession = nullptr; + Camera_ErrorCode ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(captureSession, nullptr); + + Camera_Input *cameraInput = nullptr; + ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(&cameraInput, nullptr); + + ret = OH_CameraInput_Open(cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + + Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); + EXPECT_NE(previewOutput, nullptr); + Camera_PreviewOutput* previewOutput2 = CreatePreviewOutput(); + EXPECT_NE(previewOutput, nullptr); + + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput2); + EXPECT_EQ(ret, 0); + + ret = OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); + + ret = OH_PreviewOutput_Start(previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_PreviewOutput_Stop(previewOutput); + EXPECT_EQ(ret, 0); + + ret = OH_PreviewOutput_Start(previewOutput2); + EXPECT_EQ(ret, 0); + ret = OH_PreviewOutput_Stop(previewOutput2); + EXPECT_EQ(ret, 0); + ret = OH_PreviewOutput_Release(previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_PreviewOutput_Release(previewOutput2); + EXPECT_EQ(ret, 0); + ret = OH_CameraInput_Release(cameraInput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Release(captureSession); + EXPECT_EQ(ret, 0); +} + + + +/* + * Feature: Ndk + * Function: Test capture session commit config without adding input + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test capture session commit config without adding input + */ +HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_027, TestSize.Level0) +{ + Camera_CaptureSession* captureSession = nullptr; + Camera_ErrorCode ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(captureSession, nullptr); + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + Camera_PhotoOutput *photoOutput = CreatePhotoOutput(); + EXPECT_NE(photoOutput, nullptr); + ret = OH_CaptureSession_AddPhotoOutput(captureSession, photoOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_CommitConfig(captureSession); + EXPECT_NE(ret, 0); + ret = OH_CaptureSession_RemovePhotoOutput(captureSession, photoOutput); + EXPECT_EQ(ret, 0); + ret = OH_PhotoOutput_Release(photoOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Release(captureSession); + EXPECT_EQ(ret, 0); +} +/* + * Feature: Ndk + * Function: Test capture session commit config without adding output + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test capture session commit config without adding output + */ +HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_028, TestSize.Level0) +{ + Camera_Input *cameraInput = nullptr; + Camera_ErrorCode ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(&cameraInput, nullptr); + ret = OH_CameraInput_Open(cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + Camera_CaptureSession* captureSession = nullptr; + ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(captureSession, nullptr); + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_CommitConfig(captureSession); + EXPECT_NE(ret, 0); + ret = OH_CaptureSession_RemoveInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + ret = OH_CameraInput_Release(cameraInput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Release(captureSession); + EXPECT_EQ(ret, 0); +} +/* + * Feature: Ndk + * Function: Test capture session without begin config + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test capture session without begin config + */ +HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_029, TestSize.Level0) +{ + Camera_Input *cameraInput = nullptr; + Camera_ErrorCode ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(&cameraInput, nullptr); + Camera_PhotoOutput *photoOutput = CreatePhotoOutput(); + EXPECT_NE(photoOutput, nullptr); + Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); + EXPECT_NE(previewOutput, nullptr); + + Camera_CaptureSession* captureSession = nullptr; + ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(captureSession, nullptr); + + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_NE(ret, 0); + + ret = OH_CaptureSession_AddPhotoOutput(captureSession, photoOutput); + EXPECT_NE(ret, 0); + + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); + EXPECT_NE(ret, 0); + + ret = OH_CaptureSession_CommitConfig(captureSession); + EXPECT_NE(ret, 0); + + ret = OH_CaptureSession_Start(captureSession); + EXPECT_NE(ret, 0); + + ret = OH_PreviewOutput_Start(previewOutput); + EXPECT_NE(ret, 0); + + ret = OH_PhotoOutput_Capture(photoOutput); + EXPECT_NE(ret, 0); + + ret = OH_PreviewOutput_Stop(previewOutput); + EXPECT_NE(ret, 0); + + ret = OH_CaptureSession_Stop(captureSession); + EXPECT_NE(ret, 0); + + ret = OH_CaptureSession_RemovePhotoOutput(captureSession, photoOutput); + EXPECT_NE(ret, 0); + + ret = OH_CaptureSession_RemoveInput(captureSession, cameraInput); + EXPECT_NE(ret, 0); + + ret = OH_CaptureSession_RemovePreviewOutput(captureSession, previewOutput); + EXPECT_NE(ret, 0); + + ret = OH_PreviewOutput_Release(previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_PhotoOutput_Release(photoOutput); + EXPECT_EQ(ret, 0); + ret = OH_CameraInput_Release(cameraInput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Release(captureSession); + EXPECT_EQ(ret, 0); +} + +/* + * Feature: Ndk + * Function: Test capture session start and stop without adding preview output + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test capture session start and stop without adding preview output + */ +HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_030, TestSize.Level0) +{ + Camera_Input *cameraInput = nullptr; + Camera_ErrorCode ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(&cameraInput, nullptr); + ret = OH_CameraInput_Open(cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + Camera_PhotoOutput *photoOutput = CreatePhotoOutput(); + EXPECT_NE(photoOutput, nullptr); + Camera_CaptureSession* captureSession = nullptr; + ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(captureSession, nullptr); + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddPhotoOutput(captureSession, photoOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Start(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Stop(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CameraInput_Release(cameraInput); + EXPECT_EQ(ret, 0); + ret = OH_PhotoOutput_Release(photoOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Release(captureSession); + EXPECT_EQ(ret, 0); +} +/* + * Feature: Ndk + * Function: Test session with preview + photo + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test session with preview + photo + */ +HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_031, TestSize.Level0) +{ + Camera_Input *cameraInput = nullptr; + Camera_ErrorCode ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(&cameraInput, nullptr); + ret = OH_CameraInput_Open(cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + Camera_PhotoOutput *photoOutput = CreatePhotoOutput(); + EXPECT_NE(photoOutput, nullptr); + Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); + EXPECT_NE(previewOutput, nullptr); + Camera_CaptureSession* captureSession = nullptr; + ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(captureSession, nullptr); + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddPhotoOutput(captureSession, photoOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Start(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_PhotoOutput_Capture(photoOutput); + EXPECT_EQ(ret, 0); + ret = OH_PreviewOutput_Stop(previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_CameraInput_Release(cameraInput); + EXPECT_EQ(ret, 0); + ret = OH_PhotoOutput_Release(photoOutput); + EXPECT_EQ(ret, 0); + ret = OH_PreviewOutput_Release(previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Release(captureSession); + EXPECT_EQ(ret, 0); +} +/* + * Feature: Ndk + * Function: Test session with preview + video + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test session with preview + video + */ +HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_033, TestSize.Level0) +{ + Camera_Input *cameraInput = nullptr; + Camera_ErrorCode ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(&cameraInput, nullptr); + ret = OH_CameraInput_Open(cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + Camera_CaptureSession* captureSession = nullptr; + ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(captureSession, nullptr); + Camera_VideoOutput* videoOutput = CreateVideoOutput(); + EXPECT_NE(videoOutput, nullptr); + Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); + EXPECT_NE(previewOutput, nullptr); + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddVideoOutput(captureSession, videoOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_PreviewOutput_Start(previewOutput); + EXPECT_EQ(ret, 0); + sleep(WAIT_TIME_AFTER_START); + ret = OH_VideoOutput_Start(videoOutput); + EXPECT_EQ(ret, 0); + sleep(WAIT_TIME_AFTER_START); + ret = OH_VideoOutput_Stop(videoOutput); + EXPECT_EQ(ret, 0); + ret = OH_PreviewOutput_Stop(previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_VideoOutput_Release(videoOutput); + EXPECT_EQ(ret, 0); + ret = OH_PreviewOutput_Release(previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_CameraInput_Release(cameraInput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Release(captureSession); + EXPECT_EQ(ret, 0); +} +/* + * Feature: Ndk + * Function: Test capture session remove input with null + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test capture session remove input with null + */ +HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_036, TestSize.Level0) +{ + Camera_ErrorCode ret =CAMERA_OK; + Camera_Input *cameraInput = nullptr; + ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(&cameraInput, nullptr); + ret = OH_CameraInput_Open(cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + Camera_CaptureSession* captureSession = nullptr; + ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(captureSession, nullptr); + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); + EXPECT_NE(previewOutput, nullptr); + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); + EXPECT_EQ(ret, 0); + OH_CaptureSession_CommitConfig(captureSession); + OH_CaptureSession_Start(captureSession); + Camera_Input *cameraInputNull=nullptr; + ret = OH_CaptureSession_RemoveInput(captureSession,cameraInputNull); + EXPECT_NE(ret, 0); + ret =OH_CaptureSession_Stop(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_PreviewOutput_Release(previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Release(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CameraInput_Release(cameraInput); + EXPECT_EQ(ret, 0); +} + +/* + * Feature: Ndk + * Function: Test capture session remove input + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test capture session remove input + */ +HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_037, TestSize.Level0) +{ + Camera_ErrorCode ret =CAMERA_OK; + Camera_Input *cameraInput = nullptr; + ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CameraInput_Open(cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + Camera_CaptureSession* captureSession = nullptr; + ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(captureSession, nullptr); + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); + EXPECT_NE(previewOutput, nullptr); + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); + EXPECT_EQ(ret, 0); + ret =OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_RemoveInput(captureSession,cameraInput); + EXPECT_EQ(ret, 0); + ret =OH_PreviewOutput_Release(previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Release(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CameraInput_Release(cameraInput); + EXPECT_EQ(ret, 0); +} + +/* + * Feature: Ndk + * Function: Test photo capture with photo settings + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test photo capture with photo settings + */ +HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_038, TestSize.Level0) +{ + Camera_ErrorCode ret =CAMERA_OK; + Camera_PhotoOutput* PhotoOutput = CreatePhotoOutput(); + EXPECT_NE(PhotoOutput, nullptr); + Camera_CaptureSession* captureSession = nullptr; + ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(captureSession, nullptr); + Camera_Input *cameraInput = nullptr; + ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CameraInput_Open(cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddPhotoOutput(captureSession, PhotoOutput); + EXPECT_EQ(ret, 0); + ret =OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); + Camera_PhotoCaptureSetting capSettings; + capSettings.quality=QUALITY_LEVEL_MEDIUM; + capSettings.rotation=IAMGE_ROTATION_90; + ret =OH_PhotoOutput_Capture_WithCaptureSetting(PhotoOutput,capSettings); + EXPECT_EQ(ret, 0); + OH_CaptureSession_RemovePhotoOutput(captureSession,PhotoOutput); + ret = OH_PhotoOutput_Release(PhotoOutput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CameraInput_Release(cameraInput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Release(captureSession); + EXPECT_EQ(ret, 0); +} +/* + * Feature: Ndk + * Function: Test SetMeteringPoint & GetMeteringPoint + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test SetMeteringPoint & GetMeteringPoint + */ +HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_041, TestSize.Level0) +{ + Camera_ErrorCode ret =CAMERA_OK; + Camera_Input *cameraInput = nullptr; + ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CameraInput_Open(cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + Camera_CaptureSession* captureSession = nullptr; + ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(captureSession, nullptr); + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); + EXPECT_NE(previewOutput, nullptr); + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); + EXPECT_EQ(ret, 0); + Camera_PhotoOutput* PhotoOutput = CreatePhotoOutput(); + EXPECT_NE(PhotoOutput, nullptr); + ret = OH_CaptureSession_AddPhotoOutput(captureSession, PhotoOutput); + EXPECT_EQ(ret, 0); + ret =OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); + Camera_Point exposurePointSet = {1.0, 2.0}; + ret = OH_CaptureSession_SetMeteringPoint(captureSession,exposurePointSet); + EXPECT_EQ(ret, 0); + Camera_Point exposurePointGet= {0, 0};; + ret = OH_CaptureSession_GetMeteringPoint(captureSession , &exposurePointGet); + EXPECT_EQ(ret, 0); + ret = OH_PhotoOutput_Release(PhotoOutput); + EXPECT_EQ(ret, CAMERA_OK); + ret =OH_PreviewOutput_Release(previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Release(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CameraInput_Release(cameraInput); + EXPECT_EQ(ret, 0); +} + +/* + * Feature: Ndk + * Function: Test SetFocusPoint & GetFousPoint + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test SetFocusPoint & GetFousPoint + */ +HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_042, TestSize.Level0) +{ + Camera_ErrorCode ret =CAMERA_OK; + Camera_Input *cameraInput = nullptr; + ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CameraInput_Open(cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + Camera_CaptureSession* captureSession = nullptr; + ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(captureSession, nullptr); + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); + EXPECT_NE(previewOutput, nullptr); + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); + EXPECT_EQ(ret, 0); + Camera_PhotoOutput* PhotoOutput = CreatePhotoOutput(); + EXPECT_NE(PhotoOutput, nullptr); + ret = OH_CaptureSession_AddPhotoOutput(captureSession, PhotoOutput); + EXPECT_EQ(ret, 0); + ret =OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); + Camera_Point FocusPointSet = {1.0, 2.0}; + ret = OH_CaptureSession_SetFocusPoint(captureSession,FocusPointSet); + EXPECT_EQ(ret, 0); + Camera_Point FocusPointGet= {0, 0};; + ret = OH_CaptureSession_GetFocusPoint(captureSession , &FocusPointGet); + EXPECT_EQ(ret, 0); + ret =OH_PhotoOutput_Capture(PhotoOutput); + EXPECT_EQ(ret, 0); + ret = OH_PhotoOutput_Release(PhotoOutput); + EXPECT_EQ(ret, CAMERA_OK); + ret =OH_PreviewOutput_Release(previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Release(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CameraInput_Release(cameraInput); + EXPECT_EQ(ret, 0); +} + + + + +/* + * Feature: Ndk + * Function: Test GetExposureValue and SetExposureBias + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test GetExposureValue and SetExposureBias with value less then the range + */ +HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_043, TestSize.Level0) +{ + Camera_ErrorCode ret =CAMERA_OK; + Camera_Input *cameraInput = nullptr; + ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CameraInput_Open(cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + Camera_CaptureSession* captureSession = nullptr; + ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(captureSession, nullptr); + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); + EXPECT_NE(previewOutput, nullptr); + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); + EXPECT_EQ(ret, 0); + Camera_PhotoOutput* PhotoOutput = CreatePhotoOutput(); + EXPECT_NE(PhotoOutput, nullptr); + ret = OH_CaptureSession_AddPhotoOutput(captureSession, PhotoOutput); + EXPECT_EQ(ret, 0); + ret =OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); + float minExposureBias = 0.0f, maxExposureBias = 0.0f, step = 0.0f; + ret = OH_CaptureSession_GetExposureBiasRange(captureSession, &minExposureBias, &maxExposureBias, &step); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CaptureSession_SetExposureBias(captureSession, minExposureBias-1.0); + EXPECT_EQ(ret, CAMERA_OK); + ret =OH_PhotoOutput_Capture(PhotoOutput); + EXPECT_EQ(ret, 0); + ret = OH_PhotoOutput_Release(PhotoOutput); + EXPECT_EQ(ret, CAMERA_OK); + ret =OH_PreviewOutput_Release(previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Release(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CameraInput_Release(cameraInput); + EXPECT_EQ(ret, 0); +} + +/* + * Feature: Ndk + * Function: Test GetExposureValue and SetExposureBias + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test GetExposureValue and SetExposureBias with value between the range + */ +HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_044, TestSize.Level0) +{ + Camera_ErrorCode ret =CAMERA_OK; + Camera_Input *cameraInput = nullptr; + ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CameraInput_Open(cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + Camera_CaptureSession* captureSession = nullptr; + ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(captureSession, nullptr); + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); + EXPECT_NE(previewOutput, nullptr); + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); + EXPECT_EQ(ret, 0); + Camera_PhotoOutput* PhotoOutput = CreatePhotoOutput(); + EXPECT_NE(PhotoOutput, nullptr); + ret = OH_CaptureSession_AddPhotoOutput(captureSession, PhotoOutput); + EXPECT_EQ(ret, 0); + ret =OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); + float minExposureBias = 0.0f, maxExposureBias = 0.0f, step = 0.0f; + ret = OH_CaptureSession_GetExposureBiasRange(captureSession, &minExposureBias, &maxExposureBias, &step); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CaptureSession_SetExposureBias(captureSession, minExposureBias+1.0); + EXPECT_EQ(ret, CAMERA_OK); + ret =OH_PhotoOutput_Capture(PhotoOutput); + EXPECT_EQ(ret, 0); + ret = OH_PhotoOutput_Release(PhotoOutput); + EXPECT_EQ(ret, CAMERA_OK); + ret =OH_PreviewOutput_Release(previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Release(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CameraInput_Release(cameraInput); + EXPECT_EQ(ret, 0); +} +/* + * Feature: Ndk + * Function: Test GetExposureValue and SetExposureBias + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test GetExposureValue and SetExposureBias with value more then the range + */ +HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_045, TestSize.Level0) +{ + Camera_ErrorCode ret =CAMERA_OK; + Camera_Input *cameraInput = nullptr; + ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CameraInput_Open(cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + Camera_CaptureSession* captureSession = nullptr; + ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(captureSession, nullptr); + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); + EXPECT_NE(previewOutput, nullptr); + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); + EXPECT_EQ(ret, 0); + Camera_PhotoOutput* PhotoOutput = CreatePhotoOutput(); + EXPECT_NE(PhotoOutput, nullptr); + ret = OH_CaptureSession_AddPhotoOutput(captureSession, PhotoOutput); + EXPECT_EQ(ret, 0); + ret =OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); + float minExposureBias = 0.0f, maxExposureBias = 0.0f, step = 0.0f; + ret = OH_CaptureSession_GetExposureBiasRange(captureSession, &minExposureBias, &maxExposureBias, &step); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CaptureSession_SetExposureBias(captureSession, maxExposureBias+1.0); + EXPECT_EQ(ret, CAMERA_OK); + ret =OH_PhotoOutput_Capture(PhotoOutput); + EXPECT_EQ(ret, 0); + ret = OH_PhotoOutput_Release(PhotoOutput); + EXPECT_EQ(ret, CAMERA_OK); + ret =OH_PreviewOutput_Release(previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Release(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CameraInput_Release(cameraInput); + EXPECT_EQ(ret, 0); +} + +/* + * Feature: Ndk + * Function: Test photo capture with location of capture settings + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test photo capture with capture settings + */ +HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_053, TestSize.Level0) +{ + Camera_ErrorCode ret =CAMERA_OK; + Camera_PhotoOutput* PhotoOutput = CreatePhotoOutput(); + EXPECT_NE(PhotoOutput, nullptr); + Camera_CaptureSession* captureSession = nullptr; + ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(captureSession, nullptr); + Camera_Input *cameraInput = nullptr; + ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CameraInput_Open(cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); + EXPECT_NE(previewOutput, nullptr); + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddPhotoOutput(captureSession, PhotoOutput); + EXPECT_EQ(ret, 0); + ret =OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); + Camera_PhotoCaptureSetting capSettings; + capSettings.rotation=IAMGE_ROTATION_90; + Camera_Location location ={ 1.0 , 1.0 , 1.0 }; + capSettings.location=&location; + ret =OH_PhotoOutput_Capture_WithCaptureSetting(PhotoOutput,capSettings); + EXPECT_EQ(ret, 0); + location ={ 0 , 0 , 0 }; + capSettings.location=&location; + ret =OH_PhotoOutput_Capture_WithCaptureSetting(PhotoOutput,capSettings); + EXPECT_EQ(ret, 0); + location ={ -1 , -1 , -1 }; + capSettings.location=&location; + ret =OH_PhotoOutput_Capture_WithCaptureSetting(PhotoOutput,capSettings); + EXPECT_EQ(ret, 0); + ret = OH_PhotoOutput_Release(PhotoOutput); + EXPECT_EQ(ret, 0); + ret =OH_PreviewOutput_Release(previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_CameraInput_Release(cameraInput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Release(captureSession); + EXPECT_EQ(ret, 0); +} + +/* + * Feature: Ndk + * Function: Test photo capture with capture settings + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test photo capture with preview output & capture settings + */ +HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_054, TestSize.Level0) +{ + Camera_ErrorCode ret =CAMERA_OK; + Camera_PhotoOutput* PhotoOutput = CreatePhotoOutput(); + EXPECT_NE(PhotoOutput, nullptr); + Camera_CaptureSession* captureSession = nullptr; + ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(captureSession, nullptr); + Camera_Input *cameraInput = nullptr; + ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CameraInput_Open(cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); + EXPECT_NE(previewOutput, nullptr); + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddPhotoOutput(captureSession, PhotoOutput); + EXPECT_EQ(ret, 0); + ret =OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); + Camera_PhotoCaptureSetting capSettings; + capSettings.quality=QUALITY_LEVEL_MEDIUM; + capSettings.rotation=IAMGE_ROTATION_90; + ret =OH_PhotoOutput_Capture_WithCaptureSetting(PhotoOutput,capSettings); + EXPECT_EQ(ret, 0); + ret = OH_PhotoOutput_Release(PhotoOutput); + EXPECT_EQ(ret, 0); + ret =OH_PreviewOutput_Release(previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_CameraInput_Release(cameraInput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Release(captureSession); + EXPECT_EQ(ret, 0); +} + +/* + * Feature: ndk + * Function: Test capture session with multiple photo outputs + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test capture session with multiple photo outputs + */ +HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_055, TestSize.Level0) +{ + Camera_CaptureSession* captureSession; + Camera_ErrorCode ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(captureSession, nullptr); + Camera_Input *cameraInput; + ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CameraInput_Open(cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); + EXPECT_NE(previewOutput, nullptr); + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); + EXPECT_EQ(ret, 0); + Camera_PhotoOutput *photoOutput1 = CreatePhotoOutput(); + EXPECT_NE(photoOutput1, nullptr); + Camera_PhotoOutput *photoOutput2 = CreatePhotoOutput(); + EXPECT_NE(photoOutput2, nullptr); + ret = OH_CaptureSession_AddPhotoOutput(captureSession, photoOutput1); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddPhotoOutput(captureSession, photoOutput2); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_CommitConfig(captureSession); + EXPECT_NE(ret, 0); + ret = OH_PreviewOutput_Release(previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_CameraInput_Release(cameraInput); + EXPECT_EQ(ret, 0); + ret = OH_PhotoOutput_Release(photoOutput1); + EXPECT_EQ(ret, 0); + ret = OH_PhotoOutput_Release(photoOutput2); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Release(captureSession); + EXPECT_EQ(ret, 0); +} +/* + * Feature: ndk + * Function: Test capture session with multiple video outputs + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: VideoOutput_Start with multiple videoOutput + */ +HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_056, TestSize.Level0) +{ + Camera_CaptureSession* captureSession; + Camera_ErrorCode ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(captureSession, nullptr); + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + Camera_Input *cameraInput; + ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CameraInput_Open(cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); + EXPECT_NE(previewOutput, nullptr); + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); + EXPECT_EQ(ret, 0); + Camera_VideoOutput* videoOutput1 = CreateVideoOutput(); + EXPECT_NE(videoOutput1, nullptr); + Camera_VideoOutput* videoOutput2 = CreateVideoOutput(); + EXPECT_NE(videoOutput2, nullptr); + ret = OH_CaptureSession_AddVideoOutput(captureSession, videoOutput1); + EXPECT_EQ(ret, 0); + ret =OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_PreviewOutput_Start(previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_VideoOutput_Start(videoOutput1); + EXPECT_EQ(ret, 0); + ret = OH_VideoOutput_Stop(videoOutput1); + EXPECT_EQ(ret, 0); + ret = OH_VideoOutput_Release(videoOutput1); + EXPECT_EQ(ret, 0); + ret = OH_VideoOutput_Release(videoOutput2); + EXPECT_EQ(ret, 0); + ret = OH_CameraInput_Release(cameraInput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Release(captureSession); + EXPECT_EQ(ret, 0); +} +/* + * Feature: ndk + * Function: Test capture session with Video Stabilization Mode + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test capture session with Video Stabilization Mode + */ +HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_057, TestSize.Level0) +{ + Camera_CaptureSession* captureSession; + Camera_ErrorCode ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(captureSession, nullptr); + + Camera_Input *cameraInput; + ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CameraInput_Open(cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); + EXPECT_NE(previewOutput, nullptr); + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); + EXPECT_EQ(ret, 0); + Camera_VideoOutput* videoOutput = CreateVideoOutput(); + EXPECT_NE(videoOutput, nullptr); + ret = OH_CaptureSession_AddVideoOutput(captureSession, videoOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_PreviewOutput_Start(previewOutput); + EXPECT_EQ(ret, 0); + bool isSupported=false; + ret = OH_CaptureSession_IsVideoStabilizationModeSupported(captureSession, STABILIZATION_MODE_MIDDLE, &isSupported); + if (isSupported) + { + ret = OH_CaptureSession_SetVideoStabilizationMode(captureSession,STABILIZATION_MODE_MIDDLE); + EXPECT_EQ(ret, 0); + } + ret = OH_VideoOutput_Start(videoOutput); + EXPECT_EQ(ret, 0); + sleep(WAIT_TIME_AFTER_START); + ret = OH_VideoOutput_Stop(videoOutput); + EXPECT_EQ(ret, 0); + ret = OH_VideoOutput_Release(videoOutput); + EXPECT_EQ(ret, 0); + ret = OH_PreviewOutput_Stop(previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_PreviewOutput_Release(previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_CameraInput_Release(cameraInput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Release(captureSession); + EXPECT_EQ(ret, 0); +} +/* + * Feature: ndk + * Function: Test add preview,video and photo output,set location,video start�� do capture + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test add preview ��video and photo output, video start�� do capture + */ +HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_058, TestSize.Level0) +{ + Camera_CaptureSession* captureSession = nullptr; + Camera_ErrorCode ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(captureSession, nullptr); + Camera_Input *cameraInput = nullptr; + ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CameraInput_Open(cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(&cameraInput, nullptr); + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + Camera_VideoOutput* videoOutput = CreateVideoOutput(); + EXPECT_NE(videoOutput, nullptr); + Camera_PhotoOutput *photoOutput = CreatePhotoOutput(); + EXPECT_NE(photoOutput, nullptr); + Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); + EXPECT_NE(previewOutput, nullptr); + ret = OH_CaptureSession_AddPhotoOutput(captureSession, photoOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddVideoOutput(captureSession, videoOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_VideoOutput_Start(videoOutput); + EXPECT_EQ(ret, 0); + Camera_PhotoCaptureSetting capSettings; + capSettings.quality=QUALITY_LEVEL_MEDIUM; + Camera_Location location ={ 1.0 , 1.0 , 1.0 }; + capSettings.location=&location; + ret =OH_PhotoOutput_Capture_WithCaptureSetting(photoOutput,capSettings); + EXPECT_EQ(ret, 0); + ret = OH_VideoOutput_Stop(videoOutput); + EXPECT_EQ(ret, 0); + ret = OH_VideoOutput_Release(videoOutput); + EXPECT_EQ(ret, 0); + ret = OH_PhotoOutput_Release(photoOutput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CameraInput_Release(cameraInput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Release(captureSession); + EXPECT_EQ(ret, 0); +} + +/* + * Feature: ndk + * Function: Test add preview,video and photo output, set mirror,video start�� do capture + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test add preview ��video and photo output, video start�� do capture + */ +HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_059, TestSize.Level0) +{ + Camera_CaptureSession* captureSession = nullptr; + Camera_ErrorCode ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(captureSession, nullptr); + Camera_Input *cameraInput = nullptr; + ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CameraInput_Open(cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(&cameraInput, nullptr); + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + Camera_VideoOutput* videoOutput = CreateVideoOutput(); + EXPECT_NE(videoOutput, nullptr); + Camera_PhotoOutput *photoOutput = CreatePhotoOutput(); + EXPECT_NE(photoOutput, nullptr); + Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); + EXPECT_NE(previewOutput, nullptr); + ret = OH_CaptureSession_AddPhotoOutput(captureSession, photoOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddVideoOutput(captureSession, videoOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_VideoOutput_Start(videoOutput); + EXPECT_EQ(ret, 0); + Camera_PhotoCaptureSetting capSettings; + capSettings.mirror=true; + ret =OH_PhotoOutput_Capture_WithCaptureSetting(photoOutput,capSettings); + EXPECT_EQ(ret, 0); + ret = OH_VideoOutput_Stop(videoOutput); + EXPECT_EQ(ret, 0); + ret = OH_VideoOutput_Release(videoOutput); + EXPECT_EQ(ret, 0); + ret = OH_PhotoOutput_Release(photoOutput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CameraInput_Release(cameraInput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Release(captureSession); + EXPECT_EQ(ret, 0); +} +/* + * Feature: ndk + * Function: Test camera preempted. + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test camera preempted. + * @tc.require: SR000GVTU0 + */ +HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_060, TestSize.Level0) +{ +#ifdef DEBUG_PREEMPTED + Camera_ErrorCode ret =CAMERA_OK; + Camera_CaptureSession* captureSession1 = nullptr; + ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession1); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(captureSession1, nullptr); + Camera_Input *cameraInput1 = nullptr; + ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput1); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CameraInput_Open(cameraInput1); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CaptureSession_BeginConfig(captureSession1); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddInput(captureSession1, cameraInput1); + EXPECT_EQ(ret, 0); + Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); + EXPECT_EQ(previewOutput, nullptr); + ret = OH_CaptureSession_AddPreviewOutput(captureSession1, previewOutput); + EXPECT_EQ(ret, 0); + OH_CaptureSession_CommitConfig(captureSession1); + OH_CaptureSession_Start(captureSession1); + + if(cameraDeviceSize<2) + { + return ; + } + Camera_Input *cameraInput2 = nullptr; + ret = OH_CameraManager_CreateCameraInput(cameraManager, &cameraDevice[1], &cameraInput2); + EXPECT_EQ(ret, CAMERA_OK); + ASSERT_NE(cameraInput2, nullptr); + ret = OH_CameraInput_Open(cameraInput2); + EXPECT_EQ(ret, CAMERA_OK); + Camera_CaptureSession* captureSession2 = nullptr; + ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession2); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_EQ(captureSession2, nullptr); + ret = OH_CaptureSession_BeginConfig(captureSession2); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_AddInput(captureSession2, cameraInput2); + EXPECT_EQ(ret, 0); + Camera_PreviewOutput* previewOutput2 = CreatePreviewOutput(); + EXPECT_EQ(previewOutput, nullptr); + ret = OH_CaptureSession_AddPreviewOutput(captureSession2, previewOutput2); + EXPECT_EQ(ret, 0); + OH_CaptureSession_CommitConfig(captureSession1); + ret =OH_CaptureSession_Stop(captureSession1); + EXPECT_EQ(ret, 0); + ret =OH_CaptureSession_RemovePreviewOutput(captureSession1,previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_RemoveInput(captureSession1,cameraInput1); + EXPECT_NE(ret, 0); + ret = OH_CaptureSession_Release(captureSession1); + EXPECT_EQ(ret, 0); + ret = OH_CameraInput_Release(cameraInput1); + EXPECT_EQ(ret, 0); + ret =OH_CaptureSession_Stop(captureSession2); + EXPECT_EQ(ret, 0); + ret =OH_CaptureSession_RemovePreviewOutput(captureSession2,previewOutput2); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_RemoveInput(captureSession2,cameraInput2); + EXPECT_NE(ret, 0); + ret = OH_CaptureSession_Release(captureSession2); + EXPECT_EQ(ret, 0); + ret = OH_CameraInput_Release(cameraInput2); + EXPECT_EQ(ret, 0); + MEDIA_DEBUG_LOG(" camera_ndk_unittest_060 end "); +#endif +} +/* + * Feature: ndk + * Function: Test open flash preview capture video callback + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test open flash preview capture video callback + */ +HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_061, TestSize.Level0) +{ + Camera_ErrorCode ret =CAMERA_OK; + Camera_CaptureSession* captureSession = nullptr; + ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(captureSession, nullptr); + Camera_Input *cameraInput = nullptr; + ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CameraInput_Open(cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + Camera_FlashMode flash =static_cast(FLASH_MODE_OPEN); + bool isSupported = false; + ret = OH_CaptureSession_IsFlashModeSupported(captureSession, flash, &isSupported); + EXPECT_EQ(ret, 0); + if(isSupported) + { + ret = OH_CaptureSession_SetFlashMode(captureSession, flash); + EXPECT_EQ(ret, 0); + } + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); + EXPECT_NE(previewOutput, nullptr); + PreviewOutput_Callbacks setPreviewResultCallback = { + .onFrameStart = &CameraPreviewOutptOnFrameStartCb, + .onFrameEnd = &CameraPreviewOutptOnFrameEndCb, + .onError = &CameraPreviewOutptOnErrorCb + }; + ret = OH_PreviewOutput_RegisterCallback(previewOutput, &setPreviewResultCallback); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); + EXPECT_EQ(ret, 0); + Camera_PhotoOutput* PhotoOutput = CreatePhotoOutput(); + EXPECT_NE(PhotoOutput, nullptr); + PhotoOutput_Callbacks setPhotoOutputResultCallback = { + .onFrameStart = &CameraPhotoOutptOnFrameStartCb, + .onFrameShutter = &CameraPhotoOutptOnFrameShutterCb, + .onFrameEnd = &CameraPhotoOutptOnFrameEndCb, + .onError = &CameraPhotoOutptOnErrorCb + }; + ret = OH_PhotoOutput_RegisterCallback(PhotoOutput, &setPhotoOutputResultCallback); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CaptureSession_AddPhotoOutput(captureSession, PhotoOutput); + EXPECT_EQ(ret, 0); + Camera_VideoOutput* videoOutput = CreateVideoOutput(); + EXPECT_NE(videoOutput, nullptr); + + VideoOutput_Callbacks setVideoResultCallback = { + .onFrameStart = &CameraVideoOutptOnFrameStartCb, + .onFrameEnd = &CameraVideoOutptOnFrameEndCb, + .onError = &CameraVideoOutptOnErrorCb + }; + ret = OH_VideoOutput_RegisterCallback(videoOutput, &setVideoResultCallback); + EXPECT_EQ(ret, CAMERA_OK); + + ret = OH_CaptureSession_AddVideoOutput(captureSession, videoOutput); + EXPECT_EQ(ret, 0); + ret =OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_PreviewOutput_Start(previewOutput); + EXPECT_EQ(ret, 0); + ret =OH_PhotoOutput_Capture(PhotoOutput); + EXPECT_EQ(ret, 0); + ret = OH_VideoOutput_UnregisterCallback(videoOutput, &setVideoResultCallback); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_VideoOutput_Release(videoOutput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_PhotoOutput_UnregisterCallback(PhotoOutput, &setPhotoOutputResultCallback); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_PhotoOutput_Release(PhotoOutput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_PreviewOutput_UnregisterCallback(previewOutput, &setPreviewResultCallback); + EXPECT_EQ(ret, CAMERA_OK); + ret =OH_PreviewOutput_Release(previewOutput); + EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_Release(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CameraInput_Release(cameraInput); + EXPECT_EQ(ret, 0); +} +/* + * Feature: ndk + * Function: Test close flash preview capture video callback + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test close flash preview capture video callback + */ +HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_062, TestSize.Level0) +{ + Camera_ErrorCode ret =CAMERA_OK; + Camera_CaptureSession* captureSession = nullptr; + ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_NE(captureSession, nullptr); + Camera_Input *cameraInput = nullptr; + ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CameraInput_Open(cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CaptureSession_BeginConfig(captureSession); + EXPECT_EQ(ret, 0); + Camera_FlashMode flash =static_cast(FLASH_MODE_CLOSE); + bool isSupported = false; + ret = OH_CaptureSession_IsFlashModeSupported(captureSession, flash, &isSupported); + EXPECT_EQ(ret, 0); + if(isSupported) + { + ret = OH_CaptureSession_SetFlashMode(captureSession, flash); + EXPECT_EQ(ret, 0); + } + + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); + EXPECT_NE(previewOutput, nullptr); + PreviewOutput_Callbacks setPreviewResultCallback = { + .onFrameStart = &CameraPreviewOutptOnFrameStartCb, + .onFrameEnd = &CameraPreviewOutptOnFrameEndCb, + .onError = &CameraPreviewOutptOnErrorCb + }; + ret = OH_PreviewOutput_RegisterCallback(previewOutput, &setPreviewResultCallback); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); + EXPECT_EQ(ret, 0); + Camera_PhotoOutput* PhotoOutput = CreatePhotoOutput(); + EXPECT_NE(PhotoOutput, nullptr); + PhotoOutput_Callbacks setPhotoOutputResultCallback = { + .onFrameStart = &CameraPhotoOutptOnFrameStartCb, + .onFrameShutter = &CameraPhotoOutptOnFrameShutterCb, + .onFrameEnd = &CameraPhotoOutptOnFrameEndCb, + .onError = &CameraPhotoOutptOnErrorCb + }; + ret = OH_PhotoOutput_RegisterCallback(PhotoOutput, &setPhotoOutputResultCallback); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CaptureSession_AddPhotoOutput(captureSession, PhotoOutput); + EXPECT_EQ(ret, 0); + Camera_VideoOutput* videoOutput = CreateVideoOutput(); + EXPECT_NE(videoOutput, nullptr); + VideoOutput_Callbacks setVideoResultCallback = { + .onFrameStart = &CameraVideoOutptOnFrameStartCb, + .onFrameEnd = &CameraVideoOutptOnFrameEndCb, + .onError = &CameraVideoOutptOnErrorCb + }; + ret = OH_VideoOutput_RegisterCallback(videoOutput, &setVideoResultCallback); + EXPECT_EQ(ret, CAMERA_OK); + + ret = OH_CaptureSession_AddVideoOutput(captureSession, videoOutput); + EXPECT_EQ(ret, 0); + + ret =OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_PreviewOutput_Start(previewOutput); + EXPECT_EQ(ret, 0); + + ret =OH_PhotoOutput_Capture(PhotoOutput); + EXPECT_EQ(ret, 0); + + ret = OH_VideoOutput_UnregisterCallback(videoOutput, &setVideoResultCallback); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_VideoOutput_Release(videoOutput); + EXPECT_EQ(ret, CAMERA_OK); + + ret = OH_PhotoOutput_UnregisterCallback(PhotoOutput, &setPhotoOutputResultCallback); + EXPECT_EQ(ret, CAMERA_OK); + ret = OH_PhotoOutput_Release(PhotoOutput); + EXPECT_EQ(ret, CAMERA_OK); + + ret = OH_PreviewOutput_UnregisterCallback(previewOutput, &setPreviewResultCallback); + EXPECT_EQ(ret, CAMERA_OK); + ret =OH_PreviewOutput_Release(previewOutput); + EXPECT_EQ(ret, 0); + + ret = OH_CaptureSession_Release(captureSession); + EXPECT_EQ(ret, 0); + ret = OH_CameraInput_Release(cameraInput); + EXPECT_EQ(ret, 0); +} + +} // CameraStandard +} // OHOS \ No newline at end of file -- Gitee From a17c80f6d6c89c74b202b87ae3f764d529fd62ed Mon Sep 17 00:00:00 2001 From: lengye Date: Fri, 27 Oct 2023 08:30:04 +0000 Subject: [PATCH 2/8] ndk ut_1027 Signed-off-by: lengye --- .../unittest/src/v1_1/camera_ndk_unittest.cpp | 160 +++++------------- 1 file changed, 41 insertions(+), 119 deletions(-) diff --git a/frameworks/native/camera/test/unittest/src/v1_1/camera_ndk_unittest.cpp b/frameworks/native/camera/test/unittest/src/v1_1/camera_ndk_unittest.cpp index d39589a45..133c057b9 100644 --- a/frameworks/native/camera/test/unittest/src/v1_1/camera_ndk_unittest.cpp +++ b/frameworks/native/camera/test/unittest/src/v1_1/camera_ndk_unittest.cpp @@ -567,11 +567,11 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_008, TestSize.Level0) } /* * Feature: Framework - * Function: Test add preview,video and photo output, video start�� do capture + * Function: Test add preview,video and photo output, video start do capture * SubFunction: NA * FunctionPoints: NA * EnvConditions: NA - * CaseDescription: Test add preview ��video and photo output, video start�� do capture + * CaseDescription: Test add preview video and photo output, video start do capture */ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_009, TestSize.Level0) { @@ -633,11 +633,11 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_009, TestSize.Level0) } /* * Feature: Framework - * Function: Test add preview and video output, commitconfig�� remove video Output, add photo output, take photo + * Function: Test add preview and video output, commitconfig remove video Output, add photo output, take photo * SubFunction: NA * FunctionPoints: NA * EnvConditions: NA - * CaseDescription: Test add preview and video output, commitconfig�� remove video Output, add photo output, take photo + * CaseDescription: Test add preview and video output, commitconfig remove video Output, add photo output, take photo */ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_010, TestSize.Level0) { @@ -695,11 +695,11 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_010, TestSize.Level0) } /* * Feature: Framework - * Function: Test add preview and video output, commitconfig�� remove video Output, do OH_CaptureSession_BeginConfig/OH_CaptureSession_CommitConfig again + * Function: Test add preview and video output, commitconfig remove video Output, do OH_CaptureSession_BeginConfig/OH_CaptureSession_CommitConfig again * SubFunction: NA * FunctionPoints: NA * EnvConditions: NA - * CaseDescription: Test add preview and video output, commitconfig�� remove video Output, do OH_CaptureSession_BeginConfig/OH_CaptureSession_CommitConfig again + * CaseDescription: Test add preview and video output, commitconfig remove video Output, do OH_CaptureSession_BeginConfig/OH_CaptureSession_CommitConfig again */ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_013, TestSize.Level0) { @@ -746,11 +746,11 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_013, TestSize.Level0) /* * Feature: Framework - * Function: Test add preview and photo output, commitconfig�� remove photo Output, do OH_CaptureSession_BeginConfig/OH_CaptureSession_CommitConfig again + * Function: Test add preview and photo output, commitconfig remove photo Output, do OH_CaptureSession_BeginConfig/OH_CaptureSession_CommitConfig again * SubFunction: NA * FunctionPoints: NA * EnvConditions: NA - * CaseDescription: Test add preview and photo output, commitconfig�� remove photo Output, do OH_CaptureSession_BeginConfig/OH_CaptureSession_CommitConfig again + * CaseDescription: Test add preview and photo output, commitconfig remove photo Output, do OH_CaptureSession_BeginConfig/OH_CaptureSession_CommitConfig again */ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_014, TestSize.Level0) { @@ -863,10 +863,8 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_017, TestSize.Level0) EXPECT_EQ(ret, 0); } - - /* - * Feature: Ndk + * Feature: Framework * Function: Test capture session commit config without adding input * SubFunction: NA * FunctionPoints: NA @@ -895,7 +893,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_027, TestSize.Level0) EXPECT_EQ(ret, 0); } /* - * Feature: Ndk + * Feature: Framework * Function: Test capture session commit config without adding output * SubFunction: NA * FunctionPoints: NA @@ -928,7 +926,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_028, TestSize.Level0) EXPECT_EQ(ret, 0); } /* - * Feature: Ndk + * Feature: Framework * Function: Test capture session without begin config * SubFunction: NA * FunctionPoints: NA @@ -998,7 +996,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_029, TestSize.Level0) } /* - * Feature: Ndk + * Feature: Framework * Function: Test capture session start and stop without adding preview output * SubFunction: NA * FunctionPoints: NA @@ -1038,8 +1036,9 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_030, TestSize.Level0) ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); } + /* - * Feature: Ndk + * Feature: Framework * Function: Test session with preview + photo * SubFunction: NA * FunctionPoints: NA @@ -1088,7 +1087,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_031, TestSize.Level0) EXPECT_EQ(ret, 0); } /* - * Feature: Ndk + * Feature: Framework * Function: Test session with preview + video * SubFunction: NA * FunctionPoints: NA @@ -1141,7 +1140,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_033, TestSize.Level0) EXPECT_EQ(ret, 0); } /* - * Feature: Ndk + * Feature: Framework * Function: Test capture session remove input with null * SubFunction: NA * FunctionPoints: NA @@ -1185,7 +1184,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_036, TestSize.Level0) } /* - * Feature: Ndk + * Feature: Framework * Function: Test capture session remove input * SubFunction: NA * FunctionPoints: NA @@ -1227,7 +1226,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_037, TestSize.Level0) } /* - * Feature: Ndk + * Feature: Framework * Function: Test photo capture with photo settings * SubFunction: NA * FunctionPoints: NA @@ -1269,8 +1268,9 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_038, TestSize.Level0) ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); } + /* - * Feature: Ndk + * Feature: Framework * Function: Test SetMeteringPoint & GetMeteringPoint * SubFunction: NA * FunctionPoints: NA @@ -1320,7 +1320,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_041, TestSize.Level0) } /* - * Feature: Ndk + * Feature: Framework * Function: Test SetFocusPoint & GetFousPoint * SubFunction: NA * FunctionPoints: NA @@ -1371,11 +1371,8 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_042, TestSize.Level0) EXPECT_EQ(ret, 0); } - - - /* - * Feature: Ndk + * Feature: Framework * Function: Test GetExposureValue and SetExposureBias * SubFunction: NA * FunctionPoints: NA @@ -1426,7 +1423,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_043, TestSize.Level0) } /* - * Feature: Ndk + * Feature: Framework * Function: Test GetExposureValue and SetExposureBias * SubFunction: NA * FunctionPoints: NA @@ -1476,7 +1473,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_044, TestSize.Level0) EXPECT_EQ(ret, 0); } /* - * Feature: Ndk + * Feature: Framework * Function: Test GetExposureValue and SetExposureBias * SubFunction: NA * FunctionPoints: NA @@ -1527,12 +1524,12 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_045, TestSize.Level0) } /* - * Feature: Ndk - * Function: Test photo capture with location of capture settings + * Feature: Framework + * Function: Test photo capture with location of capture settings * SubFunction: NA * FunctionPoints: NA * EnvConditions: NA - * CaseDescription: Test photo capture with capture settings + * CaseDescription: Test photo capture with capture settings */ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_053, TestSize.Level0) { @@ -1585,7 +1582,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_053, TestSize.Level0) } /* - * Feature: Ndk + * Feature: Framework * Function: Test photo capture with capture settings * SubFunction: NA * FunctionPoints: NA @@ -1634,7 +1631,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_054, TestSize.Level0) } /* - * Feature: ndk + * Feature: Framework * Function: Test capture session with multiple photo outputs * SubFunction: NA * FunctionPoints: NA @@ -1681,8 +1678,9 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_055, TestSize.Level0) ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); } + /* - * Feature: ndk + * Feature: Framework * Function: Test capture session with multiple video outputs * SubFunction: NA * FunctionPoints: NA @@ -1731,8 +1729,9 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_056, TestSize.Level0) ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); } + /* - * Feature: ndk + * Feature: Framework * Function: Test capture session with Video Stabilization Mode * SubFunction: NA * FunctionPoints: NA @@ -1790,13 +1789,14 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_057, TestSize.Level0) ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); } + /* - * Feature: ndk - * Function: Test add preview,video and photo output,set location,video start�� do capture + * Feature: Framework + * Function: Test add preview,video and photo output,set location,video start do capture * SubFunction: NA * FunctionPoints: NA * EnvConditions: NA - * CaseDescription: Test add preview ��video and photo output, video start�� do capture + * CaseDescription: Test add preview video and photo output, video start do capture */ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_058, TestSize.Level0) { @@ -1849,7 +1849,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_058, TestSize.Level0) } /* - * Feature: ndk + * Feature: Framework * Function: Test add preview,video and photo output, set mirror,video start�� do capture * SubFunction: NA * FunctionPoints: NA @@ -1903,87 +1903,9 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_059, TestSize.Level0) ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); } -/* - * Feature: ndk - * Function: Test camera preempted. - * SubFunction: NA - * FunctionPoints: NA - * EnvConditions: NA - * CaseDescription: Test camera preempted. - * @tc.require: SR000GVTU0 - */ -HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_060, TestSize.Level0) -{ -#ifdef DEBUG_PREEMPTED - Camera_ErrorCode ret =CAMERA_OK; - Camera_CaptureSession* captureSession1 = nullptr; - ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession1); - EXPECT_EQ(ret, CAMERA_OK); - EXPECT_NE(captureSession1, nullptr); - Camera_Input *cameraInput1 = nullptr; - ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput1); - EXPECT_EQ(ret, CAMERA_OK); - ret = OH_CameraInput_Open(cameraInput1); - EXPECT_EQ(ret, CAMERA_OK); - ret = OH_CaptureSession_BeginConfig(captureSession1); - EXPECT_EQ(ret, 0); - ret = OH_CaptureSession_AddInput(captureSession1, cameraInput1); - EXPECT_EQ(ret, 0); - Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); - EXPECT_EQ(previewOutput, nullptr); - ret = OH_CaptureSession_AddPreviewOutput(captureSession1, previewOutput); - EXPECT_EQ(ret, 0); - OH_CaptureSession_CommitConfig(captureSession1); - OH_CaptureSession_Start(captureSession1); - if(cameraDeviceSize<2) - { - return ; - } - Camera_Input *cameraInput2 = nullptr; - ret = OH_CameraManager_CreateCameraInput(cameraManager, &cameraDevice[1], &cameraInput2); - EXPECT_EQ(ret, CAMERA_OK); - ASSERT_NE(cameraInput2, nullptr); - ret = OH_CameraInput_Open(cameraInput2); - EXPECT_EQ(ret, CAMERA_OK); - Camera_CaptureSession* captureSession2 = nullptr; - ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession2); - EXPECT_EQ(ret, CAMERA_OK); - EXPECT_EQ(captureSession2, nullptr); - ret = OH_CaptureSession_BeginConfig(captureSession2); - EXPECT_EQ(ret, 0); - ret = OH_CaptureSession_AddInput(captureSession2, cameraInput2); - EXPECT_EQ(ret, 0); - Camera_PreviewOutput* previewOutput2 = CreatePreviewOutput(); - EXPECT_EQ(previewOutput, nullptr); - ret = OH_CaptureSession_AddPreviewOutput(captureSession2, previewOutput2); - EXPECT_EQ(ret, 0); - OH_CaptureSession_CommitConfig(captureSession1); - ret =OH_CaptureSession_Stop(captureSession1); - EXPECT_EQ(ret, 0); - ret =OH_CaptureSession_RemovePreviewOutput(captureSession1,previewOutput); - EXPECT_EQ(ret, 0); - ret = OH_CaptureSession_RemoveInput(captureSession1,cameraInput1); - EXPECT_NE(ret, 0); - ret = OH_CaptureSession_Release(captureSession1); - EXPECT_EQ(ret, 0); - ret = OH_CameraInput_Release(cameraInput1); - EXPECT_EQ(ret, 0); - ret =OH_CaptureSession_Stop(captureSession2); - EXPECT_EQ(ret, 0); - ret =OH_CaptureSession_RemovePreviewOutput(captureSession2,previewOutput2); - EXPECT_EQ(ret, 0); - ret = OH_CaptureSession_RemoveInput(captureSession2,cameraInput2); - EXPECT_NE(ret, 0); - ret = OH_CaptureSession_Release(captureSession2); - EXPECT_EQ(ret, 0); - ret = OH_CameraInput_Release(cameraInput2); - EXPECT_EQ(ret, 0); - MEDIA_DEBUG_LOG(" camera_ndk_unittest_060 end "); -#endif -} /* - * Feature: ndk + * Feature: Framework * Function: Test open flash preview capture video callback * SubFunction: NA * FunctionPoints: NA @@ -2074,8 +1996,9 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_061, TestSize.Level0) ret = OH_CameraInput_Release(cameraInput); EXPECT_EQ(ret, 0); } + /* - * Feature: ndk + * Feature: Framework * Function: Test close flash preview capture video callback * SubFunction: NA * FunctionPoints: NA @@ -2172,6 +2095,5 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_062, TestSize.Level0) ret = OH_CameraInput_Release(cameraInput); EXPECT_EQ(ret, 0); } - } // CameraStandard } // OHOS \ No newline at end of file -- Gitee From 88935dfeffbb7e88fcc86f9042e6a2d40828a771 Mon Sep 17 00:00:00 2001 From: lengye Date: Fri, 27 Oct 2023 08:48:57 +0000 Subject: [PATCH 3/8] ndk ut_1027_2 Signed-off-by: lengye --- .../unittest/include/camera_ndk_unittest.h | 2 +- .../unittest/src/v1_1/camera_ndk_unittest.cpp | 82 +++++++++++-------- 2 files changed, 49 insertions(+), 35 deletions(-) diff --git a/frameworks/native/camera/test/unittest/include/camera_ndk_unittest.h b/frameworks/native/camera/test/unittest/include/camera_ndk_unittest.h index bfa9f3131..2519e4187 100644 --- a/frameworks/native/camera/test/unittest/include/camera_ndk_unittest.h +++ b/frameworks/native/camera/test/unittest/include/camera_ndk_unittest.h @@ -15,12 +15,12 @@ #ifndef CAMERA_NDK_UNITTEST_H #define CAMERA_NDK_UNITTEST_H + #include "gtest/gtest.h" #include "camera/camera_manager.h" #include #include "camera/photo_output.h" - namespace OHOS { namespace CameraStandard { class MockStreamOperator; diff --git a/frameworks/native/camera/test/unittest/src/v1_1/camera_ndk_unittest.cpp b/frameworks/native/camera/test/unittest/src/v1_1/camera_ndk_unittest.cpp index 133c057b9..c53f9950a 100644 --- a/frameworks/native/camera/test/unittest/src/v1_1/camera_ndk_unittest.cpp +++ b/frameworks/native/camera/test/unittest/src/v1_1/camera_ndk_unittest.cpp @@ -48,9 +48,9 @@ Camera_PhotoOutput* CameraNdkUnitTest::CreatePhotoOutput(int32_t width, int32_t string surfaceIdStr = std::to_string(surfaceIdInt); const char *surfaceId = nullptr; surfaceId = surfaceIdStr.c_str(); - SurfaceUtils::GetInstance()->Add(surfaceIdInt,pSurface); + SurfaceUtils::GetInstance()->Add(surfaceIdInt, pSurface); - Camera_PhotoOutput* photoOutput = nullptr; + Camera_PhotoOutput* photoOutput = nullptr; Camera_ErrorCode ret = OH_CameraManager_CreatePhotoOutput(cameraManager, &photoProfile, surfaceId, &photoOutput); EXPECT_EQ(ret, CAMERA_OK); EXPECT_NE(photoOutput, nullptr); @@ -212,10 +212,11 @@ static void CameraPreviewOutptOnFrameStartCb(Camera_PreviewOutput* previewOutput { MEDIA_DEBUG_LOG("fun:%s", __FUNCTION__); } + static void CameraPreviewOutptOnFrameEndCb(Camera_PreviewOutput* previewOutput, int32_t frameCount) - { +{ MEDIA_DEBUG_LOG("fun:%s", __FUNCTION__); - } +} static void CameraPreviewOutptOnErrorCb(Camera_PreviewOutput* previewOutput, Camera_ErrorCode errorCode) { @@ -228,9 +229,9 @@ static void CameraPhotoOutptOnFrameStartCb(Camera_PhotoOutput* photoOutput/*, in } static void CameraPhotoOutptOnFrameShutterCb(Camera_PhotoOutput* photoOutput, Camera_FrameShutterInfo* info) - { +{ MEDIA_DEBUG_LOG("fun:%s", __FUNCTION__); - } +} static void CameraPhotoOutptOnFrameEndCb(Camera_PhotoOutput* photoOutput, int32_t timestamp) { @@ -238,23 +239,25 @@ static void CameraPhotoOutptOnFrameEndCb(Camera_PhotoOutput* photoOutput, int32_ } static void CameraPhotoOutptOnErrorCb(Camera_PhotoOutput* photoOutput, Camera_ErrorCode errorCode) - { +{ MEDIA_DEBUG_LOG("fun:%s", __FUNCTION__); - } +} -static void CameraVideoOutptOnFrameStartCb(Camera_VideoOutput* videoOutput) +static void CameraVideoOutptOnFrameStartCb(Camera_VideoOutput* videoOutput) { MEDIA_DEBUG_LOG("fun:%s", __FUNCTION__); } -static void CameraVideoOutptOnFrameEndCb(Camera_VideoOutput* videoOutput, int32_t frameCount) +static void CameraVideoOutptOnFrameEndCb(Camera_VideoOutput* videoOutput, int32_t frameCount) { MEDIA_DEBUG_LOG("fun:%s", __FUNCTION__); } + static void CameraVideoOutptOnErrorCb(Camera_VideoOutput* videoOutput, Camera_ErrorCode errorCode) - { +{ MEDIA_DEBUG_LOG("fun:%s", __FUNCTION__); - } +} + /* * Feature: Framework * Function: Test Capture @@ -294,6 +297,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_001, TestSize.Level0) ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); } + /* * Feature: Framework * Function: Test capture session with commit config multiple times @@ -334,6 +338,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_002, TestSize.Level0) ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); } + /* * Feature: Ndk * Function: Test create preview output @@ -374,7 +379,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_004, TestSize.Level0) string surfaceIdStr = std::to_string(surfaceIdInt); const char *surfaceId = nullptr; surfaceId = surfaceIdStr.c_str(); - SurfaceUtils::GetInstance()->Add(surfaceIdInt,pSurface); + SurfaceUtils::GetInstance()->Add(surfaceIdInt, pSurface); Camera_PreviewOutput* previewOutput = nullptr; ret = OH_CameraManager_CreatePreviewOutput(cameraManager, &previewProfile, surfaceId, &previewOutput); EXPECT_EQ(ret, CAMERA_OK); @@ -406,6 +411,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_004, TestSize.Level0) ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); } + /* * Feature: Framework * Function: Test capture session start and stop preview multiple times @@ -458,6 +464,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_006, TestSize.Level0) ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); } + /* * Feature: Framework * Function: Test capture session start and stop video multiple times @@ -565,6 +572,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_008, TestSize.Level0) ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); } + /* * Feature: Framework * Function: Test add preview,video and photo output, video start do capture @@ -631,6 +639,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_009, TestSize.Level0) ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); } + /* * Feature: Framework * Function: Test add preview and video output, commitconfig remove video Output, add photo output, take photo @@ -693,6 +702,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_010, TestSize.Level0) ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); } + /* * Feature: Framework * Function: Test add preview and video output, commitconfig remove video Output, do OH_CaptureSession_BeginConfig/OH_CaptureSession_CommitConfig again @@ -743,7 +753,6 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_013, TestSize.Level0) EXPECT_EQ(ret, 0); } - /* * Feature: Framework * Function: Test add preview and photo output, commitconfig remove photo Output, do OH_CaptureSession_BeginConfig/OH_CaptureSession_CommitConfig again @@ -892,6 +901,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_027, TestSize.Level0) ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); } + /* * Feature: Framework * Function: Test capture session commit config without adding output @@ -925,6 +935,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_028, TestSize.Level0) ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); } + /* * Feature: Framework * Function: Test capture session without begin config @@ -1086,6 +1097,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_031, TestSize.Level0) ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); } + /* * Feature: Framework * Function: Test session with preview + video @@ -1139,6 +1151,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_033, TestSize.Level0) ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); } + /* * Feature: Framework * Function: Test capture session remove input with null @@ -1258,13 +1271,13 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_038, TestSize.Level0) Camera_PhotoCaptureSetting capSettings; capSettings.quality=QUALITY_LEVEL_MEDIUM; capSettings.rotation=IAMGE_ROTATION_90; - ret =OH_PhotoOutput_Capture_WithCaptureSetting(PhotoOutput,capSettings); + ret =OH_PhotoOutput_Capture_WithCaptureSetting(PhotoOutput, capSettings); EXPECT_EQ(ret, 0); - OH_CaptureSession_RemovePhotoOutput(captureSession,PhotoOutput); + OH_CaptureSession_RemovePhotoOutput(captureSession, PhotoOutput); ret = OH_PhotoOutput_Release(PhotoOutput); EXPECT_EQ(ret, CAMERA_OK); ret = OH_CameraInput_Release(cameraInput); - EXPECT_EQ(ret, 0); + EXPECT_EQ(ret, 0); ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); } @@ -1399,7 +1412,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_043, TestSize.Level0) EXPECT_NE(previewOutput, nullptr); ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); EXPECT_EQ(ret, 0); - Camera_PhotoOutput* PhotoOutput = CreatePhotoOutput(); + Camera_PhotoOutput* PhotoOutput = CreatePhotoOutput(); EXPECT_NE(PhotoOutput, nullptr); ret = OH_CaptureSession_AddPhotoOutput(captureSession, PhotoOutput); EXPECT_EQ(ret, 0); @@ -1450,12 +1463,12 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_044, TestSize.Level0) EXPECT_NE(previewOutput, nullptr); ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); EXPECT_EQ(ret, 0); - Camera_PhotoOutput* PhotoOutput = CreatePhotoOutput(); + Camera_PhotoOutput* PhotoOutput = CreatePhotoOutput(); EXPECT_NE(PhotoOutput, nullptr); ret = OH_CaptureSession_AddPhotoOutput(captureSession, PhotoOutput); EXPECT_EQ(ret, 0); ret =OH_CaptureSession_CommitConfig(captureSession); - EXPECT_EQ(ret, 0); + EXPECT_EQ(ret, 0); float minExposureBias = 0.0f, maxExposureBias = 0.0f, step = 0.0f; ret = OH_CaptureSession_GetExposureBiasRange(captureSession, &minExposureBias, &maxExposureBias, &step); EXPECT_EQ(ret, CAMERA_OK); @@ -1472,6 +1485,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_044, TestSize.Level0) ret = OH_CameraInput_Release(cameraInput); EXPECT_EQ(ret, 0); } + /* * Feature: Framework * Function: Test GetExposureValue and SetExposureBias @@ -1500,12 +1514,12 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_045, TestSize.Level0) EXPECT_NE(previewOutput, nullptr); ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); EXPECT_EQ(ret, 0); - Camera_PhotoOutput* PhotoOutput = CreatePhotoOutput(); + Camera_PhotoOutput* PhotoOutput = CreatePhotoOutput(); EXPECT_NE(PhotoOutput, nullptr); ret = OH_CaptureSession_AddPhotoOutput(captureSession, PhotoOutput); EXPECT_EQ(ret, 0); ret =OH_CaptureSession_CommitConfig(captureSession); - EXPECT_EQ(ret, 0); + EXPECT_EQ(ret, 0); float minExposureBias = 0.0f, maxExposureBias = 0.0f, step = 0.0f; ret = OH_CaptureSession_GetExposureBiasRange(captureSession, &minExposureBias, &maxExposureBias, &step); EXPECT_EQ(ret, CAMERA_OK); @@ -1770,8 +1784,8 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_057, TestSize.Level0) ret = OH_CaptureSession_IsVideoStabilizationModeSupported(captureSession, STABILIZATION_MODE_MIDDLE, &isSupported); if (isSupported) { - ret = OH_CaptureSession_SetVideoStabilizationMode(captureSession,STABILIZATION_MODE_MIDDLE); - EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_SetVideoStabilizationMode(captureSession, STABILIZATION_MODE_MIDDLE); + EXPECT_EQ(ret, 0); } ret = OH_VideoOutput_Start(videoOutput); EXPECT_EQ(ret, 0); @@ -1826,15 +1840,15 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_058, TestSize.Level0) EXPECT_EQ(ret, 0); ret = OH_CaptureSession_AddVideoOutput(captureSession, videoOutput); EXPECT_EQ(ret, 0); - ret = OH_CaptureSession_CommitConfig(captureSession); - EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); ret = OH_VideoOutput_Start(videoOutput); EXPECT_EQ(ret, 0); Camera_PhotoCaptureSetting capSettings; capSettings.quality=QUALITY_LEVEL_MEDIUM; Camera_Location location ={ 1.0 , 1.0 , 1.0 }; capSettings.location=&location; - ret =OH_PhotoOutput_Capture_WithCaptureSetting(photoOutput,capSettings); + ret =OH_PhotoOutput_Capture_WithCaptureSetting(photoOutput, capSettings); EXPECT_EQ(ret, 0); ret = OH_VideoOutput_Stop(videoOutput); EXPECT_EQ(ret, 0); @@ -1884,8 +1898,8 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_059, TestSize.Level0) EXPECT_EQ(ret, 0); ret = OH_CaptureSession_AddVideoOutput(captureSession, videoOutput); EXPECT_EQ(ret, 0); - ret = OH_CaptureSession_CommitConfig(captureSession); - EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); ret = OH_VideoOutput_Start(videoOutput); EXPECT_EQ(ret, 0); Camera_PhotoCaptureSetting capSettings; @@ -1932,8 +1946,8 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_061, TestSize.Level0) EXPECT_EQ(ret, 0); if(isSupported) { - ret = OH_CaptureSession_SetFlashMode(captureSession, flash); - EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_SetFlashMode(captureSession, flash); + EXPECT_EQ(ret, 0); } ret = OH_CaptureSession_AddInput(captureSession, cameraInput); EXPECT_EQ(ret, 0); @@ -2025,8 +2039,8 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_062, TestSize.Level0) EXPECT_EQ(ret, 0); if(isSupported) { - ret = OH_CaptureSession_SetFlashMode(captureSession, flash); - EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_SetFlashMode(captureSession, flash); + EXPECT_EQ(ret, 0); } ret = OH_CaptureSession_AddInput(captureSession, cameraInput); @@ -2093,7 +2107,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_062, TestSize.Level0) ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); ret = OH_CameraInput_Release(cameraInput); - EXPECT_EQ(ret, 0); + EXPECT_EQ(ret, 0); } } // CameraStandard } // OHOS \ No newline at end of file -- Gitee From ea4720bed7400f6d93292e2277a89b845149b4a9 Mon Sep 17 00:00:00 2001 From: lengye Date: Fri, 27 Oct 2023 09:35:07 +0000 Subject: [PATCH 4/8] ndk ut_1027_3 Signed-off-by: lengye --- .../unittest/include/camera_ndk_unittest.h | 2 +- .../unittest/src/v1_1/camera_ndk_unittest.cpp | 272 +++++++++--------- 2 files changed, 136 insertions(+), 138 deletions(-) diff --git a/frameworks/native/camera/test/unittest/include/camera_ndk_unittest.h b/frameworks/native/camera/test/unittest/include/camera_ndk_unittest.h index 2519e4187..6564cc3b2 100644 --- a/frameworks/native/camera/test/unittest/include/camera_ndk_unittest.h +++ b/frameworks/native/camera/test/unittest/include/camera_ndk_unittest.h @@ -33,7 +33,7 @@ public: static const int32_t PREVIEW_DEFAULT_WIDTH = 640; static const int32_t PREVIEW_DEFAULT_HEIGHT = 480; static const int32_t VIDEO_DEFAULT_WIDTH = 640; - static const int32_t VIDEO_DEFAULT_HEIGHT =480; + static const int32_t VIDEO_DEFAULT_HEIGHT = 480; static const int32_t WAIT_TIME_AFTER_CAPTURE = 1; static const int32_t WAIT_TIME_AFTER_START = 2; diff --git a/frameworks/native/camera/test/unittest/src/v1_1/camera_ndk_unittest.cpp b/frameworks/native/camera/test/unittest/src/v1_1/camera_ndk_unittest.cpp index c53f9950a..07d233f62 100644 --- a/frameworks/native/camera/test/unittest/src/v1_1/camera_ndk_unittest.cpp +++ b/frameworks/native/camera/test/unittest/src/v1_1/camera_ndk_unittest.cpp @@ -29,7 +29,6 @@ using namespace testing::ext; namespace OHOS { namespace CameraStandard { - Camera_PhotoOutput* CameraNdkUnitTest::CreatePhotoOutput(int32_t width, int32_t height) { Camera_Size photoSize = { @@ -51,7 +50,8 @@ Camera_PhotoOutput* CameraNdkUnitTest::CreatePhotoOutput(int32_t width, int32_t SurfaceUtils::GetInstance()->Add(surfaceIdInt, pSurface); Camera_PhotoOutput* photoOutput = nullptr; - Camera_ErrorCode ret = OH_CameraManager_CreatePhotoOutput(cameraManager, &photoProfile, surfaceId, &photoOutput); + Camera_ErrorCode ret = OH_CameraManager_CreatePhotoOutput(cameraManager, + &photoProfile, surfaceId, &photoOutput); EXPECT_EQ(ret, CAMERA_OK); EXPECT_NE(photoOutput, nullptr); return photoOutput; @@ -63,7 +63,7 @@ Camera_PreviewOutput* CameraNdkUnitTest::CreatePreviewOutput(int32_t width, int3 .width = width, .height = height }; - Camera_Format format = (Camera_Format)CAMERA_FORMAT_RGBA_8888;//CAMERA_FORMAT_YUV_420_SP; + Camera_Format format = (Camera_Format)CAMERA_FORMAT_RGBA_8888; Camera_Profile previewProfile = { .format = format, .size = previewSize @@ -75,10 +75,11 @@ Camera_PreviewOutput* CameraNdkUnitTest::CreatePreviewOutput(int32_t width, int3 string surfaceIdStr = std::to_string(surfaceIdInt); const char *surfaceId = nullptr; surfaceId = surfaceIdStr.c_str(); - SurfaceUtils::GetInstance()->Add(surfaceIdInt,pSurface); + SurfaceUtils::GetInstance()->Add(surfaceIdInt, pSurface); EXPECT_NE(surfaceId, nullptr); Camera_PreviewOutput* previewOutput = nullptr; - Camera_ErrorCode ret = OH_CameraManager_CreatePreviewOutput(cameraManager, &previewProfile, surfaceId, &previewOutput); + Camera_ErrorCode ret = OH_CameraManager_CreatePreviewOutput(cameraManager, + &previewProfile, surfaceId, &previewOutput); EXPECT_EQ(ret, CAMERA_OK); EXPECT_NE(previewOutput, nullptr); return previewOutput; @@ -92,8 +93,8 @@ Camera_VideoOutput* CameraNdkUnitTest::CreateVideoOutput(int32_t width, int32_t }; Camera_Format format = (Camera_Format)CAMERA_FORMAT_RGBA_8888; Camera_FrameRateRange videoRange = { - .min = 30, - .max = 30 + .min = 30, + .max = 30 }; Camera_VideoProfile videoProfile = { .format = format, @@ -109,7 +110,8 @@ Camera_VideoOutput* CameraNdkUnitTest::CreateVideoOutput(int32_t width, int32_t surfaceId = surfaceIdStr.c_str(); SurfaceUtils::GetInstance()->Add(surfaceIdInt, pSurface); Camera_VideoOutput* videoOutput = nullptr; - Camera_ErrorCode ret = OH_CameraManager_CreateVideoOutput(cameraManager, &videoProfile, surfaceId, &videoOutput); + Camera_ErrorCode ret = OH_CameraManager_CreateVideoOutput(cameraManager, + &videoProfile, surfaceId, &videoOutput); EXPECT_EQ(ret, CAMERA_OK); EXPECT_NE(videoOutput, nullptr); return videoOutput; @@ -130,6 +132,7 @@ void CameraNdkUnitTest::SessionControlParams(Camera_CaptureSession *captureSessi EXPECT_EQ(ret, CAMERA_OK); ASSERT_NE(minZoom, 0.0f); ASSERT_NE(maxZoom, 0.0f); + ret = OH_CaptureSession_SetZoomRatio(captureSession, minZoom); EXPECT_EQ(ret, CAMERA_OK); float minExposureBias = 0.0f, maxExposureBias = 0.0f, step = 0.0f; @@ -138,6 +141,7 @@ void CameraNdkUnitTest::SessionControlParams(Camera_CaptureSession *captureSessi ASSERT_NE(minExposureBias, 0.0f); ASSERT_NE(maxExposureBias, 0.0f); ASSERT_NE(step, 0.0f); + ret = OH_CaptureSession_SetExposureBias(captureSession, minExposureBias); EXPECT_EQ(ret, CAMERA_OK); Camera_FlashMode flash = (Camera_FlashMode)FLASH_MODE_ALWAYS_OPEN; @@ -197,10 +201,9 @@ void CameraNdkUnitTest::SetUp() SetSelfTokenID(tokenId); OHOS::Security::AccessToken::AccessTokenKit::ReloadNativeTokenInfo(); - Camera_ErrorCode ret ; - ret=OH_Camera_GetCameraMananger(&cameraManager); + Camera_ErrorCode ret = OH_Camera_GetCameraMananger(&cameraManager); EXPECT_EQ(ret, 0); - ret=OH_CameraManager_GetSupportedCameras(cameraManager, &cameraDevice, &cameraDeviceSize); + ret = OH_CameraManager_GetSupportedCameras(cameraManager, &cameraDevice, &cameraDeviceSize); EXPECT_EQ(ret, 0); } @@ -218,12 +221,12 @@ static void CameraPreviewOutptOnFrameEndCb(Camera_PreviewOutput* previewOutput, MEDIA_DEBUG_LOG("fun:%s", __FUNCTION__); } -static void CameraPreviewOutptOnErrorCb(Camera_PreviewOutput* previewOutput, Camera_ErrorCode errorCode) +static void CameraPreviewOutptOnErrorCb(Camera_PreviewOutput* previewOutput, Camera_ErrorCode errorCode) { - MEDIA_DEBUG_LOG("fun:%s", __FUNCTION__); + MEDIA_DEBUG_LOG("fun:%s", __FUNCTION__); } -static void CameraPhotoOutptOnFrameStartCb(Camera_PhotoOutput* photoOutput/*, int64_t timestamp*/) +static void CameraPhotoOutptOnFrameStartCb(Camera_PhotoOutput* photoOutput /*, int64_t timestamp*/) { MEDIA_DEBUG_LOG("fun:%s", __FUNCTION__); } @@ -233,7 +236,7 @@ static void CameraPhotoOutptOnFrameShutterCb(Camera_PhotoOutput* photoOutput, Ca MEDIA_DEBUG_LOG("fun:%s", __FUNCTION__); } -static void CameraPhotoOutptOnFrameEndCb(Camera_PhotoOutput* photoOutput, int32_t timestamp) +static void CameraPhotoOutptOnFrameEndCb(Camera_PhotoOutput* photoOutput, int32_t timestamp) { MEDIA_DEBUG_LOG("fun:%s", __FUNCTION__); } @@ -355,7 +358,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_004, TestSize.Level0) EXPECT_EQ(ret, CAMERA_OK); EXPECT_NE(captureSession, nullptr); Camera_OutputCapability *OutputCapability = nullptr; - ret = OH_CameraManager_GetSupportedCameraOutputCapability(cameraManager,cameraDevice,&OutputCapability); + ret = OH_CameraManager_GetSupportedCameraOutputCapability(cameraManager, cameraDevice, &OutputCapability); EXPECT_EQ(ret, CAMERA_OK); ret = OH_CaptureSession_BeginConfig(captureSession); EXPECT_EQ(ret, 0); @@ -366,7 +369,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_004, TestSize.Level0) .width = width, .height = height }; - Camera_Format format = (Camera_Format)CAMERA_FORMAT_RGBA_8888;//CAMERA_FORMAT_YUV_420_SP; + Camera_Format format = (Camera_Format)CAMERA_FORMAT_RGBA_8888; Camera_Profile previewProfile = { .format =format, .size = previewSize @@ -381,7 +384,8 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_004, TestSize.Level0) surfaceId = surfaceIdStr.c_str(); SurfaceUtils::GetInstance()->Add(surfaceIdInt, pSurface); Camera_PreviewOutput* previewOutput = nullptr; - ret = OH_CameraManager_CreatePreviewOutput(cameraManager, &previewProfile, surfaceId, &previewOutput); + ret = OH_CameraManager_CreatePreviewOutput(cameraManager, + &previewProfile, surfaceId, &previewOutput); EXPECT_EQ(ret, CAMERA_OK); EXPECT_NE(previewOutput, nullptr); ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); @@ -392,24 +396,15 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_004, TestSize.Level0) EXPECT_EQ(ret, CAMERA_OK); EXPECT_NE(&cameraInput, nullptr); - ret = OH_CameraInput_Open(cameraInput); - EXPECT_EQ(ret, CAMERA_OK); + EXPECT_EQ(OH_CameraInput_Open(cameraInput), CAMERA_OK); + EXPECT_EQ(OH_CaptureSession_AddInput(captureSession, cameraInput), 0); + EXPECT_EQ(OH_CaptureSession_CommitConfig(captureSession), 0); - ret = OH_CaptureSession_AddInput(captureSession, cameraInput); - EXPECT_EQ(ret, 0); - ret = OH_CaptureSession_CommitConfig(captureSession); - EXPECT_EQ(ret, 0); - - ret = OH_PreviewOutput_Start(previewOutput); - EXPECT_EQ(ret, 0); - ret = OH_PreviewOutput_Stop(previewOutput); - EXPECT_EQ(ret, 0); - ret = OH_PreviewOutput_Release(previewOutput); - EXPECT_EQ(ret, CAMERA_OK); - ret = OH_CameraInput_Release(cameraInput); - EXPECT_EQ(ret, 0); - ret = OH_CaptureSession_Release(captureSession); - EXPECT_EQ(ret, 0); + EXPECT_EQ(OH_PreviewOutput_Start(previewOutput), 0); + EXPECT_EQ(OH_PreviewOutput_Stop(previewOutput), 0); + EXPECT_EQ(OH_PreviewOutput_Release(previewOutput), CAMERA_OK); + EXPECT_EQ(OH_CameraInput_Release(cameraInput), 0); + EXPECT_EQ(OH_CaptureSession_Release(captureSession), 0); } /* @@ -619,8 +614,8 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_009, TestSize.Level0) ret = OH_CaptureSession_AddVideoOutput(captureSession, videoOutput); EXPECT_EQ(ret, 0); - ret = OH_CaptureSession_CommitConfig(captureSession); - EXPECT_EQ(ret, 0); + ret = OH_CaptureSession_CommitConfig(captureSession); + EXPECT_EQ(ret, 0); ret = OH_VideoOutput_Start(videoOutput); EXPECT_EQ(ret, 0); @@ -705,11 +700,11 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_010, TestSize.Level0) /* * Feature: Framework - * Function: Test add preview and video output, commitconfig remove video Output, do OH_CaptureSession_BeginConfig/OH_CaptureSession_CommitConfig again + * Function: Test add preview and video output, commitconfig remove video Output * SubFunction: NA * FunctionPoints: NA * EnvConditions: NA - * CaseDescription: Test add preview and video output, commitconfig remove video Output, do OH_CaptureSession_BeginConfig/OH_CaptureSession_CommitConfig again + * CaseDescription: Test do OH_CaptureSession_BeginConfig/OH_CaptureSession_CommitConfig again */ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_013, TestSize.Level0) { @@ -755,11 +750,11 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_013, TestSize.Level0) /* * Feature: Framework - * Function: Test add preview and photo output, commitconfig remove photo Output, do OH_CaptureSession_BeginConfig/OH_CaptureSession_CommitConfig again + * Function: Test add preview and photo output, commitconfig remove photo Output * SubFunction: NA * FunctionPoints: NA * EnvConditions: NA - * CaseDescription: Test add preview and photo output, commitconfig remove photo Output, do OH_CaptureSession_BeginConfig/OH_CaptureSession_CommitConfig again + * CaseDescription: Test do OH_CaptureSession_BeginConfig/OH_CaptureSession_CommitConfig again */ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_014, TestSize.Level0) { @@ -1184,7 +1179,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_036, TestSize.Level0) OH_CaptureSession_CommitConfig(captureSession); OH_CaptureSession_Start(captureSession); Camera_Input *cameraInputNull=nullptr; - ret = OH_CaptureSession_RemoveInput(captureSession,cameraInputNull); + ret = OH_CaptureSession_RemoveInput(captureSession, cameraInputNull); EXPECT_NE(ret, 0); ret =OH_CaptureSession_Stop(captureSession); EXPECT_EQ(ret, 0); @@ -1228,7 +1223,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_037, TestSize.Level0) EXPECT_EQ(ret, 0); ret = OH_CaptureSession_BeginConfig(captureSession); EXPECT_EQ(ret, 0); - ret = OH_CaptureSession_RemoveInput(captureSession,cameraInput); + ret = OH_CaptureSession_RemoveInput(captureSession, cameraInput); EXPECT_EQ(ret, 0); ret =OH_PreviewOutput_Release(previewOutput); EXPECT_EQ(ret, 0); @@ -1308,19 +1303,20 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_041, TestSize.Level0) EXPECT_EQ(ret, 0); Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); EXPECT_NE(previewOutput, nullptr); + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); EXPECT_EQ(ret, 0); - Camera_PhotoOutput* PhotoOutput = CreatePhotoOutput(); + Camera_PhotoOutput* PhotoOutput = CreatePhotoOutput(); EXPECT_NE(PhotoOutput, nullptr); ret = OH_CaptureSession_AddPhotoOutput(captureSession, PhotoOutput); EXPECT_EQ(ret, 0); ret =OH_CaptureSession_CommitConfig(captureSession); EXPECT_EQ(ret, 0); Camera_Point exposurePointSet = {1.0, 2.0}; - ret = OH_CaptureSession_SetMeteringPoint(captureSession,exposurePointSet); + ret = OH_CaptureSession_SetMeteringPoint(captureSession, exposurePointSet); EXPECT_EQ(ret, 0); Camera_Point exposurePointGet= {0, 0};; - ret = OH_CaptureSession_GetMeteringPoint(captureSession , &exposurePointGet); + ret = OH_CaptureSession_GetMeteringPoint(captureSession, &exposurePointGet); EXPECT_EQ(ret, 0); ret = OH_PhotoOutput_Release(PhotoOutput); EXPECT_EQ(ret, CAMERA_OK); @@ -1360,17 +1356,17 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_042, TestSize.Level0) EXPECT_NE(previewOutput, nullptr); ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); EXPECT_EQ(ret, 0); - Camera_PhotoOutput* PhotoOutput = CreatePhotoOutput(); + Camera_PhotoOutput* PhotoOutput = CreatePhotoOutput(); EXPECT_NE(PhotoOutput, nullptr); ret = OH_CaptureSession_AddPhotoOutput(captureSession, PhotoOutput); EXPECT_EQ(ret, 0); ret =OH_CaptureSession_CommitConfig(captureSession); - EXPECT_EQ(ret, 0); + EXPECT_EQ(ret, 0); Camera_Point FocusPointSet = {1.0, 2.0}; - ret = OH_CaptureSession_SetFocusPoint(captureSession,FocusPointSet); + ret = OH_CaptureSession_SetFocusPoint(captureSession, FocusPointSet); EXPECT_EQ(ret, 0); Camera_Point FocusPointGet= {0, 0};; - ret = OH_CaptureSession_GetFocusPoint(captureSession , &FocusPointGet); + ret = OH_CaptureSession_GetFocusPoint(captureSession, &FocusPointGet); EXPECT_EQ(ret, 0); ret =OH_PhotoOutput_Capture(PhotoOutput); EXPECT_EQ(ret, 0); @@ -1417,7 +1413,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_043, TestSize.Level0) ret = OH_CaptureSession_AddPhotoOutput(captureSession, PhotoOutput); EXPECT_EQ(ret, 0); ret =OH_CaptureSession_CommitConfig(captureSession); - EXPECT_EQ(ret, 0); + EXPECT_EQ(ret, 0); float minExposureBias = 0.0f, maxExposureBias = 0.0f, step = 0.0f; ret = OH_CaptureSession_GetExposureBiasRange(captureSession, &minExposureBias, &maxExposureBias, &step); EXPECT_EQ(ret, CAMERA_OK); @@ -1550,17 +1546,22 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_053, TestSize.Level0) Camera_ErrorCode ret =CAMERA_OK; Camera_PhotoOutput* PhotoOutput = CreatePhotoOutput(); EXPECT_NE(PhotoOutput, nullptr); + Camera_CaptureSession* captureSession = nullptr; ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); EXPECT_EQ(ret, CAMERA_OK); EXPECT_NE(captureSession, nullptr); + Camera_Input *cameraInput = nullptr; ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CameraInput_Open(cameraInput); EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CaptureSession_BeginConfig(captureSession); EXPECT_EQ(ret, 0); + Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); EXPECT_NE(previewOutput, nullptr); ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); @@ -1569,28 +1570,27 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_053, TestSize.Level0) EXPECT_EQ(ret, 0); ret = OH_CaptureSession_AddPhotoOutput(captureSession, PhotoOutput); EXPECT_EQ(ret, 0); - ret =OH_CaptureSession_CommitConfig(captureSession); + ret = OH_CaptureSession_CommitConfig(captureSession); EXPECT_EQ(ret, 0); + Camera_PhotoCaptureSetting capSettings; - capSettings.rotation=IAMGE_ROTATION_90; - Camera_Location location ={ 1.0 , 1.0 , 1.0 }; - capSettings.location=&location; - ret =OH_PhotoOutput_Capture_WithCaptureSetting(PhotoOutput,capSettings); - EXPECT_EQ(ret, 0); - location ={ 0 , 0 , 0 }; - capSettings.location=&location; - ret =OH_PhotoOutput_Capture_WithCaptureSetting(PhotoOutput,capSettings); + capSettings.rotation = IAMGE_ROTATION_90; + Camera_Location location = { 1.0 , 1.0 , 1.0 }; + capSettings.location = &location; + ret = OH_PhotoOutput_Capture_WithCaptureSetting(PhotoOutput, capSettings); EXPECT_EQ(ret, 0); - location ={ -1 , -1 , -1 }; - capSettings.location=&location; - ret =OH_PhotoOutput_Capture_WithCaptureSetting(PhotoOutput,capSettings); + + location = { 0 , 0 , 0 }; + capSettings.location = &location; + ret = OH_PhotoOutput_Capture_WithCaptureSetting(PhotoOutput, capSettings); EXPECT_EQ(ret, 0); + ret = OH_PhotoOutput_Release(PhotoOutput); EXPECT_EQ(ret, 0); - ret =OH_PreviewOutput_Release(previewOutput); + ret = OH_PreviewOutput_Release(previewOutput); EXPECT_EQ(ret, 0); ret = OH_CameraInput_Release(cameraInput); - EXPECT_EQ(ret, 0); + EXPECT_EQ(ret, 0); ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); } @@ -1632,7 +1632,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_054, TestSize.Level0) Camera_PhotoCaptureSetting capSettings; capSettings.quality=QUALITY_LEVEL_MEDIUM; capSettings.rotation=IAMGE_ROTATION_90; - ret =OH_PhotoOutput_Capture_WithCaptureSetting(PhotoOutput,capSettings); + ret =OH_PhotoOutput_Capture_WithCaptureSetting(PhotoOutput, capSettings); EXPECT_EQ(ret, 0); ret = OH_PhotoOutput_Release(PhotoOutput); EXPECT_EQ(ret, 0); @@ -1844,12 +1844,14 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_058, TestSize.Level0) EXPECT_EQ(ret, 0); ret = OH_VideoOutput_Start(videoOutput); EXPECT_EQ(ret, 0); + Camera_PhotoCaptureSetting capSettings; capSettings.quality=QUALITY_LEVEL_MEDIUM; - Camera_Location location ={ 1.0 , 1.0 , 1.0 }; - capSettings.location=&location; + Camera_Location location = { 1.0 , 1.0 , 1.0 }; + capSettings.location=&location; ret =OH_PhotoOutput_Capture_WithCaptureSetting(photoOutput, capSettings); EXPECT_EQ(ret, 0); + ret = OH_VideoOutput_Stop(videoOutput); EXPECT_EQ(ret, 0); ret = OH_VideoOutput_Release(videoOutput); @@ -1864,11 +1866,11 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_058, TestSize.Level0) /* * Feature: Framework - * Function: Test add preview,video and photo output, set mirror,video start�� do capture + * Function: Test add preview,video and photo output, set mirror,video start do capture * SubFunction: NA * FunctionPoints: NA * EnvConditions: NA - * CaseDescription: Test add preview ��video and photo output, video start�� do capture + * CaseDescription: Test add preview video and photo output, video start do capture */ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_059, TestSize.Level0) { @@ -1904,7 +1906,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_059, TestSize.Level0) EXPECT_EQ(ret, 0); Camera_PhotoCaptureSetting capSettings; capSettings.mirror=true; - ret =OH_PhotoOutput_Capture_WithCaptureSetting(photoOutput,capSettings); + ret =OH_PhotoOutput_Capture_WithCaptureSetting(photoOutput, capSettings); EXPECT_EQ(ret, 0); ret = OH_VideoOutput_Stop(videoOutput); EXPECT_EQ(ret, 0); @@ -1930,38 +1932,44 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_061, TestSize.Level0) { Camera_ErrorCode ret =CAMERA_OK; Camera_CaptureSession* captureSession = nullptr; - ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); - EXPECT_EQ(ret, CAMERA_OK); + EXPECT_EQ(OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession), 0); EXPECT_NE(captureSession, nullptr); + Camera_Input *cameraInput = nullptr; ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); EXPECT_EQ(ret, CAMERA_OK); - ret = OH_CameraInput_Open(cameraInput); - EXPECT_EQ(ret, CAMERA_OK); - ret = OH_CaptureSession_BeginConfig(captureSession); - EXPECT_EQ(ret, 0); - Camera_FlashMode flash =static_cast(FLASH_MODE_OPEN); + + EXPECT_EQ(OH_CameraInput_Open(cameraInput), CAMERA_OK); + EXPECT_EQ(OH_CaptureSession_BeginConfig(captureSession), 0); + + Camera_FlashMode flash =static_cast(FLASH_MODE_OPEN); bool isSupported = false; ret = OH_CaptureSession_IsFlashModeSupported(captureSession, flash, &isSupported); EXPECT_EQ(ret, 0); - if(isSupported) + + if (isSupported) { ret = OH_CaptureSession_SetFlashMode(captureSession, flash); EXPECT_EQ(ret, 0); } + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); EXPECT_EQ(ret, 0); Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); EXPECT_NE(previewOutput, nullptr); + PreviewOutput_Callbacks setPreviewResultCallback = { .onFrameStart = &CameraPreviewOutptOnFrameStartCb, .onFrameEnd = &CameraPreviewOutptOnFrameEndCb, .onError = &CameraPreviewOutptOnErrorCb }; + ret = OH_PreviewOutput_RegisterCallback(previewOutput, &setPreviewResultCallback); EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); EXPECT_EQ(ret, 0); + Camera_PhotoOutput* PhotoOutput = CreatePhotoOutput(); EXPECT_NE(PhotoOutput, nullptr); PhotoOutput_Callbacks setPhotoOutputResultCallback = { @@ -1972,8 +1980,10 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_061, TestSize.Level0) }; ret = OH_PhotoOutput_RegisterCallback(PhotoOutput, &setPhotoOutputResultCallback); EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CaptureSession_AddPhotoOutput(captureSession, PhotoOutput); EXPECT_EQ(ret, 0); + Camera_VideoOutput* videoOutput = CreateVideoOutput(); EXPECT_NE(videoOutput, nullptr); @@ -1982,33 +1992,26 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_061, TestSize.Level0) .onFrameEnd = &CameraVideoOutptOnFrameEndCb, .onError = &CameraVideoOutptOnErrorCb }; - ret = OH_VideoOutput_RegisterCallback(videoOutput, &setVideoResultCallback); - EXPECT_EQ(ret, CAMERA_OK); - ret = OH_CaptureSession_AddVideoOutput(captureSession, videoOutput); - EXPECT_EQ(ret, 0); - ret =OH_CaptureSession_CommitConfig(captureSession); - EXPECT_EQ(ret, 0); - ret = OH_PreviewOutput_Start(previewOutput); - EXPECT_EQ(ret, 0); - ret =OH_PhotoOutput_Capture(PhotoOutput); - EXPECT_EQ(ret, 0); + EXPECT_EQ(OH_VideoOutput_RegisterCallback(videoOutput, &setVideoResultCallback), 0); + EXPECT_EQ(OH_CaptureSession_AddVideoOutput(captureSession, videoOutput), 0); + EXPECT_EQ(OH_CaptureSession_CommitConfig(captureSession), 0); + EXPECT_EQ(OH_PreviewOutput_Start(previewOutput), 0); + EXPECT_EQ(OH_PhotoOutput_Capture(PhotoOutput), 0); + ret = OH_VideoOutput_UnregisterCallback(videoOutput, &setVideoResultCallback); EXPECT_EQ(ret, CAMERA_OK); - ret = OH_VideoOutput_Release(videoOutput); - EXPECT_EQ(ret, CAMERA_OK); - ret = OH_PhotoOutput_UnregisterCallback(PhotoOutput, &setPhotoOutputResultCallback); - EXPECT_EQ(ret, CAMERA_OK); - ret = OH_PhotoOutput_Release(PhotoOutput); - EXPECT_EQ(ret, CAMERA_OK); + + EXPECT_EQ(OH_VideoOutput_Release(videoOutput), CAMERA_OK); + EXPECT_EQ(OH_PhotoOutput_UnregisterCallback(PhotoOutput, &setPhotoOutputResultCallback), 0); + EXPECT_EQ(OH_PhotoOutput_Release(PhotoOutput), CAMERA_OK); + ret = OH_PreviewOutput_UnregisterCallback(previewOutput, &setPreviewResultCallback); EXPECT_EQ(ret, CAMERA_OK); - ret =OH_PreviewOutput_Release(previewOutput); - EXPECT_EQ(ret, 0); - ret = OH_CaptureSession_Release(captureSession); - EXPECT_EQ(ret, 0); - ret = OH_CameraInput_Release(cameraInput); - EXPECT_EQ(ret, 0); + + EXPECT_EQ(OH_PreviewOutput_Release(previewOutput), 0); + EXPECT_EQ(OH_CaptureSession_Release(captureSession), 0); + EXPECT_EQ(OH_CameraInput_Release(cameraInput), 0); } /* @@ -2021,49 +2024,56 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_061, TestSize.Level0) */ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_062, TestSize.Level0) { - Camera_ErrorCode ret =CAMERA_OK; + Camera_ErrorCode ret = CAMERA_OK; Camera_CaptureSession* captureSession = nullptr; - ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); - EXPECT_EQ(ret, CAMERA_OK); + EXPECT_EQ(OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession), 0); EXPECT_NE(captureSession, nullptr); + Camera_Input *cameraInput = nullptr; ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); EXPECT_EQ(ret, CAMERA_OK); - ret = OH_CameraInput_Open(cameraInput); - EXPECT_EQ(ret, CAMERA_OK); - ret = OH_CaptureSession_BeginConfig(captureSession); - EXPECT_EQ(ret, 0); - Camera_FlashMode flash =static_cast(FLASH_MODE_CLOSE); + + EXPECT_EQ(OH_CameraInput_Open(cameraInput), CAMERA_OK); + EXPECT_EQ(OH_CaptureSession_BeginConfig(captureSession), 0); + + Camera_FlashMode flash =static_cast(FLASH_MODE_CLOSE); bool isSupported = false; ret = OH_CaptureSession_IsFlashModeSupported(captureSession, flash, &isSupported); EXPECT_EQ(ret, 0); - if(isSupported) + + if (isSupported) { - ret = OH_CaptureSession_SetFlashMode(captureSession, flash); - EXPECT_EQ(ret, 0); + EXPECT_EQ(OH_CaptureSession_SetFlashMode(captureSession, flash), 0); } ret = OH_CaptureSession_AddInput(captureSession, cameraInput); EXPECT_EQ(ret, 0); + Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); EXPECT_NE(previewOutput, nullptr); + PreviewOutput_Callbacks setPreviewResultCallback = { .onFrameStart = &CameraPreviewOutptOnFrameStartCb, .onFrameEnd = &CameraPreviewOutptOnFrameEndCb, .onError = &CameraPreviewOutptOnErrorCb - }; + }; + ret = OH_PreviewOutput_RegisterCallback(previewOutput, &setPreviewResultCallback); EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); EXPECT_EQ(ret, 0); + Camera_PhotoOutput* PhotoOutput = CreatePhotoOutput(); EXPECT_NE(PhotoOutput, nullptr); + PhotoOutput_Callbacks setPhotoOutputResultCallback = { .onFrameStart = &CameraPhotoOutptOnFrameStartCb, .onFrameShutter = &CameraPhotoOutptOnFrameShutterCb, .onFrameEnd = &CameraPhotoOutptOnFrameEndCb, .onError = &CameraPhotoOutptOnErrorCb }; + ret = OH_PhotoOutput_RegisterCallback(PhotoOutput, &setPhotoOutputResultCallback); EXPECT_EQ(ret, CAMERA_OK); ret = OH_CaptureSession_AddPhotoOutput(captureSession, PhotoOutput); @@ -2078,36 +2088,24 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_062, TestSize.Level0) ret = OH_VideoOutput_RegisterCallback(videoOutput, &setVideoResultCallback); EXPECT_EQ(ret, CAMERA_OK); - ret = OH_CaptureSession_AddVideoOutput(captureSession, videoOutput); - EXPECT_EQ(ret, 0); + EXPECT_EQ(OH_CaptureSession_AddVideoOutput(captureSession, videoOutput), 0); - ret =OH_CaptureSession_CommitConfig(captureSession); - EXPECT_EQ(ret, 0); - ret = OH_PreviewOutput_Start(previewOutput); - EXPECT_EQ(ret, 0); + EXPECT_EQ(OH_CaptureSession_CommitConfig(captureSession), 0); + EXPECT_EQ(OH_PreviewOutput_Start(previewOutput), 0); - ret =OH_PhotoOutput_Capture(PhotoOutput); - EXPECT_EQ(ret, 0); + EXPECT_EQ(OH_PhotoOutput_Capture(PhotoOutput), 0); - ret = OH_VideoOutput_UnregisterCallback(videoOutput, &setVideoResultCallback); - EXPECT_EQ(ret, CAMERA_OK); - ret = OH_VideoOutput_Release(videoOutput); - EXPECT_EQ(ret, CAMERA_OK); + EXPECT_EQ(OH_VideoOutput_UnregisterCallback(videoOutput, &setVideoResultCallback), 0); + EXPECT_EQ(OH_VideoOutput_Release(videoOutput), 0); - ret = OH_PhotoOutput_UnregisterCallback(PhotoOutput, &setPhotoOutputResultCallback); - EXPECT_EQ(ret, CAMERA_OK); - ret = OH_PhotoOutput_Release(PhotoOutput); - EXPECT_EQ(ret, CAMERA_OK); + EXPECT_EQ(OH_PhotoOutput_UnregisterCallback(PhotoOutput, &setPhotoOutputResultCallback), 0); + EXPECT_EQ(OH_PhotoOutput_Release(PhotoOutput), 0); - ret = OH_PreviewOutput_UnregisterCallback(previewOutput, &setPreviewResultCallback); - EXPECT_EQ(ret, CAMERA_OK); - ret =OH_PreviewOutput_Release(previewOutput); - EXPECT_EQ(ret, 0); + EXPECT_EQ(OH_PreviewOutput_UnregisterCallback(previewOutput, &setPreviewResultCallback), 0); + EXPECT_EQ(OH_PreviewOutput_Release(previewOutput), 0); - ret = OH_CaptureSession_Release(captureSession); - EXPECT_EQ(ret, 0); - ret = OH_CameraInput_Release(cameraInput); - EXPECT_EQ(ret, 0); + EXPECT_EQ(OH_CaptureSession_Release(captureSession), 0); + EXPECT_EQ(OH_CameraInput_Release(cameraInput), 0); } } // CameraStandard } // OHOS \ No newline at end of file -- Gitee From 274a22c32f2ac7d73507b99c71de44a14f0d83a9 Mon Sep 17 00:00:00 2001 From: lengye Date: Fri, 27 Oct 2023 09:51:39 +0000 Subject: [PATCH 5/8] ndk ut_1027_4 Signed-off-by: lengye --- .../unittest/src/v1_1/camera_ndk_unittest.cpp | 107 +++++++++--------- 1 file changed, 51 insertions(+), 56 deletions(-) diff --git a/frameworks/native/camera/test/unittest/src/v1_1/camera_ndk_unittest.cpp b/frameworks/native/camera/test/unittest/src/v1_1/camera_ndk_unittest.cpp index 07d233f62..ca3caa460 100644 --- a/frameworks/native/camera/test/unittest/src/v1_1/camera_ndk_unittest.cpp +++ b/frameworks/native/camera/test/unittest/src/v1_1/camera_ndk_unittest.cpp @@ -28,7 +28,6 @@ using namespace testing::ext; namespace OHOS { namespace CameraStandard { - Camera_PhotoOutput* CameraNdkUnitTest::CreatePhotoOutput(int32_t width, int32_t height) { Camera_Size photoSize = { @@ -94,7 +93,7 @@ Camera_VideoOutput* CameraNdkUnitTest::CreateVideoOutput(int32_t width, int32_t Camera_Format format = (Camera_Format)CAMERA_FORMAT_RGBA_8888; Camera_FrameRateRange videoRange = { .min = 30, - .max = 30 + .max = 30 }; Camera_VideoProfile videoProfile = { .format = format, @@ -110,8 +109,7 @@ Camera_VideoOutput* CameraNdkUnitTest::CreateVideoOutput(int32_t width, int32_t surfaceId = surfaceIdStr.c_str(); SurfaceUtils::GetInstance()->Add(surfaceIdInt, pSurface); Camera_VideoOutput* videoOutput = nullptr; - Camera_ErrorCode ret = OH_CameraManager_CreateVideoOutput(cameraManager, - &videoProfile, surfaceId, &videoOutput); + Camera_ErrorCode ret = OH_CameraManager_CreateVideoOutput(cameraManager, &videoProfile, surfaceId, &videoOutput); EXPECT_EQ(ret, CAMERA_OK); EXPECT_NE(videoOutput, nullptr); return videoOutput; @@ -226,7 +224,7 @@ static void CameraPreviewOutptOnErrorCb(Camera_PreviewOutput* previewOutput, Cam MEDIA_DEBUG_LOG("fun:%s", __FUNCTION__); } -static void CameraPhotoOutptOnFrameStartCb(Camera_PhotoOutput* photoOutput /*, int64_t timestamp*/) +static void CameraPhotoOutptOnFrameStartCb(Camera_PhotoOutput* photoOutput) { MEDIA_DEBUG_LOG("fun:%s", __FUNCTION__); } @@ -269,7 +267,7 @@ static void CameraVideoOutptOnErrorCb(Camera_VideoOutput* videoOutput, Camera_Er * EnvConditions: NA * CaseDescription: Test Capture */ -HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_001, TestSize.Level0) +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_001, TestSize.Level0) { Camera_PhotoOutput *photoOutput = CreatePhotoOutput(); EXPECT_NE(photoOutput, nullptr); @@ -309,7 +307,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_001, TestSize.Level0) * EnvConditions: NA * CaseDescription: Test capture session with commit config multiple times */ -HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_002, TestSize.Level0) +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_002, TestSize.Level0) { Camera_PhotoOutput *photoOutput = CreatePhotoOutput(); EXPECT_NE(photoOutput, nullptr); @@ -343,14 +341,14 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_002, TestSize.Level0) } /* - * Feature: Ndk + * Feature: Framework * Function: Test create preview output * SubFunction: NA * FunctionPoints: NA * EnvConditions: NA * CaseDescription: Test create preview output */ -HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_004, TestSize.Level0) +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_004, TestSize.Level0) { Camera_CaptureSession* captureSession = nullptr; Camera_ErrorCode ret =CAMERA_OK; @@ -415,7 +413,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_004, TestSize.Level0) * EnvConditions: NA * CaseDescription: Test capture session start and stop preview multiple times */ -HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_006, TestSize.Level0) +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_006, TestSize.Level0) { Camera_CaptureSession* captureSession = nullptr; Camera_ErrorCode ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); @@ -468,7 +466,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_006, TestSize.Level0) * EnvConditions: NA * CaseDescription: Test capture session start and stop video multiple times */ -HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_007, TestSize.Level0) +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_007, TestSize.Level0) { Camera_CaptureSession* captureSession = nullptr; Camera_ErrorCode ret=CAMERA_OK; @@ -521,7 +519,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_007, TestSize.Level0) * EnvConditions: NA * CaseDescription: Test video add preview and photo output, remove photo output, add video output */ -HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_008, TestSize.Level0) +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_008, TestSize.Level0) { Camera_CaptureSession* captureSession = nullptr; Camera_ErrorCode ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); @@ -576,7 +574,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_008, TestSize.Level0) * EnvConditions: NA * CaseDescription: Test add preview video and photo output, video start do capture */ -HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_009, TestSize.Level0) +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_009, TestSize.Level0) { Camera_CaptureSession* captureSession = nullptr; Camera_ErrorCode ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); @@ -643,7 +641,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_009, TestSize.Level0) * EnvConditions: NA * CaseDescription: Test add preview and video output, commitconfig remove video Output, add photo output, take photo */ -HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_010, TestSize.Level0) +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_010, TestSize.Level0) { Camera_CaptureSession* captureSession = nullptr; Camera_ErrorCode ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); @@ -706,7 +704,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_010, TestSize.Level0) * EnvConditions: NA * CaseDescription: Test do OH_CaptureSession_BeginConfig/OH_CaptureSession_CommitConfig again */ -HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_013, TestSize.Level0) +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_013, TestSize.Level0) { Camera_CaptureSession* captureSession = nullptr; Camera_ErrorCode ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); @@ -756,7 +754,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_013, TestSize.Level0) * EnvConditions: NA * CaseDescription: Test do OH_CaptureSession_BeginConfig/OH_CaptureSession_CommitConfig again */ -HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_014, TestSize.Level0) +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_014, TestSize.Level0) { Camera_CaptureSession* captureSession = nullptr; Camera_ErrorCode ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); @@ -815,7 +813,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_014, TestSize.Level0) * EnvConditions: NA * CaseDescription: Test add two preview output and use */ -HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_017, TestSize.Level0) +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_017, TestSize.Level0) { Camera_CaptureSession* captureSession = nullptr; Camera_ErrorCode ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); @@ -875,7 +873,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_017, TestSize.Level0) * EnvConditions: NA * CaseDescription: Test capture session commit config without adding input */ -HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_027, TestSize.Level0) +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_027, TestSize.Level0) { Camera_CaptureSession* captureSession = nullptr; Camera_ErrorCode ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); @@ -905,7 +903,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_027, TestSize.Level0) * EnvConditions: NA * CaseDescription: Test capture session commit config without adding output */ -HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_028, TestSize.Level0) +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_028, TestSize.Level0) { Camera_Input *cameraInput = nullptr; Camera_ErrorCode ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); @@ -939,7 +937,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_028, TestSize.Level0) * EnvConditions: NA * CaseDescription: Test capture session without begin config */ -HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_029, TestSize.Level0) +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_029, TestSize.Level0) { Camera_Input *cameraInput = nullptr; Camera_ErrorCode ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); @@ -1009,7 +1007,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_029, TestSize.Level0) * EnvConditions: NA * CaseDescription: Test capture session start and stop without adding preview output */ -HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_030, TestSize.Level0) +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_030, TestSize.Level0) { Camera_Input *cameraInput = nullptr; Camera_ErrorCode ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); @@ -1051,7 +1049,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_030, TestSize.Level0) * EnvConditions: NA * CaseDescription: Test session with preview + photo */ -HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_031, TestSize.Level0) +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_031, TestSize.Level0) { Camera_Input *cameraInput = nullptr; Camera_ErrorCode ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); @@ -1101,7 +1099,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_031, TestSize.Level0) * EnvConditions: NA * CaseDescription: Test session with preview + video */ -HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_033, TestSize.Level0) +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_033, TestSize.Level0) { Camera_Input *cameraInput = nullptr; Camera_ErrorCode ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); @@ -1155,7 +1153,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_033, TestSize.Level0) * EnvConditions: NA * CaseDescription: Test capture session remove input with null */ -HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_036, TestSize.Level0) +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_036, TestSize.Level0) { Camera_ErrorCode ret =CAMERA_OK; Camera_Input *cameraInput = nullptr; @@ -1199,7 +1197,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_036, TestSize.Level0) * EnvConditions: NA * CaseDescription: Test capture session remove input */ -HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_037, TestSize.Level0) +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_037, TestSize.Level0) { Camera_ErrorCode ret =CAMERA_OK; Camera_Input *cameraInput = nullptr; @@ -1241,7 +1239,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_037, TestSize.Level0) * EnvConditions: NA * CaseDescription: Test photo capture with photo settings */ -HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_038, TestSize.Level0) +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_038, TestSize.Level0) { Camera_ErrorCode ret =CAMERA_OK; Camera_PhotoOutput* PhotoOutput = CreatePhotoOutput(); @@ -1285,7 +1283,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_038, TestSize.Level0) * EnvConditions: NA * CaseDescription: Test SetMeteringPoint & GetMeteringPoint */ -HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_041, TestSize.Level0) +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_041, TestSize.Level0) { Camera_ErrorCode ret =CAMERA_OK; Camera_Input *cameraInput = nullptr; @@ -1336,7 +1334,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_041, TestSize.Level0) * EnvConditions: NA * CaseDescription: Test SetFocusPoint & GetFousPoint */ -HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_042, TestSize.Level0) +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_042, TestSize.Level0) { Camera_ErrorCode ret =CAMERA_OK; Camera_Input *cameraInput = nullptr; @@ -1388,7 +1386,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_042, TestSize.Level0) * EnvConditions: NA * CaseDescription: Test GetExposureValue and SetExposureBias with value less then the range */ -HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_043, TestSize.Level0) +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_043, TestSize.Level0) { Camera_ErrorCode ret =CAMERA_OK; Camera_Input *cameraInput = nullptr; @@ -1439,7 +1437,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_043, TestSize.Level0) * EnvConditions: NA * CaseDescription: Test GetExposureValue and SetExposureBias with value between the range */ -HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_044, TestSize.Level0) +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_044, TestSize.Level0) { Camera_ErrorCode ret =CAMERA_OK; Camera_Input *cameraInput = nullptr; @@ -1490,7 +1488,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_044, TestSize.Level0) * EnvConditions: NA * CaseDescription: Test GetExposureValue and SetExposureBias with value more then the range */ -HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_045, TestSize.Level0) +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_045, TestSize.Level0) { Camera_ErrorCode ret =CAMERA_OK; Camera_Input *cameraInput = nullptr; @@ -1541,7 +1539,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_045, TestSize.Level0) * EnvConditions: NA * CaseDescription: Test photo capture with capture settings */ -HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_053, TestSize.Level0) +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_053, TestSize.Level0) { Camera_ErrorCode ret =CAMERA_OK; Camera_PhotoOutput* PhotoOutput = CreatePhotoOutput(); @@ -1603,7 +1601,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_053, TestSize.Level0) * EnvConditions: NA * CaseDescription: Test photo capture with preview output & capture settings */ -HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_054, TestSize.Level0) +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_054, TestSize.Level0) { Camera_ErrorCode ret =CAMERA_OK; Camera_PhotoOutput* PhotoOutput = CreatePhotoOutput(); @@ -1652,7 +1650,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_054, TestSize.Level0) * EnvConditions: NA * CaseDescription: Test capture session with multiple photo outputs */ -HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_055, TestSize.Level0) +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_055, TestSize.Level0) { Camera_CaptureSession* captureSession; Camera_ErrorCode ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); @@ -1699,9 +1697,9 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_055, TestSize.Level0) * SubFunction: NA * FunctionPoints: NA * EnvConditions: NA - * CaseDescription: VideoOutput_Start with multiple videoOutput + * CaseDescription: VideoOutput_Start with multiple videoOutput */ -HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_056, TestSize.Level0) +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_056, TestSize.Level0) { Camera_CaptureSession* captureSession; Camera_ErrorCode ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); @@ -1752,7 +1750,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_056, TestSize.Level0) * EnvConditions: NA * CaseDescription: Test capture session with Video Stabilization Mode */ -HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_057, TestSize.Level0) +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_057, TestSize.Level0) { Camera_CaptureSession* captureSession; Camera_ErrorCode ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); @@ -1782,7 +1780,8 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_057, TestSize.Level0) EXPECT_EQ(ret, 0); bool isSupported=false; ret = OH_CaptureSession_IsVideoStabilizationModeSupported(captureSession, STABILIZATION_MODE_MIDDLE, &isSupported); - if (isSupported) + + if (isSupported) { ret = OH_CaptureSession_SetVideoStabilizationMode(captureSession, STABILIZATION_MODE_MIDDLE); EXPECT_EQ(ret, 0); @@ -1812,7 +1811,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_057, TestSize.Level0) * EnvConditions: NA * CaseDescription: Test add preview video and photo output, video start do capture */ -HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_058, TestSize.Level0) +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_058, TestSize.Level0) { Camera_CaptureSession* captureSession = nullptr; Camera_ErrorCode ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); @@ -1846,10 +1845,11 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_058, TestSize.Level0) EXPECT_EQ(ret, 0); Camera_PhotoCaptureSetting capSettings; - capSettings.quality=QUALITY_LEVEL_MEDIUM; + capSettings.quality = QUALITY_LEVEL_MEDIUM; + Camera_Location location = { 1.0 , 1.0 , 1.0 }; - capSettings.location=&location; - ret =OH_PhotoOutput_Capture_WithCaptureSetting(photoOutput, capSettings); + capSettings.location = &location; + ret = OH_PhotoOutput_Capture_WithCaptureSetting(photoOutput, capSettings); EXPECT_EQ(ret, 0); ret = OH_VideoOutput_Stop(videoOutput); @@ -1872,7 +1872,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_058, TestSize.Level0) * EnvConditions: NA * CaseDescription: Test add preview video and photo output, video start do capture */ -HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_059, TestSize.Level0) +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_059, TestSize.Level0) { Camera_CaptureSession* captureSession = nullptr; Camera_ErrorCode ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); @@ -1928,7 +1928,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_059, TestSize.Level0) * EnvConditions: NA * CaseDescription: Test open flash preview capture video callback */ -HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_061, TestSize.Level0) +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_061, TestSize.Level0) { Camera_ErrorCode ret =CAMERA_OK; Camera_CaptureSession* captureSession = nullptr; @@ -1949,12 +1949,10 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_061, TestSize.Level0) if (isSupported) { - ret = OH_CaptureSession_SetFlashMode(captureSession, flash); - EXPECT_EQ(ret, 0); + EXPECT_EQ(OH_CaptureSession_SetFlashMode(captureSession, flash), 0); } - ret = OH_CaptureSession_AddInput(captureSession, cameraInput); - EXPECT_EQ(ret, 0); + EXPECT_EQ(OH_CaptureSession_AddInput(captureSession, cameraInput), 0); Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); EXPECT_NE(previewOutput, nullptr); @@ -1967,8 +1965,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_061, TestSize.Level0) ret = OH_PreviewOutput_RegisterCallback(previewOutput, &setPreviewResultCallback); EXPECT_EQ(ret, CAMERA_OK); - ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); - EXPECT_EQ(ret, 0); + EXPECT_EQ(OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput), 0); Camera_PhotoOutput* PhotoOutput = CreatePhotoOutput(); EXPECT_NE(PhotoOutput, nullptr); @@ -1981,8 +1978,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_061, TestSize.Level0) ret = OH_PhotoOutput_RegisterCallback(PhotoOutput, &setPhotoOutputResultCallback); EXPECT_EQ(ret, CAMERA_OK); - ret = OH_CaptureSession_AddPhotoOutput(captureSession, PhotoOutput); - EXPECT_EQ(ret, 0); + EXPECT_EQ(OH_CaptureSession_AddPhotoOutput(captureSession, PhotoOutput), 0); Camera_VideoOutput* videoOutput = CreateVideoOutput(); EXPECT_NE(videoOutput, nullptr); @@ -1999,8 +1995,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_061, TestSize.Level0) EXPECT_EQ(OH_PreviewOutput_Start(previewOutput), 0); EXPECT_EQ(OH_PhotoOutput_Capture(PhotoOutput), 0); - ret = OH_VideoOutput_UnregisterCallback(videoOutput, &setVideoResultCallback); - EXPECT_EQ(ret, CAMERA_OK); + EXPECT_EQ(OH_VideoOutput_UnregisterCallback(videoOutput, &setVideoResultCallback), 0); EXPECT_EQ(OH_VideoOutput_Release(videoOutput), CAMERA_OK); EXPECT_EQ(OH_PhotoOutput_UnregisterCallback(PhotoOutput, &setPhotoOutputResultCallback), 0); @@ -2011,7 +2006,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_061, TestSize.Level0) EXPECT_EQ(OH_PreviewOutput_Release(previewOutput), 0); EXPECT_EQ(OH_CaptureSession_Release(captureSession), 0); - EXPECT_EQ(OH_CameraInput_Release(cameraInput), 0); + EXPECT_EQ(OH_CameraInput_Release(cameraInput), 0); } /* @@ -2022,7 +2017,7 @@ HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_061, TestSize.Level0) * EnvConditions: NA * CaseDescription: Test close flash preview capture video callback */ -HWTEST_F(CameraNdkUnitTest, camera_ndk_unittest_062, TestSize.Level0) +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_062, TestSize.Level0) { Camera_ErrorCode ret = CAMERA_OK; Camera_CaptureSession* captureSession = nullptr; -- Gitee From 63a0b068136eb3567365cd2ab1542229347365bc Mon Sep 17 00:00:00 2001 From: lengye Date: Fri, 27 Oct 2023 10:01:14 +0000 Subject: [PATCH 6/8] ndk ut_1027_5 Signed-off-by: lengye --- .../unittest/include/camera_ndk_unittest.h | 3 ++- .../unittest/src/v1_1/camera_ndk_unittest.cpp | 22 +++++++++---------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/frameworks/native/camera/test/unittest/include/camera_ndk_unittest.h b/frameworks/native/camera/test/unittest/include/camera_ndk_unittest.h index 6564cc3b2..c87ac48af 100644 --- a/frameworks/native/camera/test/unittest/include/camera_ndk_unittest.h +++ b/frameworks/native/camera/test/unittest/include/camera_ndk_unittest.h @@ -57,7 +57,8 @@ public: void SessionCommit(Camera_CaptureSession *captureSession); void SessionControlParams(Camera_CaptureSession *captureSession); Camera_PhotoOutput* CreatePhotoOutput(int32_t width = PHOTO_DEFAULT_WIDTH, int32_t height = PHOTO_DEFAULT_HEIGHT); - Camera_PreviewOutput* CreatePreviewOutput(int32_t width = PREVIEW_DEFAULT_WIDTH, int32_t height = PREVIEW_DEFAULT_HEIGHT); + Camera_PreviewOutput* CreatePreviewOutput(int32_t width = PREVIEW_DEFAULT_WIDTH, + int32_t height = PREVIEW_DEFAULT_HEIGHT); Camera_VideoOutput* CreateVideoOutput(int32_t width = VIDEO_DEFAULT_WIDTH, int32_t height = VIDEO_DEFAULT_HEIGHT); }; } // CameraStandard diff --git a/frameworks/native/camera/test/unittest/src/v1_1/camera_ndk_unittest.cpp b/frameworks/native/camera/test/unittest/src/v1_1/camera_ndk_unittest.cpp index ca3caa460..67daffcc6 100644 --- a/frameworks/native/camera/test/unittest/src/v1_1/camera_ndk_unittest.cpp +++ b/frameworks/native/camera/test/unittest/src/v1_1/camera_ndk_unittest.cpp @@ -80,7 +80,7 @@ Camera_PreviewOutput* CameraNdkUnitTest::CreatePreviewOutput(int32_t width, int3 Camera_ErrorCode ret = OH_CameraManager_CreatePreviewOutput(cameraManager, &previewProfile, surfaceId, &previewOutput); EXPECT_EQ(ret, CAMERA_OK); - EXPECT_NE(previewOutput, nullptr); + EXPECT_NE(previewOutput, nullptr); return previewOutput; } @@ -1180,13 +1180,13 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_036, TestSize.Level0) ret = OH_CaptureSession_RemoveInput(captureSession, cameraInputNull); EXPECT_NE(ret, 0); ret =OH_CaptureSession_Stop(captureSession); - EXPECT_EQ(ret, 0); + EXPECT_EQ(ret, 0); ret = OH_PreviewOutput_Release(previewOutput); EXPECT_EQ(ret, 0); ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); ret = OH_CameraInput_Release(cameraInput); - EXPECT_EQ(ret, 0); + EXPECT_EQ(ret, 0); } /* @@ -1222,13 +1222,13 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_037, TestSize.Level0) ret = OH_CaptureSession_BeginConfig(captureSession); EXPECT_EQ(ret, 0); ret = OH_CaptureSession_RemoveInput(captureSession, cameraInput); - EXPECT_EQ(ret, 0); + EXPECT_EQ(ret, 0); ret =OH_PreviewOutput_Release(previewOutput); EXPECT_EQ(ret, 0); ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); ret = OH_CameraInput_Release(cameraInput); - EXPECT_EQ(ret, 0); + EXPECT_EQ(ret, 0); } /* @@ -1309,7 +1309,7 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_041, TestSize.Level0) ret = OH_CaptureSession_AddPhotoOutput(captureSession, PhotoOutput); EXPECT_EQ(ret, 0); ret =OH_CaptureSession_CommitConfig(captureSession); - EXPECT_EQ(ret, 0); + EXPECT_EQ(ret, 0); Camera_Point exposurePointSet = {1.0, 2.0}; ret = OH_CaptureSession_SetMeteringPoint(captureSession, exposurePointSet); EXPECT_EQ(ret, 0); @@ -1573,12 +1573,12 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_053, TestSize.Level0) Camera_PhotoCaptureSetting capSettings; capSettings.rotation = IAMGE_ROTATION_90; - Camera_Location location = { 1.0 , 1.0 , 1.0 }; + Camera_Location location = {1.0, 1.0, 1.0}; capSettings.location = &location; ret = OH_PhotoOutput_Capture_WithCaptureSetting(PhotoOutput, capSettings); EXPECT_EQ(ret, 0); - location = { 0 , 0 , 0 }; + location = {0, 0, 0}; capSettings.location = &location; ret = OH_PhotoOutput_Capture_WithCaptureSetting(PhotoOutput, capSettings); EXPECT_EQ(ret, 0); @@ -1637,7 +1637,7 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_054, TestSize.Level0) ret =OH_PreviewOutput_Release(previewOutput); EXPECT_EQ(ret, 0); ret = OH_CameraInput_Release(cameraInput); - EXPECT_EQ(ret, 0); + EXPECT_EQ(ret, 0); ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); } @@ -1739,7 +1739,7 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_056, TestSize.Level0) ret = OH_CameraInput_Release(cameraInput); EXPECT_EQ(ret, 0); ret = OH_CaptureSession_Release(captureSession); - EXPECT_EQ(ret, 0); + EXPECT_EQ(ret, 0); } /* @@ -1847,7 +1847,7 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_058, TestSize.Level0) Camera_PhotoCaptureSetting capSettings; capSettings.quality = QUALITY_LEVEL_MEDIUM; - Camera_Location location = { 1.0 , 1.0 , 1.0 }; + Camera_Location location = {1.0, 1.0, 1.0}; capSettings.location = &location; ret = OH_PhotoOutput_Capture_WithCaptureSetting(photoOutput, capSettings); EXPECT_EQ(ret, 0); -- Gitee From 6e5d45ad843762792ad4367136064d02e204633b Mon Sep 17 00:00:00 2001 From: lengye Date: Fri, 27 Oct 2023 10:16:06 +0000 Subject: [PATCH 7/8] ndk ut_1028_1 Signed-off-by: lengye --- .../unittest/include/camera_ndk_unittest.h | 4 + .../unittest/src/v1_1/camera_ndk_unittest.cpp | 415 +++++++++++------- 2 files changed, 253 insertions(+), 166 deletions(-) diff --git a/frameworks/native/camera/test/unittest/include/camera_ndk_unittest.h b/frameworks/native/camera/test/unittest/include/camera_ndk_unittest.h index c87ac48af..0e1fe9a40 100644 --- a/frameworks/native/camera/test/unittest/include/camera_ndk_unittest.h +++ b/frameworks/native/camera/test/unittest/include/camera_ndk_unittest.h @@ -21,6 +21,8 @@ #include #include "camera/photo_output.h" +#include "image_receiver.h" +#include "image_receiver_manager.h" namespace OHOS { namespace CameraStandard { class MockStreamOperator; @@ -44,6 +46,7 @@ public: Camera_Device *cameraDevice = nullptr; uint32_t cameraDeviceSize = 0; + std::shared_ptr imageReceiver; /* SetUpTestCase:The preset action of the test suite is executed before the first TestCase */ static void SetUpTestCase(void); @@ -51,6 +54,7 @@ public: static void TearDownTestCase(void); /* SetUp:Execute before each test case */ void SetUp(); + void ReleaseImageReceiver(); /* TearDown:Execute after each test case */ void TearDown(); diff --git a/frameworks/native/camera/test/unittest/src/v1_1/camera_ndk_unittest.cpp b/frameworks/native/camera/test/unittest/src/v1_1/camera_ndk_unittest.cpp index 67daffcc6..8f5a0ecfd 100644 --- a/frameworks/native/camera/test/unittest/src/v1_1/camera_ndk_unittest.cpp +++ b/frameworks/native/camera/test/unittest/src/v1_1/camera_ndk_unittest.cpp @@ -28,6 +28,10 @@ using namespace testing::ext; namespace OHOS { namespace CameraStandard { +static constexpr int32_t RECEIVER_TEST_WIDTH = 8192; +static constexpr int32_t RECEIVER_TEST_HEIGHT = 8; +static constexpr int32_t RECEIVER_TEST_CAPACITY = 8; +static constexpr int32_t RECEIVER_TEST_FORMAT = 4; Camera_PhotoOutput* CameraNdkUnitTest::CreatePhotoOutput(int32_t width, int32_t height) { Camera_Size photoSize = { @@ -39,18 +43,15 @@ Camera_PhotoOutput* CameraNdkUnitTest::CreatePhotoOutput(int32_t width, int32_t .format = format, .size = photoSize }; - sptr photoSurface = IConsumerSurface::Create(); - sptr photoProducer = photoSurface->GetProducer(); - sptr pSurface = Surface::CreateSurfaceAsProducer(photoProducer); - int64_t surfaceIdInt = photoProducer->GetUniqueId(); - string surfaceIdStr = std::to_string(surfaceIdInt); - const char *surfaceId = nullptr; - surfaceId = surfaceIdStr.c_str(); - SurfaceUtils::GetInstance()->Add(surfaceIdInt, pSurface); + //std::shared_ptr imageReceiver; + imageReceiver = Media::ImageReceiver ::CreateImageReceiver(RECEIVER_TEST_WIDTH,RECEIVER_TEST_HEIGHT,RECEIVER_TEST_FORMAT,RECEIVER_TEST_CAPACITY); + std::string receiverKey; + receiverKey=imageReceiver->iraContext_->GetReceiverKey(); + const char *surfaceId = nullptr; + surfaceId = receiverKey.c_str(); Camera_PhotoOutput* photoOutput = nullptr; - Camera_ErrorCode ret = OH_CameraManager_CreatePhotoOutput(cameraManager, - &photoProfile, surfaceId, &photoOutput); + Camera_ErrorCode ret = OH_CameraManager_CreatePhotoOutput(cameraManager, &photoProfile, surfaceId, &photoOutput); EXPECT_EQ(ret, CAMERA_OK); EXPECT_NE(photoOutput, nullptr); return photoOutput; @@ -77,10 +78,9 @@ Camera_PreviewOutput* CameraNdkUnitTest::CreatePreviewOutput(int32_t width, int3 SurfaceUtils::GetInstance()->Add(surfaceIdInt, pSurface); EXPECT_NE(surfaceId, nullptr); Camera_PreviewOutput* previewOutput = nullptr; - Camera_ErrorCode ret = OH_CameraManager_CreatePreviewOutput(cameraManager, - &previewProfile, surfaceId, &previewOutput); + Camera_ErrorCode ret = OH_CameraManager_CreatePreviewOutput(cameraManager, &previewProfile, surfaceId, &previewOutput); EXPECT_EQ(ret, CAMERA_OK); - EXPECT_NE(previewOutput, nullptr); + EXPECT_NE(previewOutput, nullptr); return previewOutput; } @@ -208,6 +208,15 @@ void CameraNdkUnitTest::SetUp() void CameraNdkUnitTest::TearDown() { } +void CameraNdkUnitTest::ReleaseImageReceiver() +{ + if(imageReceiver!=nullptr) + { + std::string receiverKey; + receiverKey=imageReceiver->iraContext_->GetReceiverKey(); + Media::ImageReceiverManager::ReleaseReceiverById(receiverKey); + } +} static void CameraPreviewOutptOnFrameStartCb(Camera_PreviewOutput* previewOutput) { @@ -277,7 +286,7 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_001, TestSize.Level0) EXPECT_NE(captureSession, nullptr); Camera_Input *cameraInput = nullptr; ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); - EXPECT_EQ(ret, CAMERA_OK); + EXPECT_EQ(ret, CAMERA_OK); EXPECT_NE(&cameraInput, nullptr); ret = OH_CameraInput_Open(cameraInput); EXPECT_EQ(ret, CAMERA_OK); @@ -297,6 +306,7 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_001, TestSize.Level0) EXPECT_EQ(ret, 0); ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); + ReleaseImageReceiver(); } /* @@ -338,6 +348,7 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_002, TestSize.Level0) EXPECT_EQ(ret, 0); ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); + ReleaseImageReceiver(); } /* @@ -382,8 +393,7 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_004, TestSize.Level0) surfaceId = surfaceIdStr.c_str(); SurfaceUtils::GetInstance()->Add(surfaceIdInt, pSurface); Camera_PreviewOutput* previewOutput = nullptr; - ret = OH_CameraManager_CreatePreviewOutput(cameraManager, - &previewProfile, surfaceId, &previewOutput); + ret = OH_CameraManager_CreatePreviewOutput(cameraManager, &previewProfile, surfaceId, &previewOutput); EXPECT_EQ(ret, CAMERA_OK); EXPECT_NE(previewOutput, nullptr); ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); @@ -564,6 +574,7 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_008, TestSize.Level0) EXPECT_EQ(ret, 0); ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); + ReleaseImageReceiver(); } /* @@ -631,6 +642,7 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_009, TestSize.Level0) EXPECT_EQ(ret, 0); ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); + ReleaseImageReceiver(); } /* @@ -694,6 +706,7 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_010, TestSize.Level0) EXPECT_EQ(ret, 0); ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); + ReleaseImageReceiver(); } /* @@ -803,6 +816,7 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_014, TestSize.Level0) EXPECT_EQ(ret, 0); ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); + ReleaseImageReceiver(); } /* @@ -893,6 +907,7 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_027, TestSize.Level0) EXPECT_EQ(ret, 0); ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); + ReleaseImageReceiver(); } /* @@ -997,6 +1012,7 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_029, TestSize.Level0) EXPECT_EQ(ret, 0); ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); + ReleaseImageReceiver(); } /* @@ -1039,6 +1055,7 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_030, TestSize.Level0) EXPECT_EQ(ret, 0); ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); + ReleaseImageReceiver(); } /* @@ -1089,6 +1106,7 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_031, TestSize.Level0) EXPECT_EQ(ret, 0); ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); + ReleaseImageReceiver(); } /* @@ -1242,8 +1260,6 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_037, TestSize.Level0) HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_038, TestSize.Level0) { Camera_ErrorCode ret =CAMERA_OK; - Camera_PhotoOutput* PhotoOutput = CreatePhotoOutput(); - EXPECT_NE(PhotoOutput, nullptr); Camera_CaptureSession* captureSession = nullptr; ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); EXPECT_EQ(ret, CAMERA_OK); @@ -1257,6 +1273,8 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_038, TestSize.Level0) EXPECT_EQ(ret, 0); ret = OH_CaptureSession_AddInput(captureSession, cameraInput); EXPECT_EQ(ret, 0); + Camera_PhotoOutput* PhotoOutput = CreatePhotoOutput(); + EXPECT_NE(PhotoOutput, nullptr); ret = OH_CaptureSession_AddPhotoOutput(captureSession, PhotoOutput); EXPECT_EQ(ret, 0); ret =OH_CaptureSession_CommitConfig(captureSession); @@ -1273,6 +1291,7 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_038, TestSize.Level0) EXPECT_EQ(ret, 0); ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); + ReleaseImageReceiver(); } /* @@ -1324,6 +1343,7 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_041, TestSize.Level0) EXPECT_EQ(ret, 0); ret = OH_CameraInput_Release(cameraInput); EXPECT_EQ(ret, 0); + ReleaseImageReceiver(); } /* @@ -1376,6 +1396,7 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_042, TestSize.Level0) EXPECT_EQ(ret, 0); ret = OH_CameraInput_Release(cameraInput); EXPECT_EQ(ret, 0); + ReleaseImageReceiver(); } /* @@ -1427,6 +1448,7 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_043, TestSize.Level0) EXPECT_EQ(ret, 0); ret = OH_CameraInput_Release(cameraInput); EXPECT_EQ(ret, 0); + ReleaseImageReceiver(); } /* @@ -1478,6 +1500,7 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_044, TestSize.Level0) EXPECT_EQ(ret, 0); ret = OH_CameraInput_Release(cameraInput); EXPECT_EQ(ret, 0); + ReleaseImageReceiver(); } /* @@ -1529,6 +1552,7 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_045, TestSize.Level0) EXPECT_EQ(ret, 0); ret = OH_CameraInput_Release(cameraInput); EXPECT_EQ(ret, 0); + ReleaseImageReceiver(); } /* @@ -1591,6 +1615,7 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_053, TestSize.Level0) EXPECT_EQ(ret, 0); ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); + ReleaseImageReceiver(); } /* @@ -1640,107 +1665,12 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_054, TestSize.Level0) EXPECT_EQ(ret, 0); ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); + ReleaseImageReceiver(); } -/* - * Feature: Framework - * Function: Test capture session with multiple photo outputs - * SubFunction: NA - * FunctionPoints: NA - * EnvConditions: NA - * CaseDescription: Test capture session with multiple photo outputs - */ -HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_055, TestSize.Level0) -{ - Camera_CaptureSession* captureSession; - Camera_ErrorCode ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); - EXPECT_EQ(ret, CAMERA_OK); - EXPECT_NE(captureSession, nullptr); - Camera_Input *cameraInput; - ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); - EXPECT_EQ(ret, CAMERA_OK); - ret = OH_CameraInput_Open(cameraInput); - EXPECT_EQ(ret, CAMERA_OK); - ret = OH_CaptureSession_BeginConfig(captureSession); - EXPECT_EQ(ret, 0); - ret = OH_CaptureSession_AddInput(captureSession, cameraInput); - EXPECT_EQ(ret, 0); - Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); - EXPECT_NE(previewOutput, nullptr); - ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); - EXPECT_EQ(ret, 0); - Camera_PhotoOutput *photoOutput1 = CreatePhotoOutput(); - EXPECT_NE(photoOutput1, nullptr); - Camera_PhotoOutput *photoOutput2 = CreatePhotoOutput(); - EXPECT_NE(photoOutput2, nullptr); - ret = OH_CaptureSession_AddPhotoOutput(captureSession, photoOutput1); - EXPECT_EQ(ret, 0); - ret = OH_CaptureSession_AddPhotoOutput(captureSession, photoOutput2); - EXPECT_EQ(ret, 0); - ret = OH_CaptureSession_CommitConfig(captureSession); - EXPECT_NE(ret, 0); - ret = OH_PreviewOutput_Release(previewOutput); - EXPECT_EQ(ret, 0); - ret = OH_CameraInput_Release(cameraInput); - EXPECT_EQ(ret, 0); - ret = OH_PhotoOutput_Release(photoOutput1); - EXPECT_EQ(ret, 0); - ret = OH_PhotoOutput_Release(photoOutput2); - EXPECT_EQ(ret, 0); - ret = OH_CaptureSession_Release(captureSession); - EXPECT_EQ(ret, 0); -} -/* - * Feature: Framework - * Function: Test capture session with multiple video outputs - * SubFunction: NA - * FunctionPoints: NA - * EnvConditions: NA - * CaseDescription: VideoOutput_Start with multiple videoOutput - */ -HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_056, TestSize.Level0) -{ - Camera_CaptureSession* captureSession; - Camera_ErrorCode ret = OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession); - EXPECT_EQ(ret, CAMERA_OK); - EXPECT_NE(captureSession, nullptr); - ret = OH_CaptureSession_BeginConfig(captureSession); - EXPECT_EQ(ret, 0); - Camera_Input *cameraInput; - ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); - EXPECT_EQ(ret, CAMERA_OK); - ret = OH_CameraInput_Open(cameraInput); - EXPECT_EQ(ret, CAMERA_OK); - ret = OH_CaptureSession_AddInput(captureSession, cameraInput); - EXPECT_EQ(ret, 0); - Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); - EXPECT_NE(previewOutput, nullptr); - ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); - EXPECT_EQ(ret, 0); - Camera_VideoOutput* videoOutput1 = CreateVideoOutput(); - EXPECT_NE(videoOutput1, nullptr); - Camera_VideoOutput* videoOutput2 = CreateVideoOutput(); - EXPECT_NE(videoOutput2, nullptr); - ret = OH_CaptureSession_AddVideoOutput(captureSession, videoOutput1); - EXPECT_EQ(ret, 0); - ret =OH_CaptureSession_CommitConfig(captureSession); - EXPECT_EQ(ret, 0); - ret = OH_PreviewOutput_Start(previewOutput); - EXPECT_EQ(ret, 0); - ret = OH_VideoOutput_Start(videoOutput1); - EXPECT_EQ(ret, 0); - ret = OH_VideoOutput_Stop(videoOutput1); - EXPECT_EQ(ret, 0); - ret = OH_VideoOutput_Release(videoOutput1); - EXPECT_EQ(ret, 0); - ret = OH_VideoOutput_Release(videoOutput2); - EXPECT_EQ(ret, 0); - ret = OH_CameraInput_Release(cameraInput); - EXPECT_EQ(ret, 0); - ret = OH_CaptureSession_Release(captureSession); - EXPECT_EQ(ret, 0); -} + + /* * Feature: Framework @@ -1862,6 +1792,7 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_058, TestSize.Level0) EXPECT_EQ(ret, 0); ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); + ReleaseImageReceiver(); } /* @@ -1918,6 +1849,7 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_059, TestSize.Level0) EXPECT_EQ(ret, 0); ret = OH_CaptureSession_Release(captureSession); EXPECT_EQ(ret, 0); + ReleaseImageReceiver(); } /* @@ -1951,8 +1883,68 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_061, TestSize.Level0) { EXPECT_EQ(OH_CaptureSession_SetFlashMode(captureSession, flash), 0); } + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); + EXPECT_NE(previewOutput, nullptr); + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); + EXPECT_EQ(ret, 0); + Camera_PhotoOutput* PhotoOutput = CreatePhotoOutput(); + EXPECT_NE(PhotoOutput, nullptr); - EXPECT_EQ(OH_CaptureSession_AddInput(captureSession, cameraInput), 0); + ret = OH_CaptureSession_AddPhotoOutput(captureSession, PhotoOutput); + EXPECT_EQ(ret, 0); + Camera_VideoOutput* videoOutput = CreateVideoOutput(); + EXPECT_NE(videoOutput, nullptr); + VideoOutput_Callbacks setVideoResultCallback = { + .onFrameStart = &CameraVideoOutptOnFrameStartCb, + .onFrameEnd = &CameraVideoOutptOnFrameEndCb, + .onError = &CameraVideoOutptOnErrorCb + }; + ret = OH_VideoOutput_RegisterCallback(videoOutput, &setVideoResultCallback); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_EQ(OH_CaptureSession_AddVideoOutput(captureSession, videoOutput), 0); + EXPECT_EQ(OH_CaptureSession_CommitConfig(captureSession), 0); + EXPECT_EQ(OH_PreviewOutput_Start(previewOutput), 0); + EXPECT_EQ(OH_VideoOutput_UnregisterCallback(videoOutput, &setVideoResultCallback), 0); + + EXPECT_EQ(OH_VideoOutput_Release(videoOutput), 0); + EXPECT_EQ(OH_PhotoOutput_Release(PhotoOutput), 0); + EXPECT_EQ(OH_PreviewOutput_Release(previewOutput), 0); + EXPECT_EQ(OH_CaptureSession_Release(captureSession), 0); + EXPECT_EQ(OH_CameraInput_Release(cameraInput), 0); + ReleaseImageReceiver(); +} + +/* + * Feature: Framework + * Function: Test close flash preview capture video callback + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test close flash preview capture video callback + */ +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_065, TestSize.Level0) +{ + Camera_ErrorCode ret = CAMERA_OK; + Camera_CaptureSession* captureSession = nullptr; + EXPECT_EQ(OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession), 0); + EXPECT_NE(captureSession, nullptr); + Camera_Input *cameraInput = nullptr; + ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_EQ(OH_CameraInput_Open(cameraInput), CAMERA_OK); + EXPECT_EQ(OH_CaptureSession_BeginConfig(captureSession), 0); + Camera_FlashMode flash =static_cast(FLASH_MODE_OPEN); + bool isSupported = false; + ret = OH_CaptureSession_IsFlashModeSupported(captureSession, flash, &isSupported); + EXPECT_EQ(ret, 0); + if (isSupported) + { + EXPECT_EQ(OH_CaptureSession_SetFlashMode(captureSession, flash), 0); + } + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); EXPECT_NE(previewOutput, nullptr); @@ -1960,13 +1952,53 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_061, TestSize.Level0) .onFrameStart = &CameraPreviewOutptOnFrameStartCb, .onFrameEnd = &CameraPreviewOutptOnFrameEndCb, .onError = &CameraPreviewOutptOnErrorCb - }; + }; ret = OH_PreviewOutput_RegisterCallback(previewOutput, &setPreviewResultCallback); EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); + EXPECT_EQ(ret, 0); + EXPECT_EQ(OH_CaptureSession_CommitConfig(captureSession), 0); + EXPECT_EQ(OH_PreviewOutput_Start(previewOutput), 0); + EXPECT_EQ(OH_PreviewOutput_UnregisterCallback(previewOutput, &setPreviewResultCallback), 0); + EXPECT_EQ(OH_PreviewOutput_Release(previewOutput), 0); + EXPECT_EQ(OH_CaptureSession_Release(captureSession), 0); + EXPECT_EQ(OH_CameraInput_Release(cameraInput), 0); +} - EXPECT_EQ(OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput), 0); - +/* + * Feature: Framework + * Function: Test close flash preview capture video callback + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test close flash preview capture video callback + */ +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_066, TestSize.Level0) +{ + Camera_ErrorCode ret = CAMERA_OK; + Camera_CaptureSession* captureSession = nullptr; + EXPECT_EQ(OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession), 0); + EXPECT_NE(captureSession, nullptr); + Camera_Input *cameraInput = nullptr; + ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_EQ(OH_CameraInput_Open(cameraInput), CAMERA_OK); + EXPECT_EQ(OH_CaptureSession_BeginConfig(captureSession), 0); + Camera_FlashMode flash =static_cast(FLASH_MODE_OPEN); + bool isSupported = false; + ret = OH_CaptureSession_IsFlashModeSupported(captureSession, flash, &isSupported); + EXPECT_EQ(ret, 0); + if (isSupported) + { + EXPECT_EQ(OH_CaptureSession_SetFlashMode(captureSession, flash), 0); + } + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); + EXPECT_NE(previewOutput, nullptr); + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); + EXPECT_EQ(ret, 0); Camera_PhotoOutput* PhotoOutput = CreatePhotoOutput(); EXPECT_NE(PhotoOutput, nullptr); PhotoOutput_Callbacks setPhotoOutputResultCallback = { @@ -1977,36 +2009,76 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_061, TestSize.Level0) }; ret = OH_PhotoOutput_RegisterCallback(PhotoOutput, &setPhotoOutputResultCallback); EXPECT_EQ(ret, CAMERA_OK); + ret = OH_CaptureSession_AddPhotoOutput(captureSession, PhotoOutput); + EXPECT_EQ(ret, 0); + EXPECT_EQ(OH_CaptureSession_CommitConfig(captureSession), 0); + EXPECT_EQ(OH_PreviewOutput_Start(previewOutput), 0); + EXPECT_EQ(OH_PhotoOutput_Capture(PhotoOutput), 0); + EXPECT_EQ(OH_PhotoOutput_UnregisterCallback(PhotoOutput, &setPhotoOutputResultCallback), 0); + EXPECT_EQ(OH_PhotoOutput_Release(PhotoOutput), 0); + EXPECT_EQ(OH_CaptureSession_Release(captureSession), 0); + EXPECT_EQ(OH_CameraInput_Release(cameraInput), 0); + ReleaseImageReceiver(); +} - EXPECT_EQ(OH_CaptureSession_AddPhotoOutput(captureSession, PhotoOutput), 0); +/* + * Feature: Framework + * Function: Test close flash preview capture video callback + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test close flash preview capture video callback + */ +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_062, TestSize.Level0) +{ + Camera_ErrorCode ret = CAMERA_OK; + Camera_CaptureSession* captureSession = nullptr; + EXPECT_EQ(OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession), 0); + EXPECT_NE(captureSession, nullptr); + Camera_Input *cameraInput = nullptr; + ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_EQ(OH_CameraInput_Open(cameraInput), CAMERA_OK); + EXPECT_EQ(OH_CaptureSession_BeginConfig(captureSession), 0); + Camera_FlashMode flash =static_cast(FLASH_MODE_CLOSE); + bool isSupported = false; + ret = OH_CaptureSession_IsFlashModeSupported(captureSession, flash, &isSupported); + EXPECT_EQ(ret, 0); + if (isSupported) + { + EXPECT_EQ(OH_CaptureSession_SetFlashMode(captureSession, flash), 0); + } + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); + EXPECT_NE(previewOutput, nullptr); + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); + EXPECT_EQ(ret, 0); + Camera_PhotoOutput* PhotoOutput = CreatePhotoOutput(); + EXPECT_NE(PhotoOutput, nullptr); + ret = OH_CaptureSession_AddPhotoOutput(captureSession, PhotoOutput); + EXPECT_EQ(ret, 0); Camera_VideoOutput* videoOutput = CreateVideoOutput(); EXPECT_NE(videoOutput, nullptr); - VideoOutput_Callbacks setVideoResultCallback = { .onFrameStart = &CameraVideoOutptOnFrameStartCb, .onFrameEnd = &CameraVideoOutptOnFrameEndCb, .onError = &CameraVideoOutptOnErrorCb }; - - EXPECT_EQ(OH_VideoOutput_RegisterCallback(videoOutput, &setVideoResultCallback), 0); + ret = OH_VideoOutput_RegisterCallback(videoOutput, &setVideoResultCallback); + EXPECT_EQ(ret, CAMERA_OK); EXPECT_EQ(OH_CaptureSession_AddVideoOutput(captureSession, videoOutput), 0); EXPECT_EQ(OH_CaptureSession_CommitConfig(captureSession), 0); EXPECT_EQ(OH_PreviewOutput_Start(previewOutput), 0); - EXPECT_EQ(OH_PhotoOutput_Capture(PhotoOutput), 0); - EXPECT_EQ(OH_VideoOutput_UnregisterCallback(videoOutput, &setVideoResultCallback), 0); - - EXPECT_EQ(OH_VideoOutput_Release(videoOutput), CAMERA_OK); - EXPECT_EQ(OH_PhotoOutput_UnregisterCallback(PhotoOutput, &setPhotoOutputResultCallback), 0); - EXPECT_EQ(OH_PhotoOutput_Release(PhotoOutput), CAMERA_OK); - - ret = OH_PreviewOutput_UnregisterCallback(previewOutput, &setPreviewResultCallback); - EXPECT_EQ(ret, CAMERA_OK); - + + EXPECT_EQ(OH_VideoOutput_Release(videoOutput), 0); + EXPECT_EQ(OH_PhotoOutput_Release(PhotoOutput), 0); EXPECT_EQ(OH_PreviewOutput_Release(previewOutput), 0); EXPECT_EQ(OH_CaptureSession_Release(captureSession), 0); EXPECT_EQ(OH_CameraInput_Release(cameraInput), 0); + ReleaseImageReceiver(); } /* @@ -2017,33 +2089,27 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_061, TestSize.Level0) * EnvConditions: NA * CaseDescription: Test close flash preview capture video callback */ -HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_062, TestSize.Level0) +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_063, TestSize.Level0) { Camera_ErrorCode ret = CAMERA_OK; Camera_CaptureSession* captureSession = nullptr; EXPECT_EQ(OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession), 0); EXPECT_NE(captureSession, nullptr); - Camera_Input *cameraInput = nullptr; ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); EXPECT_EQ(ret, CAMERA_OK); - EXPECT_EQ(OH_CameraInput_Open(cameraInput), CAMERA_OK); EXPECT_EQ(OH_CaptureSession_BeginConfig(captureSession), 0); - Camera_FlashMode flash =static_cast(FLASH_MODE_CLOSE); bool isSupported = false; ret = OH_CaptureSession_IsFlashModeSupported(captureSession, flash, &isSupported); EXPECT_EQ(ret, 0); - if (isSupported) { EXPECT_EQ(OH_CaptureSession_SetFlashMode(captureSession, flash), 0); } - ret = OH_CaptureSession_AddInput(captureSession, cameraInput); EXPECT_EQ(ret, 0); - Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); EXPECT_NE(previewOutput, nullptr); @@ -2052,55 +2118,72 @@ HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_062, TestSize.Level0) .onFrameEnd = &CameraPreviewOutptOnFrameEndCb, .onError = &CameraPreviewOutptOnErrorCb }; - + ret = OH_PreviewOutput_RegisterCallback(previewOutput, &setPreviewResultCallback); EXPECT_EQ(ret, CAMERA_OK); - ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); EXPECT_EQ(ret, 0); + EXPECT_EQ(OH_CaptureSession_CommitConfig(captureSession), 0); + EXPECT_EQ(OH_PreviewOutput_Start(previewOutput), 0); + EXPECT_EQ(OH_PreviewOutput_UnregisterCallback(previewOutput, &setPreviewResultCallback), 0); + EXPECT_EQ(OH_PreviewOutput_Release(previewOutput), 0); + EXPECT_EQ(OH_CaptureSession_Release(captureSession), 0); + EXPECT_EQ(OH_CameraInput_Release(cameraInput), 0); +} +/* + * Feature: Framework + * Function: Test close flash preview capture video callback + * SubFunction: NA + * FunctionPoints: NA + * EnvConditions: NA + * CaseDescription: Test close flash preview capture video callback + */ +HWTEST_F(CameraNdkUnitTest, camera_frameworkndk_unittest_064, TestSize.Level0) +{ + Camera_ErrorCode ret = CAMERA_OK; + Camera_CaptureSession* captureSession = nullptr; + EXPECT_EQ(OH_CameraManager_CreateCaptureSession(cameraManager, &captureSession), 0); + EXPECT_NE(captureSession, nullptr); + Camera_Input *cameraInput = nullptr; + ret = OH_CameraManager_CreateCameraInput(cameraManager, cameraDevice, &cameraInput); + EXPECT_EQ(ret, CAMERA_OK); + EXPECT_EQ(OH_CameraInput_Open(cameraInput), CAMERA_OK); + EXPECT_EQ(OH_CaptureSession_BeginConfig(captureSession), 0); + Camera_FlashMode flash =static_cast(FLASH_MODE_CLOSE); + bool isSupported = false; + ret = OH_CaptureSession_IsFlashModeSupported(captureSession, flash, &isSupported); + EXPECT_EQ(ret, 0); + if (isSupported) + { + EXPECT_EQ(OH_CaptureSession_SetFlashMode(captureSession, flash), 0); + } + ret = OH_CaptureSession_AddInput(captureSession, cameraInput); + EXPECT_EQ(ret, 0); + Camera_PreviewOutput* previewOutput = CreatePreviewOutput(); + EXPECT_NE(previewOutput, nullptr); + ret = OH_CaptureSession_AddPreviewOutput(captureSession, previewOutput); + EXPECT_EQ(ret, 0); Camera_PhotoOutput* PhotoOutput = CreatePhotoOutput(); EXPECT_NE(PhotoOutput, nullptr); - PhotoOutput_Callbacks setPhotoOutputResultCallback = { .onFrameStart = &CameraPhotoOutptOnFrameStartCb, .onFrameShutter = &CameraPhotoOutptOnFrameShutterCb, .onFrameEnd = &CameraPhotoOutptOnFrameEndCb, .onError = &CameraPhotoOutptOnErrorCb }; - ret = OH_PhotoOutput_RegisterCallback(PhotoOutput, &setPhotoOutputResultCallback); EXPECT_EQ(ret, CAMERA_OK); ret = OH_CaptureSession_AddPhotoOutput(captureSession, PhotoOutput); EXPECT_EQ(ret, 0); - Camera_VideoOutput* videoOutput = CreateVideoOutput(); - EXPECT_NE(videoOutput, nullptr); - VideoOutput_Callbacks setVideoResultCallback = { - .onFrameStart = &CameraVideoOutptOnFrameStartCb, - .onFrameEnd = &CameraVideoOutptOnFrameEndCb, - .onError = &CameraVideoOutptOnErrorCb - }; - ret = OH_VideoOutput_RegisterCallback(videoOutput, &setVideoResultCallback); - EXPECT_EQ(ret, CAMERA_OK); - - EXPECT_EQ(OH_CaptureSession_AddVideoOutput(captureSession, videoOutput), 0); - EXPECT_EQ(OH_CaptureSession_CommitConfig(captureSession), 0); EXPECT_EQ(OH_PreviewOutput_Start(previewOutput), 0); - EXPECT_EQ(OH_PhotoOutput_Capture(PhotoOutput), 0); - - EXPECT_EQ(OH_VideoOutput_UnregisterCallback(videoOutput, &setVideoResultCallback), 0); - EXPECT_EQ(OH_VideoOutput_Release(videoOutput), 0); - EXPECT_EQ(OH_PhotoOutput_UnregisterCallback(PhotoOutput, &setPhotoOutputResultCallback), 0); EXPECT_EQ(OH_PhotoOutput_Release(PhotoOutput), 0); - - EXPECT_EQ(OH_PreviewOutput_UnregisterCallback(previewOutput, &setPreviewResultCallback), 0); - EXPECT_EQ(OH_PreviewOutput_Release(previewOutput), 0); - EXPECT_EQ(OH_CaptureSession_Release(captureSession), 0); EXPECT_EQ(OH_CameraInput_Release(cameraInput), 0); + ReleaseImageReceiver(); } } // CameraStandard } // OHOS \ No newline at end of file -- Gitee From e5186f7ff908ba57e3066f49fd65fa6c669a365a Mon Sep 17 00:00:00 2001 From: cold Date: Sat, 28 Oct 2023 11:29:22 +0000 Subject: [PATCH 8/8] update frameworks/native/camera/test/unittest/BUILD.gn. Signed-off-by: cold --- frameworks/native/camera/test/unittest/BUILD.gn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/native/camera/test/unittest/BUILD.gn b/frameworks/native/camera/test/unittest/BUILD.gn index 910566d6c..95c8bc34a 100644 --- a/frameworks/native/camera/test/unittest/BUILD.gn +++ b/frameworks/native/camera/test/unittest/BUILD.gn @@ -161,9 +161,9 @@ ohos_unittest("camera_ndk_unittest_v1_1") { deps = [ "${graphic_2d_path}:libsurface", "${multimedia_camera_framework_path}/frameworks/native/camera:camera_framework", + "${multimedia_camera_framework_path}/frameworks/native/ndk:camera_ndk", "${multimedia_camera_framework_path}/services/camera_service:camera_service", "${third_party_path}:gmock_main", - "${multimedia_camera_framework_path}/frameworks/native/ndk:camera_ndk", ] external_deps = [ -- Gitee