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

Reply via email to