Pārlūkot izejas kodu

Merge topic 'launcher-tests'

4b0c13a8 Tests: Add additional launcher tests
Brad King 8 gadi atpakaļ
vecāks
revīzija
889fe63b51

+ 7 - 0
Tests/CTestTestLaunchers/launcher_compiler_test_project/CMakeLists.txt

@@ -0,0 +1,7 @@
+cmake_minimum_required(VERSION 2.8.12)
+
+project(launcher_compiler_test_project)
+
+include(CTest)
+
+add_executable(build_error build_error.cxx)

+ 0 - 0
Tests/CTestTestLaunchers/launcher_test_project/CTestConfig.cmake → Tests/CTestTestLaunchers/launcher_compiler_test_project/CTestConfig.cmake


+ 5 - 0
Tests/CTestTestLaunchers/launcher_compiler_test_project/build_error.cxx

@@ -0,0 +1,5 @@
+int main()
+{
+  int = 3;
+  return;
+}

+ 1 - 1
Tests/CTestTestLaunchers/launcher_test_project/CMakeLists.txt → Tests/CTestTestLaunchers/launcher_custom_command_test_project/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 2.8.12)
 
-project(launcher_test_project)
+project(launcher_custom_command_test_project)
 
 include(CTest)
 

+ 8 - 0
Tests/CTestTestLaunchers/launcher_custom_command_test_project/CTestConfig.cmake

@@ -0,0 +1,8 @@
+set(CTEST_USE_LAUNCHERS 1)
+set(CTEST_PROJECT_NAME "CTestTestLaunchers")
+set(CTEST_NIGHTLY_START_TIME "21:00:00 EDT")
+set(CTEST_DART_SERVER_VERSION "2")
+set(CTEST_DROP_METHOD "http")
+set(CTEST_DROP_SITE "open.cdash.org")
+set(CTEST_DROP_LOCATION "/submit.php?project=PublicDashboard")
+set(CTEST_DROP_SITE_CDASH TRUE)

+ 0 - 0
Tests/CTestTestLaunchers/launcher_test_project/command.cmake → Tests/CTestTestLaunchers/launcher_custom_command_test_project/command.cmake


+ 7 - 0
Tests/CTestTestLaunchers/launcher_linker_test_project/CMakeLists.txt

@@ -0,0 +1,7 @@
+cmake_minimum_required(VERSION 2.8.12)
+
+project(launcher_linker_test_project)
+
+include(CTest)
+
+add_executable(link_error link_error.cxx)

+ 8 - 0
Tests/CTestTestLaunchers/launcher_linker_test_project/CTestConfig.cmake

@@ -0,0 +1,8 @@
+set(CTEST_USE_LAUNCHERS 1)
+set(CTEST_PROJECT_NAME "CTestTestLaunchers")
+set(CTEST_NIGHTLY_START_TIME "21:00:00 EDT")
+set(CTEST_DART_SERVER_VERSION "2")
+set(CTEST_DROP_METHOD "http")
+set(CTEST_DROP_SITE "open.cdash.org")
+set(CTEST_DROP_LOCATION "/submit.php?project=PublicDashboard")
+set(CTEST_DROP_SITE_CDASH TRUE)

+ 6 - 0
Tests/CTestTestLaunchers/launcher_linker_test_project/link_error.cxx

@@ -0,0 +1,6 @@
+extern int foo();
+
+int main()
+{
+  return foo();
+}

+ 46 - 34
Tests/CTestTestLaunchers/test.cmake.in

@@ -1,39 +1,51 @@
 cmake_minimum_required(VERSION 2.8.12)
 
