Browse Source

Tests: Confirm test working dir set successfully

Specifically, this tests that setting WORKING_DIRECTORY
to an invalid directory results in the test failing.
Craig Scott 7 years ago
parent
commit
a865f0beb2

+ 1 - 0
Tests/RunCMake/CMakeLists.txt

@@ -188,6 +188,7 @@ if (QT4_FOUND)
 endif()
 add_RunCMake_test(CompatibleInterface)
 add_RunCMake_test(Syntax)
+add_RunCMake_test(WorkingDirectory)
 
 add_RunCMake_test(add_custom_command)
 add_RunCMake_test(add_custom_target)

+ 3 - 0
Tests/RunCMake/WorkingDirectory/CMakeLists.txt.in

@@ -0,0 +1,3 @@
+cmake_minimum_required(VERSION 3.11)
+project(@CASE_NAME@ NONE)
+include("@RunCMake_SOURCE_DIR@/@[email protected]")

+ 1 - 0
Tests/RunCMake/WorkingDirectory/CTestConfig.cmake.in

@@ -0,0 +1 @@
+set(CTEST_PROJECT_NAME "CTestTestWorkingDir.@CASE_NAME@")

+ 3 - 0
Tests/RunCMake/WorkingDirectory/RunCMakeTest.cmake

@@ -0,0 +1,3 @@
+include(RunCTest)
+
+run_ctest(dirNotExist)

+ 1 - 0
Tests/RunCMake/WorkingDirectory/dirNotExist-result.txt

@@ -0,0 +1 @@
+(-1|255)

+ 10 - 0
Tests/RunCMake/WorkingDirectory/dirNotExist-stdout.txt

@@ -0,0 +1,10 @@
+Test project .*/Tests/RunCMake/WorkingDirectory/dirNotExist-build
+.* +Start 1: dirNotExist
+1/1 Test #1: dirNotExist +\.+\*\*\*Not Run +[0-9.]+ sec
++
+0% tests passed, 1 tests failed out of 1
++
+Total Test time \(real\) = +[0-9.]+ sec
++
+The following tests FAILED:
+.* +1 - dirNotExist \(Not Run\)$

+ 6 - 0
Tests/RunCMake/WorkingDirectory/dirNotExist.cmake

@@ -0,0 +1,6 @@
+include(CTest)
+
+add_test(NAME dirNotExist
+         COMMAND ${CMAKE_COMMAND} -E touch someFile.txt
+         WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/thisDirWillNotExist
+)

+ 15 - 0
Tests/RunCMake/WorkingDirectory/test.cmake.in

@@ -0,0 +1,15 @@
+cmake_minimum_required(VERSION 3.11)
+
+set(CTEST_SITE                          "test-site")
+set(CTEST_BUILD_NAME                    "test-build-name")
+set(CTEST_SOURCE_DIRECTORY              "@RunCMake_BINARY_DIR@/@CASE_NAME@")
+set(CTEST_BINARY_DIRECTORY              "@RunCMake_BINARY_DIR@/@CASE_NAME@-build")
+set(CTEST_CMAKE_GENERATOR               "@RunCMake_GENERATOR@")
+set(CTEST_CMAKE_GENERATOR_PLATFORM      "@RunCMake_GENERATOR_PLATFORM@")
+set(CTEST_CMAKE_GENERATOR_TOOLSET       "@RunCMake_GENERATOR_TOOLSET@")
+set(CTEST_BUILD_CONFIGURATION           "$ENV{CMAKE_CONFIG_TYPE}")
+
+ctest_start(Experimental)
+ctest_configure()
+ctest_build()
+ctest_test()