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")
|
||||
|
||||
if (WITH_TESTING)
|
||||
find_package(Check REQUIRED)
|
||||
include(AddCheckTest)
|
||||
find_package(CMockery REQUIRED)
|
||||
include(AddCMockeryTest)
|
||||
add_subdirectory(tests)
|
||||
endif (WITH_TESTING)
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
# - ADD_CHECK_TEST(test_name test_source linklib1 ... linklibN)
|
||||
|
||||
# Copyright (c) 2007, Daniel Gollub, <dgollub@suse.de>
|
||||
# Copyright (c) 2007, Andreas Schneider, <mail@cynapses.org>
|
||||
# Copyright (c) 2007 Daniel Gollub <dgollub@suse.de>
|
||||
# Copyright (c) 2007-2010 Andreas Schneider <asn@cynapses.org>
|
||||
#
|
||||
# Redistribution and use is allowed according to the terms of the BSD license.
|
||||
# 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_EXEC_LINKER_FLAGS_PROFILING " -fprofile-arcs -ftest-coverage" CACHE STRING "Profiling Linker Flags")
|
||||
|
||||
function (ADD_CHECK_TEST _testName _testSource)
|
||||
add_executable(${_testName} ${_testSource})
|
||||
target_link_libraries(${_testName} ${ARGN})
|
||||
add_test(${_testName} ${CMAKE_CURRENT_BINARY_DIR}/${_testName})
|
||||
endfunction (ADD_CHECK_TEST)
|
||||
|
||||
function (ADD_CMOCKERY_TEST _testName _testSource)
|
||||
add_executable(${_testName} ${_testSource})
|
||||
target_link_libraries(${_testName} ${ARGN})
|
||||
add_test(${_testName} ${CMAKE_CURRENT_BINARY_DIR}/${_testName})
|
||||
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)
|
||||
|
||||
if (UNIX AND NOT LINUX)
|
||||
find_package(Argp)
|
||||
endif (UNIX AND NOT LINUX)
|
||||
|
||||
set(TORTURE_LIBRARY torture)
|
||||
|
||||
include_directories(
|
||||
@ -16,14 +12,13 @@ include_directories(
|
||||
)
|
||||
|
||||
# create test library
|
||||
add_library(${TORTURE_LIBRARY} SHARED torture.c cmdline.c)
|
||||
add_library(${TORTURE_LIBRARY} SHARED torture.c)
|
||||
target_link_libraries(${TORTURE_LIBRARY}
|
||||
${CHECK_LIBRARIES}
|
||||
${CMOCKERY_LIBRARY}
|
||||
${LIBSSH_STATIC_LIBRARY}
|
||||
${LIBSSH_LINK_LIBRARIES}
|
||||
${LIBSSH_THREADS_STATIC_LIBRARY}
|
||||
${LIBSSH_THREADS_LINK_LIBRARIES}
|
||||
${ARGP_LIBRARIES}
|
||||
)
|
||||
|
||||
set(TEST_TARGET_LIBRARIES ${SUPPORT_LIBRARY} ${LIBSSH_LINK_LIBRARIES})
|
||||
|
@ -1,5 +1,5 @@
|
||||
project(clienttests C)
|
||||
|
||||
add_check_test(torture_algorithms torture_algorithms.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_algorithms torture_algorithms.c ${TORTURE_LIBRARY})
|
||||
#add_check_test(torture_auth torture_auth.c ${TORTURE_LIBRARY})
|
||||
#add_check_test(torture_proxycommand torture_proxycommand.c ${TORTURE_LIBRARY})
|
||||
|
@ -1,11 +1,11 @@
|
||||
project(unittests C)
|
||||
|
||||
add_check_test(torture_buffer torture_buffer.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_keyfiles torture_keyfiles.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_misc torture_misc.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_buffer torture_buffer.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_keyfiles torture_keyfiles.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_misc torture_misc.c ${TORTURE_LIBRARY})
|
||||
#add_check_test(torture_options torture_options.c ${TORTURE_LIBRARY})
|
||||
#add_check_test(torture_rand torture_rand.c ${TORTURE_LIBRARY})
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user