-# Settings:
-set(CTEST_DASHBOARD_SOURCE              "@CMake_SOURCE_DIR@/Tests/CTestTestLaunchers")
-set(CTEST_DASHBOARD_ROOT                "@CMake_BINARY_DIR@/Tests/CTestTestLaunchers")
-set(CTEST_SITE                          "@SITE@")
-set(CTEST_BUILD_NAME                    "Launchers-@BUILDNAME@-CTestTestLaunchers")
-
-set(CTEST_SOURCE_DIRECTORY              "${CTEST_DASHBOARD_SOURCE}/launcher_test_project")
-set(CTEST_BINARY_DIRECTORY              "${CTEST_DASHBOARD_ROOT}/launcher_test_project-bin")
-set(CTEST_CMAKE_GENERATOR               "@CMAKE_GENERATOR@")
-set(CTEST_CMAKE_GENERATOR_PLATFORM      "@CMAKE_GENERATOR_PLATFORM@")
-set(CTEST_CMAKE_GENERATOR_TOOLSET       "@CMAKE_GENERATOR_TOOLSET@")
-set(CTEST_BUILD_CONFIGURATION           "$ENV{CMAKE_CONFIG_TYPE}")
-set(CTEST_NOTES_FILES                   "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
-
-ctest_empty_binary_directory(${CTEST_BINARY_DIRECTORY})
-
-file(WRITE "${CTEST_BINARY_DIRECTORY}/CMakeCache.txt" "
-CMAKE_CXX_FLAGS:STRING=@CMAKE_CXX_FLAGS@
-CMAKE_C_FLAGS:STRING=@CMAKE_C_FLAGS@
-CMAKE_C_COMPILER:STRING=@CMAKE_C_COMPILER@
-CMAKE_CXX_COMPILER:STRING=@CMAKE_CXX_COMPILER@
-CMAKE_C_COMPILER_ARG1:STRING=@CMAKE_C_COMPILER_ARG1@
-CMAKE_CXX_COMPILER_ARG1:STRING=@CMAKE_CXX_COMPILER_ARG1@
-")
-
-set(TEST_SUCCESS FALSE)
-
-ctest_start(Experimental)
-ctest_configure(OPTIONS "-DCTEST_USE_LAUNCHERS=1")
-ctest_build(NUMBER_ERRORS error_count)
-
-if("${error_count}" STREQUAL "1")
-  set(TEST_SUCCESS TRUE)
-endif()
+set(TEST_SUCCESS TRUE)
+
+function(run_test_case NAME WHAT)
+  set(_message "Testing that launchers are used when running ${WHAT}")
+  message(STATUS "${_message}...")
+
+  # Settings:
+  set(CTEST_DASHBOARD_SOURCE              "@CMake_SOURCE_DIR@/Tests/CTestTestLaunchers")
+  set(CTEST_DASHBOARD_ROOT                "@CMake_BINARY_DIR@/Tests/CTestTestLaunchers")
+  set(CTEST_SITE                          "@SITE@")
+  set(CTEST_BUILD_NAME                    "Launchers-@BUILDNAME@-CTestTestLaunchers")
+
+  set(CTEST_SOURCE_DIRECTORY              "${CTEST_DASHBOARD_SOURCE}/${NAME}")
+  set(CTEST_BINARY_DIRECTORY              "${CTEST_DASHBOARD_ROOT}/${NAME}-bin")
+  set(CTEST_CMAKE_GENERATOR               "@CMAKE_GENERATOR@")
+  set(CTEST_CMAKE_GENERATOR_PLATFORM      "@CMAKE_GENERATOR_PLATFORM@")
+  set(CTEST_CMAKE_GENERATOR_TOOLSET       "@CMAKE_GENERATOR_TOOLSET@")
+  set(CTEST_BUILD_CONFIGURATION           "$ENV{CMAKE_CONFIG_TYPE}")
+  set(CTEST_NOTES_FILES                   "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
+
+  ctest_empty_binary_directory(${CTEST_BINARY_DIRECTORY})
+
+  file(WRITE "${CTEST_BINARY_DIRECTORY}/CMakeCache.txt" "
+  CMAKE_CXX_FLAGS:STRING=@CMAKE_CXX_FLAGS@
+  CMAKE_C_FLAGS:STRING=@CMAKE_C_FLAGS@
+  CMAKE_C_COMPILER:STRING=@CMAKE_C_COMPILER@
+  CMAKE_CXX_COMPILER:STRING=@CMAKE_CXX_COMPILER@
+  CMAKE_C_COMPILER_ARG1:STRING=@CMAKE_C_COMPILER_ARG1@
+  CMAKE_CXX_COMPILER_ARG1:STRING=@CMAKE_CXX_COMPILER_ARG1@
+  ")
+
+  ctest_start(Experimental)
+  ctest_configure(OPTIONS "-DCTEST_USE_LAUNCHERS=1")
+  ctest_build(NUMBER_ERRORS error_count)
+
+  if("${error_count}" STREQUAL "0")
+    set(TEST_SUCCESS FALSE PARENT_SCOPE)
+    message(STATUS "${_message}... FAIL")
+  else()
+    message(STATUS "${_message}... PASS")
+  endif()
+endfunction()
+
+run_test_case(launcher_compiler_test_project "the compiler")
+run_test_case(launcher_linker_test_project "the linker")
+run_test_case(launcher_custom_command_test_project "a custom command")
 
 if(TEST_SUCCESS)
   message("CTEST_TEST_LAUNCHER_SUCCESS")