From c81010e2f7e560081d78d15e54789af45c0a4999 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Sun, 7 Oct 2012 11:10:27 +0200 Subject: test: Use cmocka instead of cmockery. cmocka is the successor of cmockery. http://git.cryptomilk.org/projects/cmocka.git/ --- CMakeLists.txt | 4 +-- cmake/Modules/AddCMockaTest.cmake | 23 ++++++++++++++ cmake/Modules/AddCMockeryTest.cmake | 23 -------------- cmake/Modules/FindCMocka.cmake | 49 +++++++++++++++++++++++++++++ cmake/Modules/FindCMockery.cmake | 62 ------------------------------------- tests/CMakeLists.txt | 6 ++-- tests/client/CMakeLists.txt | 14 ++++----- tests/torture.h | 2 +- tests/unittests/CMakeLists.txt | 20 ++++++------ 9 files changed, 95 insertions(+), 108 deletions(-) create mode 100644 cmake/Modules/AddCMockaTest.cmake delete mode 100644 cmake/Modules/AddCMockeryTest.cmake create mode 100644 cmake/Modules/FindCMocka.cmake delete mode 100644 cmake/Modules/FindCMockery.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 53953b8..96cd1c7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -92,8 +92,8 @@ install( add_subdirectory(examples) if (WITH_TESTING) - find_package(CMockery REQUIRED) - include(AddCMockeryTest) + find_package(CMocka REQUIRED) + include(AddCMockaTest) add_subdirectory(tests) endif (WITH_TESTING) diff --git a/cmake/Modules/AddCMockaTest.cmake b/cmake/Modules/AddCMockaTest.cmake new file mode 100644 index 0000000..b2d1ca8 --- /dev/null +++ b/cmake/Modules/AddCMockaTest.cmake @@ -0,0 +1,23 @@ +# - ADD_CHECK_TEST(test_name test_source linklib1 ... linklibN) + +# Copyright (c) 2007 Daniel Gollub +# Copyright (c) 2007-2010 Andreas Schneider +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + +enable_testing() +include(CTest) + +if(CMAKE_COMPILER_IS_GNUCC AND NOT MINGW) + set(CMAKE_C_FLAGS_PROFILING "-g -O0 -Wall -W -Wshadow -Wunused-variable -Wunused-parameter -Wunused-function -Wunused -Wno-system-headers -Wwrite-strings -fprofile-arcs -ftest-coverage" CACHE STRING "Profiling Compiler Flags") + set(CMAKE_SHARED_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") +endif(CMAKE_COMPILER_IS_GNUCC AND NOT MINGW) + +function (ADD_CMOCKA_TEST _testName _testSource) + add_executable(${_testName} ${_testSource}) + target_link_libraries(${_testName} ${ARGN}) + add_test(${_testName} ${CMAKE_CURRENT_BINARY_DIR}/${_testName}) +endfunction (ADD_CMOCKA_TEST) diff --git a/cmake/Modules/AddCMockeryTest.cmake b/cmake/Modules/AddCMockeryTest.cmake deleted file mode 100644 index 33a20b3..0000000 --- a/cmake/Modules/AddCMockeryTest.cmake +++ /dev/null @@ -1,23 +0,0 @@ -# - ADD_CHECK_TEST(test_name test_source linklib1 ... linklibN) - -# Copyright (c) 2007 Daniel Gollub -# Copyright (c) 2007-2010 Andreas Schneider -# -# Redistribution and use is allowed according to the terms of the BSD license. -# For details see the accompanying COPYING-CMAKE-SCRIPTS file. - -enable_testing() -include(CTest) - -if(CMAKE_COMPILER_IS_GNUCC AND NOT MINGW) - set(CMAKE_C_FLAGS_PROFILING "-g -O0 -Wall -W -Wshadow -Wunused-variable -Wunused-parameter -Wunused-function -Wunused -Wno-system-headers -Wwrite-strings -fprofile-arcs -ftest-coverage" CACHE STRING "Profiling Compiler Flags") - set(CMAKE_SHARED_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") -endif(CMAKE_COMPILER_IS_GNUCC AND NOT MINGW) - -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) diff --git a/cmake/Modules/FindCMocka.cmake b/cmake/Modules/FindCMocka.cmake new file mode 100644 index 0000000..2dd9fc5 --- /dev/null +++ b/cmake/Modules/FindCMocka.cmake @@ -0,0 +1,49 @@ +# - Try to find CMocka +# Once done this will define +# +# CMOCKA_ROOT_DIR - Set this variable to the root installation of CMocka +# +# Read-Only variables: +# CMOCKA_FOUND - system has CMocka +# CMOCKA_INCLUDE_DIR - the CMocka include directory +# CMOCKA_LIBRARIES - Link these to use CMocka +# CMOCKA_DEFINITIONS - Compiler switches required for using CMocka +# +#============================================================================= +# Copyright (c) 2011-2012 Andreas Schneider +# +# Distributed under the OSI-approved BSD License (the "License"); +# see accompanying file Copyright.txt for details. +# +# This software is distributed WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the License for more information. +#============================================================================= +# + +find_path(CMOCKA_INCLUDE_DIR + NAMES + cmocka.h + PATHS + ${CMOCKA_ROOT_DIR}/include +) + +find_library(CMOCKA_LIBRARY + NAMES + cmocka + PATHS + ${CMOCKA_ROOT_DIR}/include +) + +if (CMOCKA_LIBRARY) + set(CMOCKA_LIBRARIES + ${CMOCKA_LIBRARIES} + ${CMOCKA_LIBRARY} + ) +endif (CMOCKA_LIBRARY) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(CMocka DEFAULT_MSG CMOCKA_LIBRARIES CMOCKA_INCLUDE_DIR) + +# show the CMOCKA_INCLUDE_DIR and CMOCKA_LIBRARIES variables only in the advanced view +mark_as_advanced(CMOCKA_INCLUDE_DIR CMOCKA_LIBRARIES) diff --git a/cmake/Modules/FindCMockery.cmake b/cmake/Modules/FindCMockery.cmake deleted file mode 100644 index 7cd4bdc..0000000 --- a/cmake/Modules/FindCMockery.cmake +++ /dev/null @@ -1,62 +0,0 @@ -# - Try to find CMockery -# Once done this will define -# -# CMOCKERY_ROOT_DIR - Set this variable to the root installation of CMockery -# -# Read-Only variables: -# CMOCKERY_FOUND - system has CMockery -# CMOCKERY_INCLUDE_DIR - the CMockery include directory -# CMOCKERY_LIBRARIES - Link these to use CMockery -# CMOCKERY_DEFINITIONS - Compiler switches required for using CMockery -# -#============================================================================= -# Copyright (c) 2011-2012 Andreas Schneider -# -# Distributed under the OSI-approved BSD License (the "License"); -# see accompanying file Copyright.txt for details. -# -# This software is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the License for more information. -#============================================================================= -# - -set(_OPENSSL_ROOT_PATHS - "C:/OpenSSL/" - $ENV{PROGRAMFILES}/cmockery/include -) - -find_path(OPENSSL_ROOT_DIR - NAMES - include/google/cmockery.h - PATHS - ${_OPENSSL_ROOT_PATHS} -) -mark_as_advanced(OPENSSL_ROOT_DIR) - -find_path(CMOCKERY_INCLUDE_DIR - NAMES - google/cmockery.h - PATHS - ${CMOCKERY_ROOT_DIR}/include -) - -find_library(CMOCKERY_LIBRARY - NAMES - cmockery - PATHS - ${CMOCKERY_ROOT_DIR}/include -) - -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_DIR) - -# show the CMOCKERY_INCLUDE_DIR and CMOCKERY_LIBRARIES variables only in the advanced view -mark_as_advanced(CMOCKERY_INCLUDE_DIR CMOCKERY_LIBRARIES) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 6942bac..bb39755 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -8,7 +8,7 @@ set(TORTURE_LIBRARY torture) include_directories( ${LIBSSH_PUBLIC_INCLUDE_DIRS} - ${CMOCKERY_INCLUDE_DIR} + ${CMOCKA_INCLUDE_DIR} ${OPENSSL_INCLUDE_DIRS} ${GCRYPT_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIRS} @@ -20,7 +20,7 @@ include_directories( # create test library add_library(${TORTURE_LIBRARY} STATIC cmdline.c torture.c) target_link_libraries(${TORTURE_LIBRARY} - ${CMOCKERY_LIBRARY} + ${CMOCKA_LIBRARY} ${LIBSSH_STATIC_LIBRARY} ${LIBSSH_LINK_LIBRARIES} ${LIBSSH_THREADS_STATIC_LIBRARY} @@ -30,7 +30,7 @@ target_link_libraries(${TORTURE_LIBRARY} set(TEST_TARGET_LIBRARIES ${TORTURE_LIBRARY} - ${CMOCKERY_LIBRARY} + ${CMOCKA_LIBRARY} ${LIBSSH_STATIC_LIBRARY} ${LIBSSH_LINK_LIBRARIES} ${LIBSSH_THREADS_STATIC_LIBRARY} diff --git a/tests/client/CMakeLists.txt b/tests/client/CMakeLists.txt index cfce09e..d8a5860 100644 --- a/tests/client/CMakeLists.txt +++ b/tests/client/CMakeLists.txt @@ -1,11 +1,11 @@ project(clienttests C) -add_cmockery_test(torture_algorithms torture_algorithms.c ${TORTURE_LIBRARY}) -add_cmockery_test(torture_auth torture_auth.c ${TORTURE_LIBRARY}) -add_cmockery_test(torture_connect torture_connect.c ${TORTURE_LIBRARY}) -add_cmockery_test(torture_knownhosts torture_knownhosts.c ${TORTURE_LIBRARY}) -add_cmockery_test(torture_proxycommand torture_proxycommand.c ${TORTURE_LIBRARY}) +add_cmocka_test(torture_algorithms torture_algorithms.c ${TORTURE_LIBRARY}) +add_cmocka_test(torture_auth torture_auth.c ${TORTURE_LIBRARY}) +add_cmocka_test(torture_connect torture_connect.c ${TORTURE_LIBRARY}) +add_cmocka_test(torture_knownhosts torture_knownhosts.c ${TORTURE_LIBRARY}) +add_cmocka_test(torture_proxycommand torture_proxycommand.c ${TORTURE_LIBRARY}) if (WITH_SFTP) - add_cmockery_test(torture_sftp_static torture_sftp_static.c ${TORTURE_LIBRARY}) - add_cmockery_test(torture_sftp_dir torture_sftp_dir.c ${TORTURE_LIBRARY}) + add_cmocka_test(torture_sftp_static torture_sftp_static.c ${TORTURE_LIBRARY}) + add_cmocka_test(torture_sftp_dir torture_sftp_dir.c ${TORTURE_LIBRARY}) endif (WITH_SFTP) diff --git a/tests/torture.h b/tests/torture.h index b9cbf9e..dbc1906 100644 --- a/tests/torture.h +++ b/tests/torture.h @@ -37,7 +37,7 @@ #include "libssh/priv.h" #include "libssh/sftp.h" -#include +#include /* Used by main to communicate with parse_opt. */ struct argument_s { diff --git a/tests/unittests/CMakeLists.txt b/tests/unittests/CMakeLists.txt index 91e1c41..d8a6125 100644 --- a/tests/unittests/CMakeLists.txt +++ b/tests/unittests/CMakeLists.txt @@ -1,16 +1,16 @@ project(unittests C) -add_cmockery_test(torture_buffer torture_buffer.c ${TORTURE_LIBRARY}) -add_cmockery_test(torture_callbacks torture_callbacks.c ${TORTURE_LIBRARY}) -add_cmockery_test(torture_init torture_init.c ${TORTURE_LIBRARY}) -add_cmockery_test(torture_list torture_list.c ${TORTURE_LIBRARY}) -add_cmockery_test(torture_misc torture_misc.c ${TORTURE_LIBRARY}) -add_cmockery_test(torture_options torture_options.c ${TORTURE_LIBRARY}) -add_cmockery_test(torture_isipaddr torture_isipaddr.c ${TORTURE_LIBRARY}) +add_cmocka_test(torture_buffer torture_buffer.c ${TORTURE_LIBRARY}) +add_cmocka_test(torture_callbacks torture_callbacks.c ${TORTURE_LIBRARY}) +add_cmocka_test(torture_init torture_init.c ${TORTURE_LIBRARY}) +add_cmocka_test(torture_list torture_list.c ${TORTURE_LIBRARY}) +add_cmocka_test(torture_misc torture_misc.c ${TORTURE_LIBRARY}) +add_cmocka_test(torture_options torture_options.c ${TORTURE_LIBRARY}) +add_cmocka_test(torture_isipaddr torture_isipaddr.c ${TORTURE_LIBRARY}) if (UNIX AND NOT WIN32) # requires ssh-keygen - add_cmockery_test(torture_keyfiles torture_keyfiles.c ${TORTURE_LIBRARY}) - add_cmockery_test(torture_pki torture_pki.c ${TORTURE_LIBRARY}) + add_cmocka_test(torture_keyfiles torture_keyfiles.c ${TORTURE_LIBRARY}) + add_cmocka_test(torture_pki torture_pki.c ${TORTURE_LIBRARY}) # requires pthread - add_cmockery_test(torture_rand torture_rand.c ${TORTURE_LIBRARY}) + add_cmocka_test(torture_rand torture_rand.c ${TORTURE_LIBRARY}) endif (UNIX AND NOT WIN32) -- cgit