tests: Build and run tests
authorPawel Szewczyk <p.szewczyk@samsung.com>
Thu, 1 Oct 2015 09:26:17 +0000 (11:26 +0200)
committerStanislaw Wadas <s.wadas@samsung.com>
Wed, 2 Dec 2015 12:50:46 +0000 (13:50 +0100)
Add tests to CMake files and add running them in packaging. Add
BUILD_TESTS flag to CMake.

Change-Id: I3d374a9b1e9a80416231acc54c1b4e59613bae5e
Signed-off-by: Pawel Szewczyk <p.szewczyk@samsung.com>
CMakeLists.txt
USD/src/CMakeLists.txt
packaging/capi-system-usbhost.spec
pc/USD/capi-system-usbhost-usd.pc.in

index 02761fde628678b25754cb580b610297b06c98bc..82e391f7891a49d48721932268b3634e708494dd 100644 (file)
@@ -5,6 +5,7 @@ PROJECT(capi-system-usbhost)
 # -DBUILD_DOC_ONLY - only doxygen documentation is build
 # -DBUILD_DOC - build also doxygen documentation
 # -DBUILD_EXAMPLES - build also sample applications
+# -DBUILD_TESTS - build also tests
 ########################################################
 
 ########################################################
@@ -22,6 +23,23 @@ ENDIF(BUILD_DOC_ONLY)
 
 SET(LIBNAME ${PROJECT_NAME})
 
+IF(BUILD_TESTS)
+       SET(PKG_MODULES
+               ${PKG_MODULES} cmocka>=1.0
+       )
+ENDIF()
+
+IF(BUILD_SHARED_LIBS)
+       SET(PKG_MODULES
+               ${PKG_MODULES}
+               libusb-1.0
+               dlog
+       )
+ENDIF()
+
+INCLUDE(FindPkgConfig)
+pkg_check_modules(pkgs REQUIRED ${PKG_MODULES})
+
 IF(BUILD_SHARED_LIBS)
 
        SET(HOST_CAPI_SRCS
@@ -37,13 +55,6 @@ IF(BUILD_SHARED_LIBS)
        SET(INCLUDEDIR "${PREFIX}/include")
        SET(DATADIR "${PREFIX}/share/${PACKAGE}/data")
 
-       SET(PKG_MODULES
-               libusb-1.0
-               dlog
-       )
-
-       INCLUDE(FindPkgConfig)
-       pkg_check_modules(pkgs REQUIRED ${PKG_MODULES})
 
        FOREACH(flag ${pkgs_CFLAGS})
                SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
@@ -107,3 +118,38 @@ IF(BUILD_DOC)
        )
 
 ENDIF(BUILD_DOC)
+
+IF(BUILD_TESTS)
+       ENABLE_TESTING()
+       SET( TESTS_SRCS
+               tests/libhusb-test.c
+               tests/libusb-wrap.c
+               src/libhusb.c
+       )
+
+       INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
+        INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
+
+       FOREACH(flag ${pkgs_CFLAGS})
+               SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
+       ENDFOREACH(flag)
+
+       SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -g -Wall -lcmocka")
+       MESSAGE("FLAGS: ${CMAKE_C_FLAGS}")
+       MESSAGE("PKGS_LDFLAGS: ${pkgs_LDFLAGS}")
+
+       ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
+       ADD_DEFINITIONS("-DPACKAGE=\"${PACKAGE}\"")
+       ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")
+
+        SET(TESTS_SRCS
+                ${TESTS_SRCS}
+       )
+
+       ADD_EXECUTABLE(${PROJECT_NAME}-tests ${TESTS_SRCS})
+       TARGET_LINK_LIBRARIES(${PROJECT_NAME}-tests ${pkgs_LDFLAGS})
+       ADD_TEST(NAME ${PROJECT_NAME}-tests COMMAND ${PROJECT_NAME}-tests)
+
+       ADD_DEFINITIONS("-DGD_EXPORT_SYMBOLS")
+
+ENDIF(BUILD_TESTS)
index db99d49c2a176c31e992ec7ffef294f92c6a1c2e..dc280bdb77669610c2ddec71b9f9abec2b4e226e 100644 (file)
@@ -2,6 +2,7 @@ PKG_CHECK_MODULES(USD_DEP
     dlog
     libsmack
     libsystemd-daemon
+    libsystemd-journal
     dbus-1
     REQUIRED
     )
@@ -110,6 +111,7 @@ PKG_CHECK_MODULES(COMMON_DEP
     dlog
     libsmack
     libsystemd-daemon
+    libsystemd-journal
     REQUIRED
     )
 
index ea3185a890cace1c362bffe560ee85280b960e14..7172dfafa2f5199a470299a865895be009af3b48 100644 (file)
@@ -17,6 +17,7 @@ BuildRequires: zip
 BuildRequires: pkgconfig(dlog)
 BuildRequires: libattr-devel
 BuildRequires: libcap-devel
+BuildRequires: pkgconfig(cmocka)
 BuildRequires: pkgconfig(libsmack)
 BuildRequires: pkgconfig(libsystemd-daemon)
 BuildRequires: pkgconfig(libsystemd-journal)
@@ -53,10 +54,12 @@ export LDFLAGS="${LDFLAGS} -Wl,--rpath=%{_libdir}"
          -DCMAKE_BUILD_TYPE=%{?build_type:%build_type}%{!?build_type:RELEASE} \
          -DCMAKE_VERBOSE_MAKEFILE=ON \
          -DLIB_INSTALL_DIR=%{_libdir} \
+        -DBUILD_TESTS=1 \
          -DSYSTEMD_DIR=%{_unitdir}
 
 %__make %{?_smp_mflags}
 
+make test
 
 %install
 rm -rf %{buildroot}
index 95e565dd560c6e7a09bb2975d0f9163e3b42968c..96e647c116f03920960110460d071f5af0c38f80 100644 (file)
@@ -5,7 +5,7 @@ includedir=${prefix}/include
 
 Name: capi-system-usbhost-usd
 Description: USD Package
-Version: 1.0.1
+Version: 1.1
 Requires: libsmack
 Libs: -L${libdir} -lusd-client
 Cflags: -I${includedir}/usd