1
1

tests: Start to migrate tests to cmockery.

https://code.google.com/p/cmockery/wiki/Cmockery_Unit_Testing_Framework
Этот коммит содержится в:
Andreas Schneider 2010-12-28 13:41:33 +01:00
родитель 7dc183126a
Коммит 17f592d4dd
7 изменённых файлов: 82 добавлений и 101 удалений

Просмотреть файл

@ -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)
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_CHECK_TEST)
endfunction (ADD_CMOCKERY_TEST)

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})