summaryrefslogtreecommitdiff
path: root/testcase/camera/camera_hal_tc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'testcase/camera/camera_hal_tc.cpp')
-rw-r--r--testcase/camera/camera_hal_tc.cpp160
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)
{