diff options
Diffstat (limited to 'testcase/camera/camera_hal_tc.cpp')
-rw-r--r-- | testcase/camera/camera_hal_tc.cpp | 160 |
1 files changed, 89 insertions, 71 deletions
diff --git a/testcase/camera/camera_hal_tc.cpp b/testcase/camera/camera_hal_tc.cpp index 4f34330..15fe032 100644 --- a/testcase/camera/camera_hal_tc.cpp +++ b/testcase/camera/camera_hal_tc.cpp @@ -30,7 +30,7 @@ int preview_check; int capture_check; int video_check; camera_hal_interface *h; -camera_device_list_t device_list; +camera_device_info_list_t device_info_list; camera_format_t preview_format; camera_format_t video_format; GMutex msg_cb_lock; @@ -154,7 +154,7 @@ class CameraHalTest : public testing::Test return; } - ret = camera_hal_interface_get_device_list(h, &device_list); + ret = camera_hal_interface_get_device_info_list(h, &device_info_list); if (ret != CAMERA_ERROR_NONE) { cout << "get device list failed " << ret << endl; return; @@ -177,31 +177,31 @@ class CameraHalTest : public testing::Test int GetSupportedFormat() { - if (device_list.count < 1) { + if (device_info_list.count < 1) { cout << "no available camera device" << endl; return CAMERA_ERROR_DEVICE_NOT_SUPPORTED; } /* set preview format */ - preview_format.stream_format = device_list.device_info[0].format_list.formats[0]; - preview_format.stream_resolution.width = device_list.device_info[0].preview_list.resolutions[0].width; - preview_format.stream_resolution.height = device_list.device_info[0].preview_list.resolutions[0].height; + preview_format.stream_format = device_info_list.device_info[0].format_list.formats[0]; + preview_format.stream_resolution.width = device_info_list.device_info[0].preview_list.resolutions[0].width; + preview_format.stream_resolution.height = device_info_list.device_info[0].preview_list.resolutions[0].height; preview_format.stream_fps = 15; preview_format.stream_rotation = CAMERA_ROTATION_0; preview_format.capture_format = CAMERA_PIXEL_FORMAT_JPEG; - preview_format.capture_resolution.width = device_list.device_info[0].capture_list.resolutions[0].width; - preview_format.capture_resolution.height = device_list.device_info[0].capture_list.resolutions[0].height; + preview_format.capture_resolution.width = device_info_list.device_info[0].capture_list.resolutions[0].width; + preview_format.capture_resolution.height = device_info_list.device_info[0].capture_list.resolutions[0].height; preview_format.capture_quality = 95; /* set video format */ - video_format.stream_format = device_list.device_info[0].format_list.formats[0]; - video_format.stream_resolution.width = device_list.device_info[0].video_list.resolutions[0].width; - video_format.stream_resolution.height = device_list.device_info[0].video_list.resolutions[0].height; + video_format.stream_format = device_info_list.device_info[0].format_list.formats[0]; + video_format.stream_resolution.width = device_info_list.device_info[0].video_list.resolutions[0].width; + video_format.stream_resolution.height = device_info_list.device_info[0].video_list.resolutions[0].height; video_format.stream_fps = 15; video_format.stream_rotation = CAMERA_ROTATION_0; video_format.capture_format = CAMERA_PIXEL_FORMAT_JPEG; - video_format.capture_resolution.width = device_list.device_info[0].capture_list.resolutions[0].width; - video_format.capture_resolution.height = device_list.device_info[0].capture_list.resolutions[0].height; + video_format.capture_resolution.width = device_info_list.device_info[0].capture_list.resolutions[0].width; + video_format.capture_resolution.height = device_info_list.device_info[0].capture_list.resolutions[0].height; video_format.capture_quality = 95; return CAMERA_ERROR_NONE; @@ -233,17 +233,17 @@ TEST_F(CameraHalTest, DeinitP) } } -TEST_F(CameraHalTest, GetDeviceListP) +TEST_F(CameraHalTest, GetDeviceInfoListP) { EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); } -TEST_F(CameraHalTest, GetDeviceListN) +TEST_F(CameraHalTest, GetDeviceInfoListN) { EXPECT_NE(h, nullptr); - ret = camera_hal_interface_get_device_list(h, nullptr); + ret = camera_hal_interface_get_device_info_list(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_INVALID_PARAMETER); } @@ -252,8 +252,8 @@ TEST_F(CameraHalTest, OpenDeviceP) EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); - if (device_list.count > 0) { - ret = camera_hal_interface_open_device(h, device_list.device_info[0].index); + if (device_info_list.count > 0) { + ret = camera_hal_interface_open_device(h, device_info_list.device_info[0].index); EXPECT_EQ(ret, CAMERA_ERROR_NONE); if (ret == CAMERA_ERROR_NONE) { @@ -267,8 +267,8 @@ TEST_F(CameraHalTest, OpenDeviceN) EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); - if (device_list.count > 0) { - ret = camera_hal_interface_open_device(NULL, device_list.device_info[device_list.count - 1].index + 1); + if (device_info_list.count > 0) { + ret = camera_hal_interface_open_device(NULL, device_info_list.device_info[device_info_list.count - 1].index + 1); EXPECT_NE(ret, CAMERA_ERROR_NONE); if (ret == CAMERA_ERROR_NONE) { @@ -282,8 +282,8 @@ TEST_F(CameraHalTest, CloseDeviceP) EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); - if (device_list.count > 0) { - ret = camera_hal_interface_open_device(h, device_list.device_info[0].index); + if (device_info_list.count > 0) { + ret = camera_hal_interface_open_device(h, device_info_list.device_info[0].index); EXPECT_EQ(ret, CAMERA_ERROR_NONE); if (ret == CAMERA_ERROR_NONE) { @@ -298,7 +298,7 @@ TEST_F(CameraHalTest, SetPreviewStreamFormatP) EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); - ret = camera_hal_interface_open_device(h, device_list.device_info[0].index); + ret = camera_hal_interface_open_device(h, device_info_list.device_info[0].index); EXPECT_EQ(ret, CAMERA_ERROR_NONE); ret = camera_hal_interface_set_preview_stream_format(h, &preview_format); @@ -306,13 +306,13 @@ TEST_F(CameraHalTest, SetPreviewStreamFormatP) camera_hal_interface_close_device(h); } -#if 0 + TEST_F(CameraHalTest, SetPreviewStreamFormatN) { EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); - ret = camera_hal_interface_open_device(h, device_list.device_info[0].index); + ret = camera_hal_interface_open_device(h, device_info_list.device_info[0].index); EXPECT_EQ(ret, CAMERA_ERROR_NONE); ret = camera_hal_interface_set_preview_stream_format(h, nullptr); @@ -328,7 +328,7 @@ TEST_F(CameraHalTest, GetPreviewStreamFormatP) EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); - ret = camera_hal_interface_open_device(h, device_list.device_info[0].index); + ret = camera_hal_interface_open_device(h, device_info_list.device_info[0].index); EXPECT_EQ(ret, CAMERA_ERROR_NONE); ret = camera_hal_interface_set_preview_stream_format(h, &preview_format); @@ -350,7 +350,7 @@ TEST_F(CameraHalTest, GetPreviewStreamFormatN) EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); - ret = camera_hal_interface_open_device(h, device_list.device_info[0].index); + ret = camera_hal_interface_open_device(h, device_info_list.device_info[0].index); EXPECT_EQ(ret, CAMERA_ERROR_NONE); ret = camera_hal_interface_get_preview_stream_format(h, nullptr); @@ -364,7 +364,7 @@ TEST_F(CameraHalTest, StartPreviewP) EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); - ret = camera_hal_interface_open_device(h, device_list.device_info[0].index); + ret = camera_hal_interface_open_device(h, device_info_list.device_info[0].index); EXPECT_EQ(ret, CAMERA_ERROR_NONE); ret = camera_hal_interface_set_preview_stream_format(h, &preview_format); @@ -389,7 +389,7 @@ TEST_F(CameraHalTest, StartPreviewN) EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); - ret = camera_hal_interface_open_device(h, device_list.device_info[0].index); + ret = camera_hal_interface_open_device(h, device_info_list.device_info[0].index); EXPECT_EQ(ret, CAMERA_ERROR_NONE); ret = camera_hal_interface_set_preview_stream_format(h, &preview_format); @@ -406,7 +406,7 @@ TEST_F(CameraHalTest, StopPreviewP) EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); - ret = camera_hal_interface_open_device(h, device_list.device_info[0].index); + ret = camera_hal_interface_open_device(h, device_info_list.device_info[0].index); EXPECT_EQ(ret, CAMERA_ERROR_NONE); ret = camera_hal_interface_set_preview_stream_format(h, &preview_format); @@ -426,7 +426,7 @@ TEST_F(CameraHalTest, StartCaptureP) EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); - ret = camera_hal_interface_open_device(h, device_list.device_info[0].index); + ret = camera_hal_interface_open_device(h, device_info_list.device_info[0].index); EXPECT_EQ(ret, CAMERA_ERROR_NONE); ret = camera_hal_interface_set_preview_stream_format(h, &preview_format); @@ -438,14 +438,18 @@ TEST_F(CameraHalTest, StartCaptureP) capture_check = 0; ret = camera_hal_interface_start_capture(h, _CaptureCb, NULL); - EXPECT_EQ(ret, CAMERA_ERROR_NONE); - /* wait for capture frame */ - sleep(1); + if (ret != CAMERA_ERROR_DEVICE_NOT_SUPPORTED) { + EXPECT_EQ(ret, CAMERA_ERROR_NONE); + + /* wait for capture frame */ + sleep(1); - EXPECT_TRUE(capture_check); + EXPECT_TRUE(capture_check); + + camera_hal_interface_stop_capture(h); + } - camera_hal_interface_stop_capture(h); camera_hal_interface_stop_preview(h); camera_hal_interface_close_device(h); } @@ -455,7 +459,7 @@ TEST_F(CameraHalTest, StartCaptureN) EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); - ret = camera_hal_interface_open_device(h, device_list.device_info[0].index); + ret = camera_hal_interface_open_device(h, device_info_list.device_info[0].index); EXPECT_EQ(ret, CAMERA_ERROR_NONE); ret = camera_hal_interface_set_preview_stream_format(h, &preview_format); @@ -476,7 +480,7 @@ TEST_F(CameraHalTest, StartRecordP) EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); - ret = camera_hal_interface_open_device(h, device_list.device_info[0].index); + ret = camera_hal_interface_open_device(h, device_info_list.device_info[0].index); EXPECT_EQ(ret, CAMERA_ERROR_NONE); ret = camera_hal_interface_set_preview_stream_format(h, &preview_format); @@ -486,19 +490,23 @@ TEST_F(CameraHalTest, StartRecordP) EXPECT_EQ(ret, CAMERA_ERROR_NONE); ret = camera_hal_interface_set_video_stream_format(h, &video_format); - EXPECT_EQ(ret, CAMERA_ERROR_NONE); - video_check = 0; + if (ret != CAMERA_ERROR_DEVICE_NOT_SUPPORTED) { + EXPECT_EQ(ret, CAMERA_ERROR_NONE); + + video_check = 0; - ret = camera_hal_interface_start_record(h, _VideoCb, (void *)h); - EXPECT_EQ(ret, CAMERA_ERROR_NONE); + ret = camera_hal_interface_start_record(h, _VideoCb, (void *)h); + EXPECT_EQ(ret, CAMERA_ERROR_NONE); - /* wait for video frame */ - sleep(1); + /* wait for video frame */ + sleep(1); - EXPECT_TRUE(video_check); + EXPECT_TRUE(video_check); + + camera_hal_interface_stop_record(h); + } - camera_hal_interface_stop_record(h); camera_hal_interface_stop_preview(h); camera_hal_interface_close_device(h); } @@ -508,7 +516,7 @@ TEST_F(CameraHalTest, StartRecordN) EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); - ret = camera_hal_interface_open_device(h, device_list.device_info[0].index); + ret = camera_hal_interface_open_device(h, device_info_list.device_info[0].index); EXPECT_EQ(ret, CAMERA_ERROR_NONE); ret = camera_hal_interface_set_preview_stream_format(h, &preview_format); @@ -518,10 +526,13 @@ TEST_F(CameraHalTest, StartRecordN) EXPECT_EQ(ret, CAMERA_ERROR_NONE); ret = camera_hal_interface_set_video_stream_format(h, &video_format); - EXPECT_EQ(ret, CAMERA_ERROR_NONE); - ret = camera_hal_interface_start_record(h, nullptr, (void *)h); - EXPECT_EQ(ret, CAMERA_ERROR_INVALID_PARAMETER); + if (ret != CAMERA_ERROR_DEVICE_NOT_SUPPORTED) { + EXPECT_EQ(ret, CAMERA_ERROR_NONE); + + ret = camera_hal_interface_start_record(h, nullptr, (void *)h); + EXPECT_EQ(ret, CAMERA_ERROR_INVALID_PARAMETER); + } camera_hal_interface_stop_preview(h); camera_hal_interface_close_device(h); @@ -532,11 +543,13 @@ TEST_F(CameraHalTest, SetVideoStreamFormatP) EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); - ret = camera_hal_interface_open_device(h, device_list.device_info[0].index); + ret = camera_hal_interface_open_device(h, device_info_list.device_info[0].index); EXPECT_EQ(ret, CAMERA_ERROR_NONE); ret = camera_hal_interface_set_video_stream_format(h, &video_format); - EXPECT_EQ(ret, CAMERA_ERROR_NONE); + if (ret != CAMERA_ERROR_DEVICE_NOT_SUPPORTED) { + EXPECT_EQ(ret, CAMERA_ERROR_NONE); + } camera_hal_interface_close_device(h); } @@ -546,7 +559,7 @@ TEST_F(CameraHalTest, SetVideoStreamFormatN) EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); - ret = camera_hal_interface_open_device(h, device_list.device_info[0].index); + ret = camera_hal_interface_open_device(h, device_info_list.device_info[0].index); EXPECT_EQ(ret, CAMERA_ERROR_NONE); ret = camera_hal_interface_set_video_stream_format(h, nullptr); @@ -564,17 +577,20 @@ TEST_F(CameraHalTest, GetVideoStreamFormatP) memset(&get_format, 0x0, sizeof(camera_format_t)); - ret = camera_hal_interface_open_device(h, device_list.device_info[0].index); + ret = camera_hal_interface_open_device(h, device_info_list.device_info[0].index); EXPECT_EQ(ret, CAMERA_ERROR_NONE); ret = camera_hal_interface_set_video_stream_format(h, &video_format); - EXPECT_EQ(ret, CAMERA_ERROR_NONE); - ret = camera_hal_interface_get_video_stream_format(h, &get_format); - EXPECT_EQ(ret, CAMERA_ERROR_NONE); + if (ret != CAMERA_ERROR_DEVICE_NOT_SUPPORTED) { + EXPECT_EQ(ret, CAMERA_ERROR_NONE); - ret = memcmp(&video_format, &get_format, sizeof(camera_format_t)); - EXPECT_EQ(ret, 0); + ret = camera_hal_interface_get_video_stream_format(h, &get_format); + EXPECT_EQ(ret, CAMERA_ERROR_NONE); + + ret = memcmp(&video_format, &get_format, sizeof(camera_format_t)); + EXPECT_EQ(ret, 0); + } camera_hal_interface_close_device(h); } @@ -584,11 +600,11 @@ TEST_F(CameraHalTest, GetVideoStreamFormatN) EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); - ret = camera_hal_interface_open_device(h, device_list.device_info[0].index); + ret = camera_hal_interface_open_device(h, device_info_list.device_info[0].index); EXPECT_EQ(ret, CAMERA_ERROR_NONE); ret = camera_hal_interface_get_video_stream_format(h, nullptr); - EXPECT_EQ(ret, CAMERA_ERROR_NONE); + EXPECT_EQ(ret, CAMERA_ERROR_INVALID_PARAMETER); camera_hal_interface_close_device(h); } @@ -600,7 +616,7 @@ TEST_F(CameraHalTest, AddMessageCallbackP) EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); - ret = camera_hal_interface_open_device(h, device_list.device_info[0].index); + ret = camera_hal_interface_open_device(h, device_info_list.device_info[0].index); EXPECT_EQ(ret, CAMERA_ERROR_NONE); ret = camera_hal_interface_add_message_callback(h, _MessageCb, nullptr, &cb_id); @@ -620,7 +636,7 @@ TEST_F(CameraHalTest, AddMessageCallbackN1) EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); - ret = camera_hal_interface_open_device(h, device_list.device_info[0].index); + ret = camera_hal_interface_open_device(h, device_info_list.device_info[0].index); EXPECT_EQ(ret, CAMERA_ERROR_NONE); ret = camera_hal_interface_add_message_callback(h, nullptr, nullptr, &cb_id); @@ -634,7 +650,7 @@ TEST_F(CameraHalTest, AddMessageCallbackN2) EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); - ret = camera_hal_interface_open_device(h, device_list.device_info[0].index); + ret = camera_hal_interface_open_device(h, device_info_list.device_info[0].index); EXPECT_EQ(ret, CAMERA_ERROR_NONE); ret = camera_hal_interface_add_message_callback(h, _MessageCb, nullptr, nullptr); @@ -650,7 +666,7 @@ TEST_F(CameraHalTest, RemoveMessageCallbackP) EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); - ret = camera_hal_interface_open_device(h, device_list.device_info[0].index); + ret = camera_hal_interface_open_device(h, device_info_list.device_info[0].index); EXPECT_EQ(ret, CAMERA_ERROR_NONE); ret = camera_hal_interface_add_message_callback(h, _MessageCb, nullptr, &cb_id); @@ -672,7 +688,7 @@ TEST_F(CameraHalTest, StartAutoFocusP) EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); - ret = camera_hal_interface_open_device(h, device_list.device_info[0].index); + ret = camera_hal_interface_open_device(h, device_info_list.device_info[0].index); EXPECT_EQ(ret, CAMERA_ERROR_NONE); ret = camera_hal_interface_add_message_callback(h, _MessageCb, nullptr, &cb_id); @@ -687,11 +703,14 @@ TEST_F(CameraHalTest, StartAutoFocusP) g_mutex_lock(&msg_cb_lock); ret = camera_hal_interface_start_auto_focus(h); - EXPECT_EQ(ret, CAMERA_ERROR_NONE); - /* wait a message and check result */ - end_time = g_get_monotonic_time() + G_TIME_SPAN_SECOND * 5; - EXPECT_EQ(g_cond_wait_until(&msg_cb_cond, &msg_cb_lock, end_time), true); + if (ret != CAMERA_ERROR_DEVICE_NOT_SUPPORTED) { + EXPECT_EQ(ret, CAMERA_ERROR_NONE); + + /* wait a message and check result */ + end_time = g_get_monotonic_time() + G_TIME_SPAN_SECOND * 5; + EXPECT_EQ(g_cond_wait_until(&msg_cb_cond, &msg_cb_lock, end_time), true); + } g_mutex_unlock(&msg_cb_lock); @@ -699,7 +718,6 @@ TEST_F(CameraHalTest, StartAutoFocusP) camera_hal_interface_remove_message_callback(h, cb_id); camera_hal_interface_close_device(h); } -#endif int main(int argc, char **argv) { |