From 1fdd741aecaea31a72489f4e046c09b8607e29f9 Mon Sep 17 00:00:00 2001 From: "jiyong.min" Date: Tue, 20 Nov 2018 11:50:19 +0900 Subject: [PATCH] Adding initial structure for unittest - It has testcases for dcm-face library of unittest - It would be enabled by gtest build with '--define "gtests 1"' Change-Id: Ie0b7f098391e2153034311ebd245d2ec2e6f6b4a --- CMakeLists.txt | 3 + include/dcm_svc_debug.h | 6 +- packaging/dcm-service.spec | 11 +++- unittest/CMakeLists.txt | 46 ++++++++++++++ unittest/DcmFaceUnittest.cpp | 90 ++++++++++++++++++++++++++ unittest/DcmFaceUnittest.h | 50 +++++++++++++++ unittest/dcm-service-unittest.jpg | Bin 0 -> 95783 bytes unittest/dcm_service_unittest.cpp | 101 ++++++++++++++++++++++++++++++ unittest/dcm_service_unittest.h | 26 ++++++++ 9 files changed, 328 insertions(+), 5 deletions(-) mode change 100755 => 100644 CMakeLists.txt mode change 100755 => 100644 packaging/dcm-service.spec create mode 100644 unittest/CMakeLists.txt create mode 100644 unittest/DcmFaceUnittest.cpp create mode 100644 unittest/DcmFaceUnittest.h create mode 100644 unittest/dcm-service-unittest.jpg create mode 100644 unittest/dcm_service_unittest.cpp create mode 100644 unittest/dcm_service_unittest.h diff --git a/CMakeLists.txt b/CMakeLists.txt old mode 100755 new mode 100644 index 7721000..802b56c --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -72,6 +72,9 @@ CONFIGURE_FILE(dcm-service.pc.in dcm-service.pc @ONLY) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/dcm-service.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig) ADD_SUBDIRECTORY(svc) +IF(BUILD_GTESTS) + ADD_SUBDIRECTORY(unittest) +ENDIF(BUILD_GTESTS) LINK_DIRECTORIES(${LIB_INSTALL_DIR}) diff --git a/include/dcm_svc_debug.h b/include/dcm_svc_debug.h index e8d01ca..c810eee 100755 --- a/include/dcm_svc_debug.h +++ b/include/dcm_svc_debug.h @@ -69,11 +69,11 @@ } while (0) #define dcm_debug_fenter() do { \ - LOGD(FONT_COLOR_YELLOW""FONT_COLOR_RESET); \ + LOGD(FONT_COLOR_YELLOW "" FONT_COLOR_RESET); \ } while (0) #define dcm_debug_fleave() do { \ - LOGD(FONT_COLOR_YELLOW""FONT_COLOR_RESET); \ + LOGD(FONT_COLOR_YELLOW "" FONT_COLOR_RESET); \ } while (0) #define dcm_retm_if(expr, fmt, arg...) do { \ @@ -93,7 +93,7 @@ #define ERR_BUF_LENGHT 256 #define dcm_stderror(fmt) do { \ char dcm_stderror_buf[ERR_BUF_LENGHT] = {0, }; \ - LOGE(FONT_COLOR_RED""fmt""" : STANDARD ERROR [%s]"FONT_COLOR_RESET, strerror_r(errno, dcm_stderror_buf, ERR_BUF_LENGHT)); \ + LOGE(FONT_COLOR_RED"" fmt "" " : STANDARD ERROR [%s]" FONT_COLOR_RESET, strerror_r(errno, dcm_stderror_buf, ERR_BUF_LENGHT)); \ } while (0) #define DCM_CHECK_VAL(expr, val) dcm_retvm_if(!(expr), val, "Invalid parameter, return ERROR code!") diff --git a/packaging/dcm-service.spec b/packaging/dcm-service.spec old mode 100755 new mode 100644 index 7deea8c..c4419ae --- a/packaging/dcm-service.spec +++ b/packaging/dcm-service.spec @@ -18,6 +18,9 @@ BuildRequires: pkgconfig(capi-media-vision) BuildRequires: pkgconfig(libmedia-utils) BuildRequires: pkgconfig(libtzplatform-config) BuildRequires: pkgconfig(mmutil-magick) +%if 0%{?gtests:1} +BuildRequires: pkgconfig(gmock) +%endif %description This package provides a media DCM(Digital Contents Management) service @@ -40,7 +43,7 @@ export CFLAGS="$(echo $CFLAGS | sed 's/-Wl,--as-needed//g')" export CXXFLAGS="$(echo $CXXFLAGS | sed 's/-Wl,--as-needed//g')" export FFLAGS="$(echo $FFLAGS | sed 's/-Wl,--as-needed//g')" -%cmake . +%cmake . -DBUILD_GTESTS=%{?gtests:1}%{!?gtests:0} make %{?jobs:-j%jobs} #export CFLAGS+=" -Wextra -Wno-array-bounds -D_FORTIFY_SOURCE=2" #export CFLAGS+=" -Wno-ignored-qualifiers -Wno-unused-parameter -Wshadow" @@ -56,7 +59,11 @@ make %{?jobs:-j%jobs} %manifest %{name}.manifest %defattr(-,root,root,-) %{_libdir}/*.so* -%{_bindir}/* +%if 0%{?gtests:1} +%{_bindir}/gtest* +%{_bindir}/dcm-service-unittest* +%endif +%{_bindir}/dcm-svc %license LICENSE.APLv2.0 %files devel diff --git a/unittest/CMakeLists.txt b/unittest/CMakeLists.txt new file mode 100644 index 0000000..acf9051 --- /dev/null +++ b/unittest/CMakeLists.txt @@ -0,0 +1,46 @@ +CMAKE_MINIMUM_REQUIRED(VERSION 2.6) +PROJECT(gtest-dcm-service C CXX) + +SET(GTEST_TEST "gtest-dcm-service") +ADD_DEFINITIONS("-DUSE_DLOG") + +SET(REQUIRES_LIST ${REQUIRES_LIST} + glib-2.0 + gio-2.0 + gmock + dlog + libmedia-utils + capi-media-vision + mmutil-magick + libtzplatform-config +) + +SET(PKG_LIBRARIES ${PKG_LIBRARIES} + "dcm-face" + "dcm-util" +) + +SET(RESOURCE_LIST ${RESOURCE_LIST} + "dcm-service-unittest.jpg" +) + +INCLUDE(FindPkgConfig) +PKG_CHECK_MODULES(GTEST_TEST_PKG REQUIRED ${REQUIRES_LIST}) + +FOREACH(flag ${GTEST_TEST_PKG_CFLAGS}) + SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") +ENDFOREACH(flag) + +SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -Wall -fPIE") +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}") +SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS}") +SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie") + +FILE(GLOB GTEST_TEST_SRCS *.cpp) +SET(GTEST_TEST_SRCS ${GTEST_TEST_SRCS}) + +ADD_EXECUTABLE(${GTEST_TEST} ${GTEST_TEST_SRCS}) +TARGET_LINK_LIBRARIES(${GTEST_TEST} ${PKG_LIBRARIES} ${GTEST_TEST_LDFLAGS} ${GTEST_TEST_PKG_LDFLAGS} -ldl) + +INSTALL(TARGETS ${GTEST_TEST} RUNTIME DESTINATION bin) +INSTALL(FILES ${RESOURCE_LIST} DESTINATION bin) diff --git a/unittest/DcmFaceUnittest.cpp b/unittest/DcmFaceUnittest.cpp new file mode 100644 index 0000000..006fd50 --- /dev/null +++ b/unittest/DcmFaceUnittest.cpp @@ -0,0 +1,90 @@ +/* + * Copyright (c) 2018 Samsung Electronics Co., Ltd All Rights Reserved + * + * 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 "DcmFaceUnittest.h" + +DcmFaceUnittest::DcmFaceUnittest(void) +{ + handle = NULL; + sourceImage = NULL; + data = NULL; + width = 0; + height = 0; + color = MM_UTIL_COLOR_RGB24; + dataSize = 0; + faceInfo = { NULL, 0 }; +} + +DcmFaceUnittest::~DcmFaceUnittest(void) +{ + if (sourceImage) { + mm_util_destroy_handle(sourceImage); + sourceImage = NULL; + } + + if (faceInfo.rects) { + free(faceInfo.rects); + faceInfo.rects = NULL; + } + + if (handle) { + Deinit(); + handle = NULL; + } +} + +int DcmFaceUnittest::Init(void) +{ + return dcm_face_create(&handle); +} + +int DcmFaceUnittest::Deinit(void) +{ + int ret = dcm_face_destroy(handle); + + handle = NULL; + + return ret; +} + +int DcmFaceUnittest::DecodeImage(const char *path) +{ + int ret = MS_MEDIA_ERR_NONE; + + ret = mm_util_rotate_P_B(path, MM_UTIL_ROTATE_0, MM_UTIL_COLOR_RGB24, &sourceImage); + if (ret != MS_MEDIA_ERR_NONE) { + return ret; + } + + return mm_util_get_image(sourceImage, &data, &width, &height, &dataSize, &color); +} + +int DcmFaceUnittest::SetImageInfo(const char *path) +{ + int ret = MS_MEDIA_ERR_NONE; + + ret = DecodeImage(path); + if (ret != MS_MEDIA_ERR_NONE) { + return ret; + } + + return dcm_face_set_image_info(handle, FACE_IMAGE_COLORSPACE_RGB888, data, width, height, dataSize); +} + +int DcmFaceUnittest::GetFaceInfo(void) +{ + return dcm_face_get_face_info(handle, &faceInfo); +} diff --git a/unittest/DcmFaceUnittest.h b/unittest/DcmFaceUnittest.h new file mode 100644 index 0000000..d5ace73 --- /dev/null +++ b/unittest/DcmFaceUnittest.h @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2018 Samsung Electronics Co., Ltd All Rights Reserved + * + * 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 __DCM_FACE_UNITTEST_H__ +#define __DCM_FACE_UNITTEST_H__ + +#include +#include +#include +#include +#include + +#include "dcm-face.h" + +class DcmFaceUnittest { + private: + dcm_face_h handle; + mm_util_image_h sourceImage; + + int DecodeImage(const char *path); + public: + unsigned char *data; + unsigned int width; + unsigned int height; + mm_util_color_format_e color; + size_t dataSize; + face_info_s faceInfo; + + DcmFaceUnittest(void); + ~DcmFaceUnittest(void); + int Init(void); + int Deinit(void); + int SetImageInfo(const char *path); + int GetFaceInfo(void); +}; + +#endif /*__DCM_FACE_UNITTEST_H__*/ diff --git a/unittest/dcm-service-unittest.jpg b/unittest/dcm-service-unittest.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a1a4fc4fb00165763c7ccda60569cebba0d4593d GIT binary patch literal 95783 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 +#include + +#include "dcm_service_unittest.h" +#include "DcmFaceUnittest.h" + +#define TEST_FILE_PATH tzplatform_mkpath(TZ_SYS_BIN, "dcm-service-unittest.jpg") + +using ::testing::InitGoogleTest; +using ::testing::Test; +using ::testing::TestCase; + +class dcm_service_Test : public ::testing::Test { + protected: + void SetUp() { + std::cout << "SetUp()" << std::endl; + } + + void TearDown() { + std::cout << "TearDown()" << std::endl; + } +}; + +TEST(dcm_service_Test, dcm_face_create_p) +{ + int ret = MS_MEDIA_ERR_NONE; + DcmFaceUnittest dcmFace; + + ret = dcmFace.Init(); + EXPECT_EQ(ret, MS_MEDIA_ERR_NONE); +} + +TEST(dcm_service_Test, dcm_face_destroy_p) +{ + int ret = MS_MEDIA_ERR_NONE; + DcmFaceUnittest dcmFace; + + ret = dcmFace.Init(); + EXPECT_EQ(ret, MS_MEDIA_ERR_NONE); + + ret = dcmFace.Deinit(); + EXPECT_EQ(ret, MS_MEDIA_ERR_NONE); +} + +TEST(dcm_service_Test, dcm_face_set_image_info_p) +{ + int ret = MS_MEDIA_ERR_NONE; + DcmFaceUnittest dcmFace; + + ret = dcmFace.Init(); + EXPECT_EQ(ret, MS_MEDIA_ERR_NONE); + + ret = dcmFace.SetImageInfo(TEST_FILE_PATH); + EXPECT_EQ(ret, MS_MEDIA_ERR_NONE); + EXPECT_TRUE(dcmFace.data != NULL); + EXPECT_NE(dcmFace.width, 0); + EXPECT_NE(dcmFace.height, 0); + EXPECT_EQ(dcmFace.color, MM_UTIL_COLOR_RGB24); + EXPECT_NE(dcmFace.dataSize, 0); +} + +TEST(dcm_service_Test, dcm_face_get_face_info_p) +{ + int ret = MS_MEDIA_ERR_NONE; + DcmFaceUnittest dcmFace; + + ret = dcmFace.Init(); + EXPECT_EQ(ret, MS_MEDIA_ERR_NONE); + + ret = dcmFace.SetImageInfo(TEST_FILE_PATH); + EXPECT_EQ(ret, MS_MEDIA_ERR_NONE); + + ret = dcmFace.GetFaceInfo(); + EXPECT_EQ(ret, MS_MEDIA_ERR_NONE); + EXPECT_EQ(dcmFace.faceInfo.count, 0); + if (dcmFace.faceInfo.count != 0) + EXPECT_TRUE(dcmFace.faceInfo.rects != NULL); +} + +int main(int argc, char **argv) +{ + InitGoogleTest(&argc, argv); + + return RUN_ALL_TESTS(); +} diff --git a/unittest/dcm_service_unittest.h b/unittest/dcm_service_unittest.h new file mode 100644 index 0000000..60eaaf4 --- /dev/null +++ b/unittest/dcm_service_unittest.h @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2018 Samsung Electronics Co., Ltd All Rights Reserved + * + * 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 __DCM_SERVICE_UNITTEST_H__ +#define __DCM_SERVICE_UNITTEST_H__ + +#include +#include + +#undef LOG_TAG +#define LOG_TAG "GTEST_DCM_SERVICE" + +#endif /*__DCM_SERVICE_UNITTEST_H__*/ -- 2.34.1