test: add a test for clearing regex results
This commit is contained in:
parent
3350e4d209
commit
7878d06189
|
@ -0,0 +1,54 @@
|
|||
^Matched string properly
|
||||
results from: setting up initial state
|
||||
CMAKE_MATCH_0: -->01<--
|
||||
CMAKE_MATCH_1: -->0<--
|
||||
CMAKE_MATCH_2: -->1<--
|
||||
CMAKE_MATCH_COUNT: -->2<--
|
||||
Matched string properly
|
||||
results from: making a match inside of find_package
|
||||
CMAKE_MATCH_0: -->01<--
|
||||
CMAKE_MATCH_1: -->0<--
|
||||
CMAKE_MATCH_2: -->1<--
|
||||
CMAKE_MATCH_COUNT: -->2<--
|
||||
Matched nothing properly
|
||||
results from: making a failure inside of find_package
|
||||
CMAKE_MATCH_0: --><--
|
||||
CMAKE_MATCH_1: --><--
|
||||
CMAKE_MATCH_2: --><--
|
||||
CMAKE_MATCH_COUNT: -->0<--
|
||||
Matched nothing properly
|
||||
results from: checking after find_package
|
||||
CMAKE_MATCH_0: --><--
|
||||
CMAKE_MATCH_1: --><--
|
||||
CMAKE_MATCH_2: --><--
|
||||
CMAKE_MATCH_COUNT: -->0<--
|
||||
Matched nothing properly
|
||||
results from: clearing out results with a failing match
|
||||
CMAKE_MATCH_0: --><--
|
||||
CMAKE_MATCH_1: --><--
|
||||
CMAKE_MATCH_2: --><--
|
||||
CMAKE_MATCH_COUNT: -->0<--
|
||||
Matched string properly
|
||||
results from: making a successful match before add_subdirectory
|
||||
CMAKE_MATCH_0: -->01<--
|
||||
CMAKE_MATCH_1: -->0<--
|
||||
CMAKE_MATCH_2: -->1<--
|
||||
CMAKE_MATCH_COUNT: -->2<--
|
||||
Matched string properly
|
||||
results from: check for success in add_subdirectory
|
||||
CMAKE_MATCH_0: -->01<--
|
||||
CMAKE_MATCH_1: -->0<--
|
||||
CMAKE_MATCH_2: -->1<--
|
||||
CMAKE_MATCH_COUNT: -->2<--
|
||||
Matched nothing properly
|
||||
results from: failing inside of add_subdirectory
|
||||
CMAKE_MATCH_0: --><--
|
||||
CMAKE_MATCH_1: --><--
|
||||
CMAKE_MATCH_2: --><--
|
||||
CMAKE_MATCH_COUNT: -->0<--
|
||||
Matched string properly
|
||||
results from: ensuring the subdirectory did not interfere with the parent
|
||||
CMAKE_MATCH_0: -->01<--
|
||||
CMAKE_MATCH_1: -->0<--
|
||||
CMAKE_MATCH_2: -->1<--
|
||||
CMAKE_MATCH_COUNT: -->2<--$
|
|
@ -0,0 +1,54 @@
|
|||
cmake_minimum_required (VERSION 3.0)
|
||||
project (RegexClear C)
|
||||
|
||||
function (output_results msg)
|
||||
message("results from: ${msg}")
|
||||
message("CMAKE_MATCH_0: -->${CMAKE_MATCH_0}<--")
|
||||
message("CMAKE_MATCH_1: -->${CMAKE_MATCH_1}<--")
|
||||
message("CMAKE_MATCH_2: -->${CMAKE_MATCH_2}<--")
|
||||
message("CMAKE_MATCH_COUNT: -->${CMAKE_MATCH_COUNT}<--")
|
||||
endfunction ()
|
||||
|
||||
function (check_for_success msg)
|
||||
if (CMAKE_MATCH_1 STREQUAL "0" AND
|
||||
CMAKE_MATCH_2 STREQUAL "1")
|
||||
message("Matched string properly")
|
||||
else ()
|
||||
message("Failed to match properly")
|
||||
endif ()
|
||||
output_results("${msg}")
|
||||
endfunction ()
|
||||
|
||||
function (check_for_failure msg)
|
||||
if (CMAKE_MATCH_1 STREQUAL "" AND
|
||||
CMAKE_MATCH_2 STREQUAL "")
|
||||
message("Matched nothing properly")
|
||||
else ()
|
||||
message("Found a match where there should be none")
|
||||
endif ()
|
||||
output_results("${msg}")
|
||||
endfunction ()
|
||||
|
||||
macro (do_regex_success msg)
|
||||
string(REGEX MATCH "(0)(1)" output "01")
|
||||
check_for_success("${msg}")
|
||||
endmacro ()
|
||||
|
||||
macro (do_regex_failure msg)
|
||||
string(REGEX MATCH "(0)(1)" output "12")
|
||||
check_for_failure("${msg}")
|
||||
endmacro ()
|
||||
|
||||
do_regex_success("setting up initial state")
|
||||
|
||||
list(INSERT CMAKE_MODULE_PATH 0
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
||||
find_package(dummy) # Ensure cmMakefile::PushScope/PopScope work.
|
||||
|
||||
check_for_failure("checking after find_package")
|
||||
do_regex_failure("clearing out results with a failing match")
|
||||
do_regex_success("making a successful match before add_subdirectory")
|
||||
|
||||
add_subdirectory(subdir)
|
||||
|
||||
check_for_success("ensuring the subdirectory did not interfere with the parent") # Ensure that the subdir didn't mess with this scope.
|
|
@ -10,3 +10,5 @@ run_cmake(UuidBadNamespace)
|
|||
run_cmake(UuidMissingNameValue)
|
||||
run_cmake(UuidMissingTypeValue)
|
||||
run_cmake(UuidBadType)
|
||||
|
||||
run_cmake(RegexClear)
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
check_for_success("making a match inside of find_package")
|
||||
do_regex_failure("making a failure inside of find_package")
|
||||
|
||||
set(dummy_FOUND 1)
|
|
@ -0,0 +1,2 @@
|
|||
check_for_success("check for success in add_subdirectory")
|
||||
do_regex_failure("failing inside of add_subdirectory")
|
Loading…
Reference in New Issue