tests: Start to migrate tests to cmockery.
https://code.google.com/p/cmockery/wiki/Cmockery_Unit_Testing_Framework
Этот коммит содержится в:
родитель
7dc183126a
Коммит
17f592d4dd
@ -92,8 +92,8 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|||||||
endif (CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
endif (CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
|
|
||||||
if (WITH_TESTING)
|
if (WITH_TESTING)
|
||||||
find_package(Check REQUIRED)
|
find_package(CMockery REQUIRED)
|
||||||
include(AddCheckTest)
|
include(AddCMockeryTest)
|
||||||
add_subdirectory(tests)
|
add_subdirectory(tests)
|
||||||
endif (WITH_TESTING)
|
endif (WITH_TESTING)
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# - ADD_CHECK_TEST(test_name test_source linklib1 ... linklibN)
|
# - ADD_CHECK_TEST(test_name test_source linklib1 ... linklibN)
|
||||||
|
|
||||||
# Copyright (c) 2007, Daniel Gollub, <dgollub@suse.de>
|
# Copyright (c) 2007 Daniel Gollub <dgollub@suse.de>
|
||||||
# Copyright (c) 2007, Andreas Schneider, <mail@cynapses.org>
|
# Copyright (c) 2007-2010 Andreas Schneider <asn@cynapses.org>
|
||||||
#
|
#
|
||||||
# Redistribution and use is allowed according to the terms of the BSD license.
|
# Redistribution and use is allowed according to the terms of the BSD license.
|
||||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||||
@ -14,9 +14,8 @@ set(CMAKE_SHARED_LINKER_FLAGS_PROFILING " -fprofile-arcs -ftest-coverage" CACHE
|
|||||||
set(CMAKE_MODULE_LINKER_FLAGS_PROFILING " -fprofile-arcs -ftest-coverage" CACHE STRING "Profiling Linker Flags")
|
set(CMAKE_MODULE_LINKER_FLAGS_PROFILING " -fprofile-arcs -ftest-coverage" CACHE STRING "Profiling Linker Flags")
|
||||||
set(CMAKE_EXEC_LINKER_FLAGS_PROFILING " -fprofile-arcs -ftest-coverage" CACHE STRING "Profiling Linker Flags")
|
set(CMAKE_EXEC_LINKER_FLAGS_PROFILING " -fprofile-arcs -ftest-coverage" CACHE STRING "Profiling Linker Flags")
|
||||||
|
|
||||||
function (ADD_CHECK_TEST _testName _testSource)
|
function (ADD_CMOCKERY_TEST _testName _testSource)
|
||||||
add_executable(${_testName} ${_testSource})
|
add_executable(${_testName} ${_testSource})
|
||||||
target_link_libraries(${_testName} ${ARGN})
|
target_link_libraries(${_testName} ${ARGN})
|
||||||
add_test(${_testName} ${CMAKE_CURRENT_BINARY_DIR}/${_testName})
|
add_test(${_testName} ${CMAKE_CURRENT_BINARY_DIR}/${_testName})
|
||||||
endfunction (ADD_CHECK_TEST)
|
endfunction (ADD_CMOCKERY_TEST)
|
||||||
|
|
59
cmake/Modules/FindCMockery.cmake
Обычный файл
59
cmake/Modules/FindCMockery.cmake
Обычный файл
@ -0,0 +1,59 @@
|
|||||||
|
# - Try to find CMockery
|
||||||
|
# Once done this will define
|
||||||
|
#
|
||||||
|
# CMOCKERY_FOUND - system has CMockery
|
||||||
|
# CMOCKERY_INCLUDE_DIRS - the CMockery include directory
|
||||||
|
# CMOCKERY_LIBRARIES - Link these to use CMockery
|
||||||
|
# CMOCKERY_DEFINITIONS - Compiler switches required for using CMockery
|
||||||
|
#
|
||||||
|
# Copyright (c) 2010 Andreas Schneider <asn@cryptomilk.org>
|
||||||
|
#
|
||||||
|
# Redistribution and use is allowed according to the terms of the New
|
||||||
|
# BSD license.
|
||||||
|
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
if (CMOCKERY_LIBRARIES AND CMOCKERY_INCLUDE_DIRS)
|
||||||
|
# in cache already
|
||||||
|
set(CMOCKERY_FOUND TRUE)
|
||||||
|
else (CMOCKERY_LIBRARIES AND CMOCKERY_INCLUDE_DIRS)
|
||||||
|
|
||||||
|
find_path(CMOCKERY_INCLUDE_DIR
|
||||||
|
NAMES
|
||||||
|
google/cmockery.h
|
||||||
|
PATHS
|
||||||
|
/usr/include
|
||||||
|
/usr/local/include
|
||||||
|
/opt/local/include
|
||||||
|
/sw/include
|
||||||
|
)
|
||||||
|
|
||||||
|
find_library(CMOCKERY_LIBRARY
|
||||||
|
NAMES
|
||||||
|
cmockery
|
||||||
|
PATHS
|
||||||
|
/usr/lib
|
||||||
|
/usr/local/lib
|
||||||
|
/opt/local/lib
|
||||||
|
/sw/lib
|
||||||
|
)
|
||||||
|
|
||||||
|
set(CMOCKERY_INCLUDE_DIRS
|
||||||
|
${CMOCKERY_INCLUDE_DIR}
|
||||||
|
)
|
||||||
|
|
||||||
|
if (CMOCKERY_LIBRARY)
|
||||||
|
set(CMOCKERY_LIBRARIES
|
||||||
|
${CMOCKERY_LIBRARIES}
|
||||||
|
${CMOCKERY_LIBRARY}
|
||||||
|
)
|
||||||
|
endif (CMOCKERY_LIBRARY)
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
find_package_handle_standard_args(CMockery DEFAULT_MSG CMOCKERY_LIBRARIES CMOCKERY_INCLUDE_DIRS)
|
||||||
|
|
||||||
|
# show the CMOCKERY_INCLUDE_DIRS and CMOCKERY_LIBRARIES variables only in the advanced view
|
||||||
|
mark_as_advanced(CMOCKERY_INCLUDE_DIRS CMOCKERY_LIBRARIES)
|
||||||
|
|
||||||
|
endif (CMOCKERY_LIBRARIES AND CMOCKERY_INCLUDE_DIRS)
|
@ -1,72 +0,0 @@
|
|||||||
# - Try to find Check
|
|
||||||
# Once done this will define
|
|
||||||
#
|
|
||||||
# CHECK_FOUND - system has Check
|
|
||||||
# CHECK_INCLUDE_DIRS - the Check include directory
|
|
||||||
# CHECK_LIBRARIES - Link these to use Check
|
|
||||||
# CHECK_DEFINITIONS - Compiler switches required for using Check
|
|
||||||
#
|
|
||||||
# Copyright (c) 2010 Andreas Schneider <mail@cynapses.org>
|
|
||||||
#
|
|
||||||
# Redistribution and use is allowed according to the terms of the New
|
|
||||||
# BSD license.
|
|
||||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
|
||||||
#
|
|
||||||
|
|
||||||
|
|
||||||
if (CHECK_LIBRARIES AND CHECK_INCLUDE_DIRS)
|
|
||||||
# in cache already
|
|
||||||
set(CHECK_FOUND TRUE)
|
|
||||||
else (CHECK_LIBRARIES AND CHECK_INCLUDE_DIRS)
|
|
||||||
find_package(PkgConfig)
|
|
||||||
if (PKG_CONFIG_FOUND)
|
|
||||||
pkg_check_modules(_CHECK check)
|
|
||||||
endif (PKG_CONFIG_FOUND)
|
|
||||||
|
|
||||||
find_path(CHECK_INCLUDE_DIR
|
|
||||||
NAMES
|
|
||||||
check.h
|
|
||||||
PATHS
|
|
||||||
${_CHECK_INCLUDEDIR}
|
|
||||||
/usr/include
|
|
||||||
/usr/local/include
|
|
||||||
/opt/local/include
|
|
||||||
/sw/include
|
|
||||||
/usr/lib/sfw/include
|
|
||||||
)
|
|
||||||
|
|
||||||
# check_pic is a workaround for ubuntu's check bug which does not compile
|
|
||||||
# check as a shared library with -fPIC.
|
|
||||||
# see https://bugs.launchpad.net/ubuntu/+source/check/+bug/125781
|
|
||||||
find_library(CHECK_LIBRARY
|
|
||||||
NAMES
|
|
||||||
check_pic check
|
|
||||||
PATHS
|
|
||||||
${_CHECK_LIBDIR}
|
|
||||||
/usr/lib
|
|
||||||
/usr/local/lib
|
|
||||||
/opt/local/lib
|
|
||||||
/sw/lib
|
|
||||||
/usr/sfw/lib/64
|
|
||||||
/usr/sfw/lib
|
|
||||||
)
|
|
||||||
|
|
||||||
set(CHECK_INCLUDE_DIRS
|
|
||||||
${CHECK_INCLUDE_DIR}
|
|
||||||
)
|
|
||||||
|
|
||||||
if (CHECK_LIBRARY)
|
|
||||||
set(CHECK_LIBRARIES
|
|
||||||
${CHECK_LIBRARIES}
|
|
||||||
${CHECK_LIBRARY}
|
|
||||||
)
|
|
||||||
endif (CHECK_LIBRARY)
|
|
||||||
|
|
||||||
include(FindPackageHandleStandardArgs)
|
|
||||||
find_package_handle_standard_args(Check DEFAULT_MSG CHECK_LIBRARIES CHECK_INCLUDE_DIRS)
|
|
||||||
|
|
||||||
# show the CHECK_INCLUDE_DIRS and CHECK_LIBRARIES variables only in the advanced view
|
|
||||||
mark_as_advanced(CHECK_INCLUDE_DIRS CHECK_LIBRARIES)
|
|
||||||
|
|
||||||
endif (CHECK_LIBRARIES AND CHECK_INCLUDE_DIRS)
|
|
||||||
|
|
@ -1,9 +1,5 @@
|
|||||||
project(tests C)
|
project(tests C)
|
||||||
|
|
||||||
if (UNIX AND NOT LINUX)
|
|
||||||
find_package(Argp)
|
|
||||||
endif (UNIX AND NOT LINUX)
|
|
||||||
|
|
||||||
set(TORTURE_LIBRARY torture)
|
set(TORTURE_LIBRARY torture)
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
@ -16,14 +12,13 @@ include_directories(
|
|||||||
)
|
)
|
||||||
|
|
||||||
# create test library
|
# create test library
|
||||||
add_library(${TORTURE_LIBRARY} SHARED torture.c cmdline.c)
|
add_library(${TORTURE_LIBRARY} SHARED torture.c)
|
||||||
target_link_libraries(${TORTURE_LIBRARY}
|
target_link_libraries(${TORTURE_LIBRARY}
|
||||||
${CHECK_LIBRARIES}
|
${CMOCKERY_LIBRARY}
|
||||||
${LIBSSH_STATIC_LIBRARY}
|
${LIBSSH_STATIC_LIBRARY}
|
||||||
${LIBSSH_LINK_LIBRARIES}
|
${LIBSSH_LINK_LIBRARIES}
|
||||||
${LIBSSH_THREADS_STATIC_LIBRARY}
|
${LIBSSH_THREADS_STATIC_LIBRARY}
|
||||||
${LIBSSH_THREADS_LINK_LIBRARIES}
|
${LIBSSH_THREADS_LINK_LIBRARIES}
|
||||||
${ARGP_LIBRARIES}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
set(TEST_TARGET_LIBRARIES ${SUPPORT_LIBRARY} ${LIBSSH_LINK_LIBRARIES})
|
set(TEST_TARGET_LIBRARIES ${SUPPORT_LIBRARY} ${LIBSSH_LINK_LIBRARIES})
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
project(clienttests C)
|
project(clienttests C)
|
||||||
|
|
||||||
add_check_test(torture_algorithms torture_algorithms.c ${TORTURE_LIBRARY})
|
#add_check_test(torture_algorithms torture_algorithms.c ${TORTURE_LIBRARY})
|
||||||
add_check_test(torture_auth torture_auth.c ${TORTURE_LIBRARY})
|
#add_check_test(torture_auth torture_auth.c ${TORTURE_LIBRARY})
|
||||||
add_check_test(torture_proxycommand torture_proxycommand.c ${TORTURE_LIBRARY})
|
#add_check_test(torture_proxycommand torture_proxycommand.c ${TORTURE_LIBRARY})
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
project(unittests C)
|
project(unittests C)
|
||||||
|
|
||||||
add_check_test(torture_buffer torture_buffer.c ${TORTURE_LIBRARY})
|
#add_check_test(torture_buffer torture_buffer.c ${TORTURE_LIBRARY})
|
||||||
add_check_test(torture_callbacks torture_callbacks.c ${TORTURE_LIBRARY})
|
#add_check_test(torture_callbacks torture_callbacks.c ${TORTURE_LIBRARY})
|
||||||
add_check_test(torture_init torture_init.c ${TORTURE_LIBRARY})
|
#add_check_test(torture_init torture_init.c ${TORTURE_LIBRARY})
|
||||||
add_check_test(torture_keyfiles torture_keyfiles.c ${TORTURE_LIBRARY})
|
#add_check_test(torture_keyfiles torture_keyfiles.c ${TORTURE_LIBRARY})
|
||||||
add_check_test(torture_knownhosts torture_knownhosts.c ${TORTURE_LIBRARY})
|
#add_check_test(torture_knownhosts torture_knownhosts.c ${TORTURE_LIBRARY})
|
||||||
add_check_test(torture_list torture_list.c ${TORTURE_LIBRARY})
|
#add_check_test(torture_list torture_list.c ${TORTURE_LIBRARY})
|
||||||
add_check_test(torture_misc torture_misc.c ${TORTURE_LIBRARY})
|
#add_check_test(torture_misc torture_misc.c ${TORTURE_LIBRARY})
|
||||||
add_check_test(torture_options torture_options.c ${TORTURE_LIBRARY})
|
#add_check_test(torture_options torture_options.c ${TORTURE_LIBRARY})
|
||||||
add_check_test(torture_rand torture_rand.c ${TORTURE_LIBRARY})
|
#add_check_test(torture_rand torture_rand.c ${TORTURE_LIBRARY})
|
||||||
|
Загрузка…
Ссылка в новой задаче
Block a user