mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-21 18:22:53 +01:00
93cdde161f
Config map is not exposed through the command line, so testing this is somewhat tricky. But basically we need a test that if a custom driver builds a config map and passes it to main, it gets respected. A config map allows config files in the source tree to be mapped to alternate config files in the build tree. This particular test works by having two config files in separate directories, and setting up a config map to have that redirects A/lit.site.cfg to B/altconfig. Then, we print a message in A/lit.site.cfg and B/altconfig and check that we do see the output from B but don't see the output from A. Additionally we test that the test suite specified by A's config map is properly discovered. Differential Revision: https://reviews.llvm.org/D38105 llvm-svn: 313887
33 lines
1.4 KiB
CMake
33 lines
1.4 KiB
CMake
# The configured file is not placed in the correct location
|
|
# until the tests are run as we need to copy it into
|
|
# a copy of the tests folder
|
|
configure_lit_site_cfg(
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/tests/lit.site.cfg.in"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg"
|
|
OUTPUT_MAPPING
|
|
"${CMAKE_CURRENT_BINARY_DIR}/tests/lit.site.cfg"
|
|
)
|
|
|
|
# Lit's test suite creates output files next to the sources which makes the
|
|
# source tree dirty. This is undesirable because we do out of source builds.
|
|
# To work around this the tests and the configuration file are copied into the
|
|
# build directory just before running them. The tests are not copied over at
|
|
# configure time (i.e. `file(COPY ...)`) because this could lead to stale
|
|
# tests being run.
|
|
add_custom_target(prepare-check-lit
|
|
COMMAND ${CMAKE_COMMAND} -E remove_directory "${CMAKE_CURRENT_BINARY_DIR}/tests"
|
|
COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_CURRENT_SOURCE_DIR}/tests" "${CMAKE_CURRENT_BINARY_DIR}/tests"
|
|
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg" "${CMAKE_CURRENT_BINARY_DIR}/tests"
|
|
COMMENT "Preparing lit tests"
|
|
)
|
|
|
|
# Add rules for lit's own test suite
|
|
add_lit_testsuite(check-lit "Running lit's tests"
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
|
DEPENDS "FileCheck" "not" "prepare-check-lit"
|
|
)
|
|
|
|
# For IDEs
|
|
set_target_properties(check-lit PROPERTIES FOLDER "Tests")
|
|
set_target_properties(prepare-check-lit PROPERTIES FOLDER "Tests")
|