cmake_parse_arguments: Additional regression tests
Add regression tests for the arguments handling in cmake_parse_arguments. The tests were run also against cmake 3.4.1 maint branch to verify that there are no regressions. Signed-off-by: Dimitar Yordanov <dimitar.yordanov@sap.com> Signed-off-by: Matthias Maennich <matthias.maennich@sap.com>
This commit is contained in:
parent
2039bf40e4
commit
430251245e
|
@ -29,6 +29,26 @@ macro(foo)
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
foo(FOO foo)
|
foo(FOO foo)
|
||||||
|
|
||||||
TEST(_FOO1_FOO foo)
|
TEST(_FOO1_FOO foo)
|
||||||
TEST(_FOO2_FOO foo)
|
TEST(_FOO2_FOO foo)
|
||||||
|
|
||||||
|
# Make sure a list is split
|
||||||
|
foo(FOO "foo;bar")
|
||||||
|
TEST(_FOO1_FOO foo)
|
||||||
|
TEST(_FOO1_UNPARSED_ARGUMENTS "bar")
|
||||||
|
TEST(_FOO2_FOO foo)
|
||||||
|
TEST(_FOO2_UNPARSED_ARGUMENTS "bar")
|
||||||
|
|
||||||
|
# Do not split if argn is quoted
|
||||||
|
foo(FOO "foo\\;bar")
|
||||||
|
TEST(_FOO1_FOO foo)
|
||||||
|
TEST(_FOO1_UNPARSED_ARGUMENTS "bar")
|
||||||
|
TEST(_FOO2_FOO foo;bar)
|
||||||
|
TEST(_FOO2_UNPARSED_ARGUMENTS "UNDEFINED")
|
||||||
|
|
||||||
|
# Do not split if argn is quoted
|
||||||
|
foo(FOO "foo\\\\;bar")
|
||||||
|
TEST(_FOO1_FOO foo)
|
||||||
|
TEST(_FOO1_UNPARSED_ARGUMENTS "bar")
|
||||||
|
TEST(_FOO2_FOO foo;bar)
|
||||||
|
TEST(_FOO2_UNPARSED_ARGUMENTS "UNDEFINED")
|
||||||
|
|
|
@ -25,6 +25,9 @@ TEST(pref_OPT1 TRUE)
|
||||||
cmake_parse_arguments(pref "OPT1;OPT2" "" "" OPT1 OPT2)
|
cmake_parse_arguments(pref "OPT1;OPT2" "" "" OPT1 OPT2)
|
||||||
TEST(pref_OPT1 TRUE)
|
TEST(pref_OPT1 TRUE)
|
||||||
TEST(pref_OPT2 TRUE)
|
TEST(pref_OPT2 TRUE)
|
||||||
|
cmake_parse_arguments(pref "OPT1;OPT2" "" "" "OPT1;OPT2")
|
||||||
|
TEST(pref_OPT1 TRUE)
|
||||||
|
TEST(pref_OPT2 TRUE)
|
||||||
cmake_parse_arguments(pref "OPT1;OPT2" "" "")
|
cmake_parse_arguments(pref "OPT1;OPT2" "" "")
|
||||||
TEST(pref_OPT1 FALSE)
|
TEST(pref_OPT1 FALSE)
|
||||||
TEST(pref_OPT2 FALSE)
|
TEST(pref_OPT2 FALSE)
|
||||||
|
@ -44,6 +47,9 @@ TEST(pref_SINGLE1 foo)
|
||||||
cmake_parse_arguments(pref "" "SINGLE1;SINGLE2" "" SINGLE1 foo SINGLE2 bar)
|
cmake_parse_arguments(pref "" "SINGLE1;SINGLE2" "" SINGLE1 foo SINGLE2 bar)
|
||||||
TEST(pref_SINGLE1 foo)
|
TEST(pref_SINGLE1 foo)
|
||||||
TEST(pref_SINGLE2 bar)
|
TEST(pref_SINGLE2 bar)
|
||||||
|
cmake_parse_arguments(pref "" "SINGLE1;SINGLE2" "" "SINGLE1;foo;SINGLE2;bar")
|
||||||
|
TEST(pref_SINGLE1 foo)
|
||||||
|
TEST(pref_SINGLE2 bar)
|
||||||
cmake_parse_arguments(pref "" "SINGLE1;SINGLE2" "")
|
cmake_parse_arguments(pref "" "SINGLE1;SINGLE2" "")
|
||||||
TEST(pref_SINGLE1 UNDEFINED)
|
TEST(pref_SINGLE1 UNDEFINED)
|
||||||
TEST(pref_SINGLE2 UNDEFINED)
|
TEST(pref_SINGLE2 UNDEFINED)
|
||||||
|
@ -63,6 +69,9 @@ TEST(pref_MULTI1 foo)
|
||||||
cmake_parse_arguments(pref "" "" "MULTI1;MULTI2" MULTI1 foo bar MULTI2 bar foo)
|
cmake_parse_arguments(pref "" "" "MULTI1;MULTI2" MULTI1 foo bar MULTI2 bar foo)
|
||||||
TEST(pref_MULTI1 foo bar)
|
TEST(pref_MULTI1 foo bar)
|
||||||
TEST(pref_MULTI2 bar foo)
|
TEST(pref_MULTI2 bar foo)
|
||||||
|
cmake_parse_arguments(pref "" "" "MULTI1;MULTI2" "MULTI1;foo;bar;MULTI2;bar;foo")
|
||||||
|
TEST(pref_MULTI1 foo bar)
|
||||||
|
TEST(pref_MULTI2 bar foo)
|
||||||
cmake_parse_arguments(pref "" "" "MULTI1;MULTI2")
|
cmake_parse_arguments(pref "" "" "MULTI1;MULTI2")
|
||||||
TEST(pref_MULTI1 UNDEFINED)
|
TEST(pref_MULTI1 UNDEFINED)
|
||||||
TEST(pref_MULTI2 UNDEFINED)
|
TEST(pref_MULTI2 UNDEFINED)
|
||||||
|
|
Loading…
Reference in New Issue