diff options
Diffstat (limited to 'Tests/RunCMake/ClangTidy/RunCMakeTest.cmake')
-rw-r--r-- | Tests/RunCMake/ClangTidy/RunCMakeTest.cmake | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/Tests/RunCMake/ClangTidy/RunCMakeTest.cmake b/Tests/RunCMake/ClangTidy/RunCMakeTest.cmake index 5e3fbc4..01dbb61 100644 --- a/Tests/RunCMake/ClangTidy/RunCMakeTest.cmake +++ b/Tests/RunCMake/ClangTidy/RunCMakeTest.cmake @@ -30,3 +30,55 @@ if (NOT RunCMake_GENERATOR STREQUAL "Watcom WMake") endif() run_tidy(C-bad) run_tidy(compdb) + +function(any_file_exists varname) + foreach(filename IN LISTS ARGN) + if(EXISTS "${filename}") + set("${varname}" 1 PARENT_SCOPE) + return() + endif() + endforeach() + set("${varname}" 0 PARENT_SCOPE) +endfunction() + +function(assert_any_file_exists) + any_file_exists(exists ${ARGN}) + if(NOT exists) + string(APPEND RunCMake_TEST_FAILED "Expected one of the following files to exist but they do not:\n") + foreach(filename IN LISTS ARGN) + string(APPEND RunCMake_TEST_FAILED " ${filename}\n") + endforeach() + set(RunCMake_TEST_FAILED "${RunCMake_TEST_FAILED}" PARENT_SCOPE) + endif() +endfunction() + +function(assert_no_file_exists) + any_file_exists(exists ${ARGN}) + if(exists) + string(APPEND RunCMake_TEST_FAILED "Expected none of the following files to exist but one of them does:\n") + foreach(filename IN LISTS ARGN) + string(APPEND RunCMake_TEST_FAILED " ${filename}\n") + endforeach() + set(RunCMake_TEST_FAILED "${RunCMake_TEST_FAILED}" PARENT_SCOPE) + endif() +endfunction() + +function(run_tidy_export_fixes) + # Use a single build tree for tests without cleaning. + set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/ExportFixesDir-build) + set(RunCMake_TEST_NO_CLEAN 1) + file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}") + file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}") + run_cmake(ExportFixesDir) + + set(RunCMake_TEST_OUTPUT_MERGE 1) + run_cmake_command(ExportFixesDir-Build ${CMAKE_COMMAND} --build . --config Debug) + unset(RunCMake_TEST_OUTPUT_MERGE) + + run_cmake(ExportFixesDir2) + + set(RunCMake_TEST_OUTPUT_MERGE 1) + run_cmake_command(ExportFixesDir2-Build ${CMAKE_COMMAND} --build . --config Debug) + unset(RunCMake_TEST_OUTPUT_MERGE) +endfunction() +run_tidy_export_fixes() |