diff options
author | Jeongmo Yang <jm80.yang@samsung.com> | 2018-05-14 17:37:58 +0900 |
---|---|---|
committer | Jeongmo Yang <jm80.yang@samsung.com> | 2018-05-15 10:27:08 +0900 |
commit | ad067e178f59ad1100d1f612f3874cab2cd0c7db (patch) | |
tree | 6f621f9e86a770e824c4a78f9e796d1522ccd7fa | |
parent | 1f6083af622f7390ed9ce543dc27834d54ac46ea (diff) | |
download | mm-hal-interface-ad067e178f59ad1100d1f612f3874cab2cd0c7db.tar.gz mm-hal-interface-ad067e178f59ad1100d1f612f3874cab2cd0c7db.tar.bz2 mm-hal-interface-ad067e178f59ad1100d1f612f3874cab2cd0c7db.zip |
[camera/haltests] Update
1. Add camera feature check
2. Test all devices in device list
[Version] 0.0.8
[Profile] Common
[Issue Type] Update
[Dependency module] N/A
Change-Id: If6b5fc39b897016c5128b16385423cc7f04cfb45
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
-rw-r--r-- | configure.ac | 4 | ||||
-rw-r--r-- | packaging/mm-hal-interface.spec | 5 | ||||
-rw-r--r-- | testcase/camera/Makefile.am | 4 | ||||
-rw-r--r-- | testcase/camera/camera_hal_tc.cpp | 126 |
4 files changed, 112 insertions, 27 deletions
diff --git a/configure.ac b/configure.ac index 711a40f..c476c63 100644 --- a/configure.ac +++ b/configure.ac @@ -26,6 +26,10 @@ PKG_CHECK_MODULES(DLOG, dlog) AC_SUBST(DLOG_CFLAGS) AC_SUBST(DLOG_LIBS) +PKG_CHECK_MODULES(SYSTEM_INFO, capi-system-info) +AC_SUBST(SYSTEM_INFO_CFLAGS) +AC_SUBST(SYSTEM_INFO_LIBS) + # Checks for library functions. AC_CONFIG_FILES([ Makefile diff --git a/packaging/mm-hal-interface.spec b/packaging/mm-hal-interface.spec index a85e862..4a2abf0 100644 --- a/packaging/mm-hal-interface.spec +++ b/packaging/mm-hal-interface.spec @@ -1,7 +1,7 @@ Name: mm-hal-interface Summary: Multimedia HAL Interface -Version: 0.0.7 -Release: 2 +Version: 0.0.8 +Release: 0 Group: Multimedia/Development License: Apache-2.0 Source0: %{name}-%{version}.tar.gz @@ -9,6 +9,7 @@ Requires(post): /sbin/ldconfig Requires(postun): /sbin/ldconfig BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(dlog) +BuildRequires: pkgconfig(capi-system-info) BuildRequires: gtest-devel %description diff --git a/testcase/camera/Makefile.am b/testcase/camera/Makefile.am index e24d817..8449971 100644 --- a/testcase/camera/Makefile.am +++ b/testcase/camera/Makefile.am @@ -7,6 +7,7 @@ camera_haltests_SOURCES = \ camera_haltests_CPPFLAGS = \ $(GLIB_CFLAGS)\ $(DLOG_CFLAGS)\ + $(SYSTEM_INFO_CFLAGS)\ -I$(srcdir)/../../include/camera camera_haltests_LDADD = \ @@ -14,5 +15,6 @@ camera_haltests_LDADD = \ -lgtest\ $(top_builddir)/src/camera/libcamera_hal_interface.la\ $(GLIB_LIBS)\ - $(DLOG_LIBS) + $(DLOG_LIBS)\ + $(SYSTEM_INFO_LIBS) 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); |