diff options
Diffstat (limited to 'testcase/camera/camera_hal_tc.cpp')
-rw-r--r-- | testcase/camera/camera_hal_tc.cpp | 126 |
1 files changed, 102 insertions, 24 deletions
diff --git a/testcase/camera/camera_hal_tc.cpp b/testcase/camera/camera_hal_tc.cpp index 3d3c149..9e8eae9 100644 --- a/testcase/camera/camera_hal_tc.cpp +++ b/testcase/camera/camera_hal_tc.cpp @@ -22,6 +22,7 @@ #include <unistd.h> #include <iostream> #include <camera_hal_interface.h> +#include <system_info.h> using namespace std; @@ -36,6 +37,17 @@ camera_format_t video_format; GMutex msg_cb_lock; GCond msg_cb_cond; +bool camera_supported; + +#define CAMERA_SUPPORT_CHECK \ + do {\ + if (!camera_supported) {\ + cout << "CAMERA NOT SUPPORTED" << endl;\ + EXPECT_EQ(ret, CAMERA_ERROR_DEVICE_NOT_SUPPORTED);\ + return;\ + }\ + } while (0) + /* * callback */ @@ -148,6 +160,10 @@ class CameraHalTest : public testing::Test public: virtual void SetUp() { + camera_supported = false; + + system_info_get_platform_bool("http://tizen.org/feature/camera", &camera_supported); + ret = camera_hal_interface_init(&h); if (ret != CAMERA_ERROR_NONE) { cout << "camera hal init failed " << ret << endl; @@ -160,7 +176,7 @@ class CameraHalTest : public testing::Test return; } - ret = GetSupportedFormat(); + ret = GetSupportedFormat(0); return; } @@ -175,7 +191,7 @@ class CameraHalTest : public testing::Test return; } - int GetSupportedFormat() + int GetSupportedFormat(int index) { if (device_info_list.count < 1) { cout << "no available camera device" << endl; @@ -183,25 +199,25 @@ class CameraHalTest : public testing::Test } /* set preview format */ - 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_format = device_info_list.device_info[index].format_list.formats[0]; + preview_format.stream_resolution.width = device_info_list.device_info[index].preview_list.resolutions[0].width; + preview_format.stream_resolution.height = device_info_list.device_info[index].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_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_resolution.width = device_info_list.device_info[index].capture_list.resolutions[0].width; + preview_format.capture_resolution.height = device_info_list.device_info[index].capture_list.resolutions[0].height; preview_format.capture_quality = 95; /* set video format */ - 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_format = device_info_list.device_info[index].format_list.formats[0]; + video_format.stream_resolution.width = device_info_list.device_info[index].video_list.resolutions[0].width; + video_format.stream_resolution.height = device_info_list.device_info[index].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_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_resolution.width = device_info_list.device_info[index].capture_list.resolutions[0].width; + video_format.capture_resolution.height = device_info_list.device_info[index].capture_list.resolutions[0].height; video_format.capture_quality = 95; return CAMERA_ERROR_NONE; @@ -214,6 +230,8 @@ class CameraHalTest : public testing::Test */ TEST_F(CameraHalTest, InitP) { + CAMERA_SUPPORT_CHECK; + EXPECT_NE(h, nullptr); } @@ -221,6 +239,8 @@ TEST_F(CameraHalTest, DeinitP) { camera_hal_interface *hal_handle = nullptr; + CAMERA_SUPPORT_CHECK; + ret = camera_hal_interface_init(&hal_handle); EXPECT_EQ(ret, CAMERA_ERROR_NONE); @@ -235,12 +255,16 @@ TEST_F(CameraHalTest, DeinitP) TEST_F(CameraHalTest, GetDeviceInfoListP) { + CAMERA_SUPPORT_CHECK; + EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); } TEST_F(CameraHalTest, GetDeviceInfoListN) { + CAMERA_SUPPORT_CHECK; + EXPECT_NE(h, nullptr); ret = camera_hal_interface_get_device_info_list(h, nullptr); @@ -249,6 +273,8 @@ TEST_F(CameraHalTest, GetDeviceInfoListN) TEST_F(CameraHalTest, OpenDeviceP) { + CAMERA_SUPPORT_CHECK; + EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); @@ -264,6 +290,8 @@ TEST_F(CameraHalTest, OpenDeviceP) TEST_F(CameraHalTest, OpenDeviceN) { + CAMERA_SUPPORT_CHECK; + EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); @@ -279,6 +307,8 @@ TEST_F(CameraHalTest, OpenDeviceN) TEST_F(CameraHalTest, CloseDeviceP) { + CAMERA_SUPPORT_CHECK; + EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); @@ -295,6 +325,8 @@ TEST_F(CameraHalTest, CloseDeviceP) TEST_F(CameraHalTest, SetPreviewStreamFormatP) { + CAMERA_SUPPORT_CHECK; + EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); @@ -309,6 +341,8 @@ TEST_F(CameraHalTest, SetPreviewStreamFormatP) TEST_F(CameraHalTest, SetPreviewStreamFormatN) { + CAMERA_SUPPORT_CHECK; + EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); @@ -325,6 +359,8 @@ TEST_F(CameraHalTest, GetPreviewStreamFormatP) { camera_format_t get_format; + CAMERA_SUPPORT_CHECK; + EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); @@ -347,6 +383,8 @@ TEST_F(CameraHalTest, GetPreviewStreamFormatP) TEST_F(CameraHalTest, GetPreviewStreamFormatN) { + CAMERA_SUPPORT_CHECK; + EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); @@ -361,31 +399,43 @@ TEST_F(CameraHalTest, GetPreviewStreamFormatN) TEST_F(CameraHalTest, StartPreviewP) { + unsigned int i = 0; + + CAMERA_SUPPORT_CHECK; + EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); - ret = camera_hal_interface_open_device(h, device_info_list.device_info[0].index); - EXPECT_EQ(ret, CAMERA_ERROR_NONE); + for (i = 0 ; i < device_info_list.count ; i++) { + cout << "Device Index " << i << endl; - ret = camera_hal_interface_set_preview_stream_format(h, &preview_format); - EXPECT_EQ(ret, CAMERA_ERROR_NONE); + ret = camera_hal_interface_open_device(h, device_info_list.device_info[i].index); + EXPECT_EQ(ret, CAMERA_ERROR_NONE); - preview_check = 0; + GetSupportedFormat(i); - ret = camera_hal_interface_start_preview(h, _PreviewCb, (void *)h); - EXPECT_EQ(ret, CAMERA_ERROR_NONE); + ret = camera_hal_interface_set_preview_stream_format(h, &preview_format); + EXPECT_EQ(ret, CAMERA_ERROR_NONE); - /* wait for preview frame */ - sleep(1); + preview_check = 0; - EXPECT_TRUE(preview_check); + ret = camera_hal_interface_start_preview(h, _PreviewCb, (void *)h); + EXPECT_EQ(ret, CAMERA_ERROR_NONE); - camera_hal_interface_stop_preview(h); - camera_hal_interface_close_device(h); + /* wait for preview frame */ + sleep(1); + + EXPECT_TRUE(preview_check); + + camera_hal_interface_stop_preview(h); + camera_hal_interface_close_device(h); + } } TEST_F(CameraHalTest, StartPreviewN) { + CAMERA_SUPPORT_CHECK; + EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); @@ -403,6 +453,8 @@ TEST_F(CameraHalTest, StartPreviewN) TEST_F(CameraHalTest, StopPreviewP) { + CAMERA_SUPPORT_CHECK; + EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); @@ -423,6 +475,8 @@ TEST_F(CameraHalTest, StopPreviewP) TEST_F(CameraHalTest, StartCaptureP) { + CAMERA_SUPPORT_CHECK; + EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); @@ -456,6 +510,8 @@ TEST_F(CameraHalTest, StartCaptureP) TEST_F(CameraHalTest, StartCaptureN) { + CAMERA_SUPPORT_CHECK; + EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); @@ -477,6 +533,8 @@ TEST_F(CameraHalTest, StartCaptureN) TEST_F(CameraHalTest, StartRecordP) { + CAMERA_SUPPORT_CHECK; + EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); @@ -513,6 +571,8 @@ TEST_F(CameraHalTest, StartRecordP) TEST_F(CameraHalTest, StartRecordN) { + CAMERA_SUPPORT_CHECK; + EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); @@ -540,6 +600,8 @@ TEST_F(CameraHalTest, StartRecordN) TEST_F(CameraHalTest, SetVideoStreamFormatP) { + CAMERA_SUPPORT_CHECK; + EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); @@ -556,6 +618,8 @@ TEST_F(CameraHalTest, SetVideoStreamFormatP) TEST_F(CameraHalTest, SetVideoStreamFormatN) { + CAMERA_SUPPORT_CHECK; + EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); @@ -572,6 +636,8 @@ TEST_F(CameraHalTest, GetVideoStreamFormatP) { camera_format_t get_format; + CAMERA_SUPPORT_CHECK; + EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); @@ -597,6 +663,8 @@ TEST_F(CameraHalTest, GetVideoStreamFormatP) TEST_F(CameraHalTest, GetVideoStreamFormatN) { + CAMERA_SUPPORT_CHECK; + EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); @@ -613,6 +681,8 @@ TEST_F(CameraHalTest, AddMessageCallbackP) { uint32_t cb_id = 0; + CAMERA_SUPPORT_CHECK; + EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); @@ -633,6 +703,8 @@ TEST_F(CameraHalTest, AddMessageCallbackN1) { uint32_t cb_id = 0; + CAMERA_SUPPORT_CHECK; + EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); @@ -647,6 +719,8 @@ TEST_F(CameraHalTest, AddMessageCallbackN1) TEST_F(CameraHalTest, AddMessageCallbackN2) { + CAMERA_SUPPORT_CHECK; + EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); @@ -663,6 +737,8 @@ TEST_F(CameraHalTest, RemoveMessageCallbackP) { uint32_t cb_id = 0; + CAMERA_SUPPORT_CHECK; + EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); @@ -685,6 +761,8 @@ TEST_F(CameraHalTest, StartAutoFocusP) uint32_t cb_id = 0; gint64 end_time = 0; + CAMERA_SUPPORT_CHECK; + EXPECT_NE(h, nullptr); EXPECT_EQ(ret, CAMERA_ERROR_NONE); |