9e0b89101df73ad1580f0355b81ef99a230acb8e
[platform/upstream/cmake.git] / Tests / CMakeTests / CMakeLists.txt
1 set(CMAKE_EXECUTABLE "${CMake_BIN_DIR}/cmake")
2
3
4 macro(AddCMakeTest TestName PreArgs)
5   configure_file("${CMAKE_CURRENT_SOURCE_DIR}/${TestName}Test.cmake.in"
6     "${CMAKE_CURRENT_BINARY_DIR}/${TestName}Test.cmake" @ONLY)
7   add_test(NAME CMake.${TestName}
8     COMMAND ${CMAKE_EXECUTABLE} ${PreArgs}
9     -P "${CMAKE_CURRENT_BINARY_DIR}/${TestName}Test.cmake" ${ARGN})
10   set_tests_properties("CMake.${TestName}" PROPERTIES LABELS "CMake;command")
11 endmacro()
12
13
14 AddCMakeTest(List "")
15 AddCMakeTest(VariableWatch "")
16 AddCMakeTest(Include "")
17 AddCMakeTest(FindBase "")
18 AddCMakeTest(Toolchain "")
19 AddCMakeTest(GetFilenameComponentRealpath "")
20 AddCMakeTest(Version "")
21 AddCMakeTest(Message "")
22 AddCMakeTest(File "")
23 AddCMakeTest(ImplicitLinkInfo "")
24 AddCMakeTest(ModuleNotices "")
25 AddCMakeTest(GetProperty "")
26 AddCMakeTest(If "")
27 AddCMakeTest(String "")
28 AddCMakeTest(Math "")
29 AddCMakeTest(CMakeMinimumRequired "")
30 AddCMakeTest(CompilerIdVendor "")
31 AddCMakeTest(ProcessorCount "-DKWSYS_TEST_EXE=$<TARGET_FILE:cmsysTestsCxx>")
32 AddCMakeTest(PushCheckState "")
33 AddCMakeTest(While "")
34
35 AddCMakeTest(FileDownload "")
36 set_tests_properties(CMake.FileDownload PROPERTIES
37   PASS_REGULAR_EXPRESSION "file already exists with expected MD5 sum"
38   FAIL_REGULAR_EXPRESSION "Unexpected status|incorrectly interpreted"
39   )
40 AddCMakeTest(FileDownloadBadHash "")
41 set_property(TEST CMake.FileDownloadBadHash PROPERTY
42   WILL_FAIL TRUE
43   )
44
45 AddCMakeTest(FileUpload "")
46
47 set(EndStuff_PreArgs
48   "-Ddir:STRING=${CMAKE_CURRENT_BINARY_DIR}/EndStuffTest"
49   )
50 AddCMakeTest(EndStuff "${EndStuff_PreArgs}")
51
52 AddCMakeTest(GetPrerequisites "-DConfiguration:STRING=$<CONFIGURATION>")
53
54 if(GIT_EXECUTABLE)
55   set(PolicyCheck_PreArgs
56     "-DCMake_BINARY_DIR:PATH=${CMake_BINARY_DIR}"
57     "-DCMake_SOURCE_DIR:PATH=${CMake_SOURCE_DIR}"
58     "-DGIT_EXECUTABLE:STRING=${GIT_EXECUTABLE}"
59     )
60   AddCMakeTest(PolicyCheck "${PolicyCheck_PreArgs}")
61 endif()
62
63 # Run CheckSourceTree as the very last test in the CMake/CTest/CPack test
64 # suite. It detects if any changes have been made to the CMake source tree
65 # by any previous configure, build or test steps.
66 #
67 if(GIT_EXECUTABLE)
68   string(REPLACE "\\" "/" ENV_HOME "$ENV{HOME}")
69   set(CheckSourceTree_PreArgs
70     "-DCMake_BINARY_DIR:PATH=${CMake_BINARY_DIR}"
71     "-DCMake_SOURCE_DIR:PATH=${CMake_SOURCE_DIR}"
72     "-DGIT_EXECUTABLE:STRING=${GIT_EXECUTABLE}"
73     "-DHOME:STRING=${ENV_HOME}"
74     )
75   AddCMakeTest(CheckSourceTree "${CheckSourceTree_PreArgs}")
76 endif()