diff options
author | Adriaan de Groot <groot@kde.org> | 2021-12-21 14:55:34 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2021-12-21 15:55:50 (GMT) |
commit | b573a732dc654f82bd70aeb53666fcf61f26ca16 (patch) | |
tree | 058c45f1fbdc1f49cfd6579dc0abe15d4b4e69a9 /Tests | |
parent | b151db01f9ea4ce8a0fb0b8528f2278a4bfb5fc3 (diff) | |
download | CMake-b573a732dc654f82bd70aeb53666fcf61f26ca16.zip CMake-b573a732dc654f82bd70aeb53666fcf61f26ca16.tar.gz CMake-b573a732dc654f82bd70aeb53666fcf61f26ca16.tar.bz2 |
Tests: add tests to check claims in the documentation
- list commands APPEND, PREPEND, INSERT treat non-existent
lists as empty and use that value, creating a new list
variable in the process.
Diffstat (limited to 'Tests')
-rw-r--r-- | Tests/RunCMake/list/LIST-nonexistent.cmake | 45 | ||||
-rw-r--r-- | Tests/RunCMake/list/RunCMakeTest.cmake | 3 |
2 files changed, 48 insertions, 0 deletions
diff --git a/Tests/RunCMake/list/LIST-nonexistent.cmake b/Tests/RunCMake/list/LIST-nonexistent.cmake new file mode 100644 index 0000000..ee88548 --- /dev/null +++ b/Tests/RunCMake/list/LIST-nonexistent.cmake @@ -0,0 +1,45 @@ +# Various list operations should treat non-existent variables as empty +# - APPEND +# - PREPEND +# - INSERT (only valid index is 0) +set(nex_l0 "") +list(APPEND nex_l0 a) +list(APPEND nex_l0 b) +if(NOT nex_l0 STREQUAL "a;b") + message(FATAL_ERROR "a;b expected, got ${nex_l0}") +endif() + +unset(nex_l1) +list(APPEND nex_l1 c) +list(APPEND nex_l1 d) +if(NOT nex_l1 STREQUAL "c;d") + message(FATAL_ERROR "c;d expected, got ${nex_l1}") +endif() + +set(nex_l2 "") +list(PREPEND nex_l2 E) +list(PREPEND nex_l2 f) +if(NOT nex_l2 STREQUAL "f;E") + message(FATAL_ERROR "f;E expected, got ${nex_l2}") +endif() + +unset(nex_l3) +list(PREPEND nex_l3 hi) +list(PREPEND nex_l3 G) +if(NOT nex_l3 STREQUAL "G;hi") + message(FATAL_ERROR "G;hi expected, got ${nex_l3}") +endif() + +set(nex_l4 "") +list(INSERT nex_l4 0 j) +list(INSERT nex_l4 0 kl) +if(NOT nex_l4 STREQUAL "kl;j") + message(FATAL_ERROR "kl;j expected, got ${nex_l4}") +endif() + +unset(nex_l5) +list(INSERT nex_l5 0 M) +list(INSERT nex_l5 0 noP) +if(NOT nex_l5 STREQUAL "noP;M") + message(FATAL_ERROR "noP;M expected, got ${nex_l5}") +endif() diff --git a/Tests/RunCMake/list/RunCMakeTest.cmake b/Tests/RunCMake/list/RunCMakeTest.cmake index eb43ee0..adfe255 100644 --- a/Tests/RunCMake/list/RunCMakeTest.cmake +++ b/Tests/RunCMake/list/RunCMakeTest.cmake @@ -116,3 +116,6 @@ run_cmake(POP_FRONT-NoArgs) # Successful tests run_cmake(POP_BACK) run_cmake(POP_FRONT) + +# Nonexistent variables treated as empty +run_cmake(LIST-nonexistent) |