Tests: Fix -direct variants of FetchContent tests using wrong files

The -direct variants of the RunCMake.FetchContent tests were
meant to be using the same result, stdout and stderr files as the
non-direct tests. The -direct tests were specified in the wrong way
for that and ended up using no files at all, so they weren't testing
the full set of expected conditions. Use the test variant feature
provided by the RunCMake infrastructure instead, which is the
proper way to handle this sort of scenario.
This commit is contained in:
Craig Scott
2024-06-07 17:01:50 +10:00
parent 11b684c449
commit f97b25ec4b
2 changed files with 6 additions and 8 deletions

View File

@@ -6,7 +6,6 @@ file(REMOVE_RECURSE ${CMAKE_CURRENT_BINARY_DIR}/_deps)
if(CMP0168 STREQUAL "NEW")
cmake_policy(SET CMP0168 NEW)
string(REGEX REPLACE "-direct$" "" RunCMake_TEST "${RunCMake_TEST}")
else()
cmake_policy(SET CMP0168 OLD)
endif()

View File

@@ -4,7 +4,8 @@ unset(RunCMake_TEST_NO_CLEAN)
function(run_cmake_with_cmp0168 name)
run_cmake_with_options("${name}" -D CMP0168=OLD ${ARGN})
run_cmake_with_options("${name}-direct" -D CMP0168=NEW ${ARGN})
set(RunCMake_TEST_VARIANT_DESCRIPTION "-direct")
run_cmake_with_options("${name}" -D CMP0168=NEW ${ARGN})
endfunction()
# Won't get to the part where CMP0168 matters
@@ -46,18 +47,16 @@ run_cmake_with_cmp0168(ManualSourceDirectoryRelative
function(run_FetchContent_DirOverrides cmp0168)
if(cmp0168 STREQUAL "NEW")
set(suffix "-direct")
else()
set(suffix "")
set(RunCMake_TEST_VARIANT_DESCRIPTION "-direct")
endif()
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/DirOverrides${suffix}-build)
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/DirOverrides${RunCMake_TEST_VARIANT_DESCRIPTION}-build)
file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
run_cmake_with_options(DirOverrides${suffix} -D CMP0168=${cmp0168})
run_cmake_with_options(DirOverrides -D CMP0168=${cmp0168})
set(RunCMake_TEST_NO_CLEAN 1)
run_cmake_with_options(DirOverridesDisconnected${suffix}
run_cmake_with_options(DirOverridesDisconnected
-D CMP0168=${cmp0168}
-D FETCHCONTENT_FULLY_DISCONNECTED=YES
)