Changeset: abe61c37a2b7 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=abe61c37a2b7 Added Files: ctest/cmake/test_detect_legacy_var.c.in ctest/cmake/test_package_detect.c.in Removed Files: ctest/cmake/test_detect_curl.c.in ctest/cmake/test_detect_fits.c.in Modified Files: cmake/monetdb-functions.cmake ctest/cmake/CMakeLists.txt ctest/cmake/detect-curl.cmake ctest/cmake/detect-fits.cmake Branch: default Log Message:
add new test functions diffs (truncated from 363 to 300 lines): diff --git a/cmake/monetdb-functions.cmake b/cmake/monetdb-functions.cmake --- a/cmake/monetdb-functions.cmake +++ b/cmake/monetdb-functions.cmake @@ -147,6 +147,7 @@ function(monetdb_cmake_summary) message(STATUS "") endfunction() +# CMake function to test if a variable exists in the cmake code. function(assert_variable_exists assert_variable_variablename) if(NOT ${assert_variable_variablename}) message(FATAL_ERROR "variable ${assert_variable_variablename} not defined") @@ -165,3 +166,63 @@ function(assert_variable_exists assert_v "${CMAKE_CURRENT_BINARY_DIR}/test_${assert_variable_variablename}_var.c") add_test("testDetect${assert_variable_variablename}" "test_${assert_variable_variablename}_var") endfunction() + +# CMake function to test if a cmake variable has a corresponding +# legacy variable defined in the monetdb_config.h header file. +function(assert_legacy_variable_exists) + cmake_parse_arguments( + assert_variable + "dummy" + "variablename;legacy_variablename" + "" + ${ARGN}) + if(${${assert_variable_variablename}}) + set(DETECT "0") + set(UNDETECT "1") + else() + set(DETECT "1") + set(UNDETECT "0") + endif() + configure_file(test_detect_legacy_var.c.in + "${CMAKE_CURRENT_BINARY_DIR}/test_${assert_variable_legacy_variablename}_legacy_var.c" + @ONLY) + add_executable("test_${assert_variable_legacy_variablename}_legacy_var") + target_sources("test_${assert_variable_legacy_variablename}_legacy_var" + PRIVATE + "${CMAKE_CURRENT_BINARY_DIR}/test_${assert_variable_legacy_variablename}_legacy_var.c") + target_link_libraries("test_${assert_variable_legacy_variablename}_legacy_var" + PRIVATE + monetdb_config_header) + add_test("testDetect${assert_variable_legacy_variablename}Legacy" + "test_${assert_variable_legacy_variablename}_legacy_var") +endfunction() + +# CMake function to test if the package detection gave the +# expected result. +function(assert_package_detected) + cmake_parse_arguments( + assert_package + "dummy" + "variablename;legacyvariable;detect" + "" + ${ARGN}) + if(${assert_package_detect}) + set(DETECT "0") + set(UNDETECT "1") + else() + set(DETECT "1") + set(UNDETECT "0") + endif() + configure_file(test_package_detect.c.in + "${CMAKE_CURRENT_BINARY_DIR}/test_${assert_package_variablename}_detect_var.c" + @ONLY) + add_executable("test_${assert_package_variablename}_detect_var") + target_sources("test_${assert_package_variablename}_detect_var" + PRIVATE + "${CMAKE_CURRENT_BINARY_DIR}/test_${assert_package_variablename}_detect_var.c") + target_link_libraries("test_${assert_package_variablename}_detect_var" + PRIVATE + monetdb_config_header) + add_test("testDetect${assert_package_variablename}Detect" + "test_${assert_package_variablename}_detect_var") +endfunction() diff --git a/ctest/cmake/CMakeLists.txt b/ctest/cmake/CMakeLists.txt --- a/ctest/cmake/CMakeLists.txt +++ b/ctest/cmake/CMakeLists.txt @@ -47,3 +47,10 @@ include(${CMAKE_CURRENT_SOURCE_DIR}/dete include(${CMAKE_CURRENT_SOURCE_DIR}/set-dir-vars.cmake) include(${CMAKE_CURRENT_SOURCE_DIR}/set-cmake-vars.cmake) + +assert_legacy_variable_exists( + legacy_variablename HAVE_FITS + variablename CFITSIO_FOUND) +assert_legacy_variable_exists( + legacy_variablename HAVE_CURL + variablename CURL_FOUND) diff --git a/ctest/cmake/detect-curl.cmake b/ctest/cmake/detect-curl.cmake --- a/ctest/cmake/detect-curl.cmake +++ b/ctest/cmake/detect-curl.cmake @@ -8,53 +8,56 @@ if (${LINUX_DISTRO} STREQUAL "debian") if(${LINUX_DISTRO_VERSION} STREQUAL "9") - set(DETECT "1") - set(UNDETECT "0") + assert_package_detected( + detect FALSE + legacyvariable HAVE_CURL + variablename CURL_FOUND) endif() if(${LINUX_DISTRO_VERSION} STREQUAL "10") - set(DETECT "1") - set(UNDETECT "0") + assert_package_detected( + detect FALSE + legacyvariable HAVE_CURL + variablename CURL_FOUND) endif() elseif (${LINUX_DISTRO} STREQUAL "ubuntu") if(${LINUX_DISTRO_VERSION} STREQUAL "18") - set(DETECT "1") - set(UNDETECT "0") + assert_package_detected( + detect FALSE + legacyvariable HAVE_CURL + variablename CURL_FOUND) endif() if(${LINUX_DISTRO_VERSION} STREQUAL "19") - set(DETECT "1") - set(UNDETECT "0") + assert_package_detected( + detect FALSE + legacyvariable HAVE_CURL + variablename CURL_FOUND) endif() if(${LINUX_DISTRO_VERSION} STREQUAL "20") - set(DETECT "1") - set(UNDETECT "0") + assert_package_detected( + detect FALSE + legacyvariable HAVE_CURL + variablename CURL_FOUND) endif() elseif(${LINUX_DISTRO} STREQUAL "fedora") if(${LINUX_DISTRO_VERSION} STREQUAL "30") - set(DETECT "0") - set(UNDETECT "1") + assert_package_detected( + detect TRUE + legacyvariable HAVE_CURL + variablename CURL_FOUND) endif() if(${LINUX_DISTRO_VERSION} STREQUAL "31") - set(DETECT "0") - set(UNDETECT "1") + assert_package_detected( + detect TRUE + legacyvariable HAVE_CURL + variablename CURL_FOUND) endif() if(${LINUX_DISTRO_VERSION} STREQUAL "32") - set(DETECT "0") - set(UNDETECT "1") + assert_package_detected( + detect FALSE + legacyvariable HAVE_CURL + variablename CURL_FOUND) endif() else() message(ERROR "Linux distro: ${LINUX_DISTRO} not known") message(ERROR "Linux distro version: ${LINUX_DISTRO_VERSION} not known") endif() - -configure_file(test_detect_curl.c.in - ${CMAKE_CURRENT_BINARY_DIR}/test_detect_curl.c - @ONLY) - -add_executable(test_detect_curl) -target_sources(test_detect_curl - PRIVATE - ${CMAKE_CURRENT_BINARY_DIR}/test_detect_curl.c) -target_link_libraries(test_detect_curl - PRIVATE - monetdb_config_header) -add_test(testDetectCurl test_detect_curl) diff --git a/ctest/cmake/detect-fits.cmake b/ctest/cmake/detect-fits.cmake --- a/ctest/cmake/detect-fits.cmake +++ b/ctest/cmake/detect-fits.cmake @@ -12,53 +12,56 @@ endif() if (${LINUX_DISTRO} STREQUAL "debian") if(${LINUX_DISTRO_VERSION} STREQUAL "9") - set(DETECT "1") - set(UNDETECT "0") + assert_package_detected( + detect FALSE + legacyvariable HAVE_FITS + variablename CFITSIO_FOUND) endif() if(${LINUX_DISTRO_VERSION} STREQUAL "10") - set(DETECT "0") - set(UNDETECT "1") + assert_package_detected( + detect TRUE + legacyvariable HAVE_FITS + variablename CFITSIO_FOUND) endif() elseif (${LINUX_DISTRO} STREQUAL "ubuntu") if(${LINUX_DISTRO_VERSION} STREQUAL "18") - set(DETECT "1") - set(UNDETECT "0") + assert_package_detected( + detect FALSE + legacyvariable HAVE_FITS + variablename CFITSIO_FOUND) endif() if(${LINUX_DISTRO_VERSION} STREQUAL "19") - set(DETECT "1") - set(UNDETECT "0") + assert_package_detected( + detect FALSE + legacyvariable HAVE_FITS + variablename CFITSIO_FOUND) endif() if(${LINUX_DISTRO_VERSION} STREQUAL "20") - set(DETECT "1") - set(UNDETECT "0") + assert_package_detected( + detect FALSE + legacyvariable HAVE_FITS + variablename CFITSIO_FOUND) endif() elseif(${LINUX_DISTRO} STREQUAL "fedora") if(${LINUX_DISTRO_VERSION} STREQUAL "30") - set(DETECT "0") - set(UNDETECT "1") + assert_package_detected( + detect TRUE + legacyvariable HAVE_FITS + variablename CFITSIO_FOUND) endif() if(${LINUX_DISTRO_VERSION} STREQUAL "31") - set(DETECT "0") - set(UNDETECT "1") + assert_package_detected( + detect TRUE + legacyvariable HAVE_FITS + variablename CFITSIO_FOUND) endif() if(${LINUX_DISTRO_VERSION} STREQUAL "32") - set(DETECT "0") - set(UNDETECT "1") + assert_package_detected( + detect TRUE + legacyvariable HAVE_FITS + variablename CFITSIO_FOUND) endif() else() message(ERROR "Linux distro: ${LINUX_DISTRO} not known") message(ERROR "Linux distro version: ${LINUX_DISTRO_VERSION} not known") endif() - -configure_file(test_detect_fits.c.in - ${CMAKE_CURRENT_BINARY_DIR}/test_detect_fits.c - @ONLY) - -add_executable(test_detect_fits) -target_sources(test_detect_fits - PRIVATE - ${CMAKE_CURRENT_BINARY_DIR}/test_detect_fits.c) -target_link_libraries(test_detect_fits - PRIVATE - monetdb_config_header) -add_test(testDetectFits test_detect_fits) diff --git a/ctest/cmake/test_detect_curl.c.in b/ctest/cmake/test_detect_curl.c.in deleted file mode 100644 --- a/ctest/cmake/test_detect_curl.c.in +++ /dev/null @@ -1,19 +0,0 @@ -/* - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 1997 - July 2008 CWI, August 2008 - 2020 MonetDB B.V. - */ - -#include "monetdb_config.h" - -int -main(void) -{ -#ifdef HAVE_CURL - return @DETECT@; -#else - return @UNDETECT@; -#endif -} diff --git a/ctest/cmake/test_detect_fits.c.in b/ctest/cmake/test_detect_fits.c.in deleted file mode 100644 --- a/ctest/cmake/test_detect_fits.c.in +++ /dev/null @@ -1,19 +0,0 @@ -/* - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list