Files
cmake/.gitlab/ci/ctest_exclusions.cmake
T
Joerg Bornemann 2256eb36fb Tests: Work around Xcode ZERO_CHECK limitation in RerunMocOnAddFile test
The Xcode build system creates its build plan at the start of a build
and does not re-read the project file when ZERO_CHECK regenerates it
mid-build. New source files added to CMakeLists.txt are silently
skipped, causing linker errors with Qt6 (whose moc generates metatype
code that references the class constructor).

Work around that issue by explicitly re-running CMake before building
when using the Xcode generator so the project file includes the new
sources before xcodebuild starts.

Fixes: #27358
Issue: #27611
2026-02-16 10:15:35 -05:00

56 lines
1.6 KiB
CMake

set(test_exclusions
# This test hits global resources and can be handled by nightly testing.
# https://gitlab.kitware.com/cmake/cmake/-/merge_requests/4769
"^BundleGeneratorTest$"
)
if (CTEST_CMAKE_GENERATOR MATCHES "Visual Studio")
list(APPEND test_exclusions
# This test takes around 5 minutes with Visual Studio.
# https://gitlab.kitware.com/cmake/cmake/-/issues/20733
"^ExternalProjectUpdate$"
# This test is a dependency of the above and is only required for it.
"^ExternalProjectUpdateSetup$")
endif ()
if ("$ENV{CMAKE_CONFIGURATION}" MATCHES "_asan")
list(APPEND test_exclusions
CTestTest2 # crashes on purpose
BootstrapTest # no need to cover this for asan
)
endif()
if ("$ENV{CMAKE_CONFIGURATION}" MATCHES "_jom")
list(APPEND test_exclusions
# JOM often fails with "Couldn't change working directory to ...".
"^ExternalProject$"
)
endif()
if ("$ENV{CMAKE_CONFIGURATION}" MATCHES "_valgrind")
list(APPEND test_exclusions
# Tests that timeout under valgrind.
"^RunCMake.NinjaMultiConfig$"
"^RunCMake.Autogen_Qt6_1$"
"^RunCMake.GoogleTest$"
"^RunCMake.CXXModules$"
"^RunCMake.CXXModulesCompile$"
"^RunCMake.CommandLine$"
# Too spurious under Valgrind.
"^RunCMake.testUVProcessChain$"
)
endif()
if ("$ENV{CMAKE_CONFIGURATION}" MATCHES "^macos_x86_64_")
list(APPEND test_exclusions
# FIXME(#27376): CMakeGUI's simpleConfigure:fail case hangs.
"^CMakeGUI$"
)
endif()
string(REPLACE ";" "|" test_exclusions "${test_exclusions}")
if (test_exclusions)
set(test_exclusions "(${test_exclusions})")
endif ()