From 0d6b5d54b240037fca1dfd25fb9b6d084e17ad5b Mon Sep 17 00:00:00 2001 From: Alex Turbov Date: Thu, 4 Sep 2025 01:05:36 +0400 Subject: [PATCH] Tests/RunCMake/MultiLint: Extract test preparation code into separate file --- .../MultiLint/CXX_skip_linting_OFF.cmake | 8 ++------ .../MultiLint/CXX_skip_linting_ON.cmake | 8 ++------ .../RunCMake/MultiLint/C_skip_linting_OFF.cmake | 8 ++------ .../RunCMake/MultiLint/C_skip_linting_ON.cmake | 8 ++------ .../MultiLint/setup_skip_linter_test.cmake | 17 +++++++++++++++++ 5 files changed, 25 insertions(+), 24 deletions(-) create mode 100644 Tests/RunCMake/MultiLint/setup_skip_linter_test.cmake diff --git a/Tests/RunCMake/MultiLint/CXX_skip_linting_OFF.cmake b/Tests/RunCMake/MultiLint/CXX_skip_linting_OFF.cmake index a0311a605b..2b93af1d80 100644 --- a/Tests/RunCMake/MultiLint/CXX_skip_linting_OFF.cmake +++ b/Tests/RunCMake/MultiLint/CXX_skip_linting_OFF.cmake @@ -1,7 +1,3 @@ enable_language(CXX) -set(CMAKE_CXX_INCLUDE_WHAT_YOU_USE "$<1:${PSEUDO_IWYU}>" -some -args) -set(CMAKE_CXX_CLANG_TIDY "$<1:${PSEUDO_TIDY}>" -bad) -set(CMAKE_CXX_CPPLINT "$<1:${PSEUDO_CPPLINT}>" --error) -set(CMAKE_CXX_CPPCHECK "$<1:${PSEUDO_CPPCHECK}>" -error) -add_executable(main main.cxx) -set_source_files_properties(main.cxx PROPERTIES SKIP_LINTING OFF) +include(${CMAKE_CURRENT_LIST_DIR}/setup_skip_linter_test.cmake) +setup_skip_linter_test(CXX OFF) diff --git a/Tests/RunCMake/MultiLint/CXX_skip_linting_ON.cmake b/Tests/RunCMake/MultiLint/CXX_skip_linting_ON.cmake index 39cfe87a2f..47f640ffde 100644 --- a/Tests/RunCMake/MultiLint/CXX_skip_linting_ON.cmake +++ b/Tests/RunCMake/MultiLint/CXX_skip_linting_ON.cmake @@ -1,7 +1,3 @@ enable_language(CXX) -set(CMAKE_CXX_INCLUDE_WHAT_YOU_USE "$<1:${PSEUDO_IWYU}>" -some -args) -set(CMAKE_CXX_CLANG_TIDY "$<1:${PSEUDO_TIDY}>" -bad) -set(CMAKE_CXX_CPPLINT "$<1:${PSEUDO_CPPLINT}>" --error) -set(CMAKE_CXX_CPPCHECK "$<1:${PSEUDO_CPPCHECK}>" -error) -add_executable(main main.cxx) -set_source_files_properties(main.cxx PROPERTIES SKIP_LINTING ON) +include(${CMAKE_CURRENT_LIST_DIR}/setup_skip_linter_test.cmake) +setup_skip_linter_test(CXX ON) diff --git a/Tests/RunCMake/MultiLint/C_skip_linting_OFF.cmake b/Tests/RunCMake/MultiLint/C_skip_linting_OFF.cmake index 2968a21ff5..5fde3dd466 100644 --- a/Tests/RunCMake/MultiLint/C_skip_linting_OFF.cmake +++ b/Tests/RunCMake/MultiLint/C_skip_linting_OFF.cmake @@ -1,7 +1,3 @@ enable_language(C) -set(CMAKE_C_INCLUDE_WHAT_YOU_USE "${PSEUDO_IWYU}" -some -args) -set(CMAKE_C_CLANG_TIDY "${PSEUDO_TIDY}" -bad) -set(CMAKE_C_CPPLINT "${PSEUDO_CPPLINT}" --error) -set(CMAKE_C_CPPCHECK "${PSEUDO_CPPCHECK}" -error) -add_executable(main main.c) -set_source_files_properties(main.c PROPERTIES SKIP_LINTING OFF) +include(${CMAKE_CURRENT_LIST_DIR}/setup_skip_linter_test.cmake) +setup_skip_linter_test(C OFF) diff --git a/Tests/RunCMake/MultiLint/C_skip_linting_ON.cmake b/Tests/RunCMake/MultiLint/C_skip_linting_ON.cmake index 09fc761b1c..9391d21a5c 100644 --- a/Tests/RunCMake/MultiLint/C_skip_linting_ON.cmake +++ b/Tests/RunCMake/MultiLint/C_skip_linting_ON.cmake @@ -1,7 +1,3 @@ enable_language(C) -set(CMAKE_C_INCLUDE_WHAT_YOU_USE "${PSEUDO_IWYU}" -some -args) -set(CMAKE_C_CLANG_TIDY "${PSEUDO_TIDY}" -bad) -set(CMAKE_C_CPPLINT "${PSEUDO_CPPLINT}" --error) -set(CMAKE_C_CPPCHECK "${PSEUDO_CPPCHECK}" -error) -add_executable(main main.c) -set_source_files_properties(main.c PROPERTIES SKIP_LINTING ON) +include(${CMAKE_CURRENT_LIST_DIR}/setup_skip_linter_test.cmake) +setup_skip_linter_test(C ON) diff --git a/Tests/RunCMake/MultiLint/setup_skip_linter_test.cmake b/Tests/RunCMake/MultiLint/setup_skip_linter_test.cmake new file mode 100644 index 0000000000..3f6075cf1e --- /dev/null +++ b/Tests/RunCMake/MultiLint/setup_skip_linter_test.cmake @@ -0,0 +1,17 @@ +include_guard() + +function(setup_skip_linter_test lang state) + if(lang STREQUAL "CXX") + set(maybe_genex_pre "$<1:") + set(maybe_genex_post ">") + endif() + + set(CMAKE_${lang}_INCLUDE_WHAT_YOU_USE "${maybe_genex_pre}${PSEUDO_IWYU}${maybe_genex_post}" -some -args) + set(CMAKE_${lang}_CLANG_TIDY "${maybe_genex_pre}${PSEUDO_TIDY}${maybe_genex_post}" -bad) + set(CMAKE_${lang}_CPPLINT "${maybe_genex_pre}${PSEUDO_CPPLINT}${maybe_genex_post}" --error) + set(CMAKE_${lang}_CPPCHECK "${maybe_genex_pre}${PSEUDO_CPPCHECK}${maybe_genex_post}" -error) + + string(TOLOWER "${lang}" ext) + add_executable(main main.${ext}) + set_source_files_properties(main.${ext} PROPERTIES SKIP_LINTING ${state}) +endfunction()