diff options
author | Ken Martin <ken.martin@kitware.com> | 2008-01-03 11:22:33 -0500 |
---|---|---|
committer | Ken Martin <ken.martin@kitware.com> | 2008-01-03 11:22:33 -0500 |
commit | ac4c2f675a5607839a639d2297002c85351bfbe7 (patch) | |
tree | c859990e5578df97976d80ec535b8f81c250c1a9 /Tests/FunctionTest | |
parent | c61a3b6fe9580687458fc9687174a1acce4edf77 (diff) | |
download | cmake-ac4c2f675a5607839a639d2297002c85351bfbe7.tar.gz |
ENH: change raise_scope signature to be safer for returned varuables
Diffstat (limited to 'Tests/FunctionTest')
-rw-r--r-- | Tests/FunctionTest/CMakeLists.txt | 33 | ||||
-rw-r--r-- | Tests/FunctionTest/SubDirScope/CMakeLists.txt | 3 | ||||
-rw-r--r-- | Tests/FunctionTest/Util.cmake | 4 |
3 files changed, 32 insertions, 8 deletions
diff --git a/Tests/FunctionTest/CMakeLists.txt b/Tests/FunctionTest/CMakeLists.txt index 5ab9bcd92b..1efdef1a86 100644 --- a/Tests/FunctionTest/CMakeLists.txt +++ b/Tests/FunctionTest/CMakeLists.txt @@ -44,16 +44,37 @@ FUNCTION(test_argn_function argument) ENDFUNCTION(test_argn_function) Test_Argn_Function(ignored 3) +# test argument naming and raise scope +function(track_find_variable cache_variable is_changed) + raise_scope("${is_changed}" changed) +endfunction(track_find_variable) +track_find_variable(testvar is_changed) +if ("${is_changed}" STREQUAL changed) + pass("same argument name test") +else ("${is_changed}" STREQUAL changed) + pass("same argument name test") +endif ("${is_changed}" STREQUAL changed) + +include("Util.cmake") +tester() +if (tester_res STREQUAL "${CMAKE_CURRENT_LIST_FILE}") + pass("CMAKE_CURRENT_LIST_FILE test") +else (tester_res STREQUAL "${CMAKE_CURRENT_LIST_FILE}") + pass("CMAKE_CURRENT_LIST_FILE test") +endif (tester_res STREQUAL "${CMAKE_CURRENT_LIST_FILE}") + + + # test recursion and return via raise_scope function (factorial argument result) if (argument LESS 2) - set (${result} 1) + set (lresult 1) else (argument LESS 2) math (EXPR temp "${argument} - 1") factorial (${temp} tresult) - math (EXPR ${result} "${argument}*${tresult}") + math (EXPR lresult "${argument}*${tresult}") endif (argument LESS 2) - raise_scope (${result}) + raise_scope ("${result}" "${lresult}") endfunction (factorial) factorial (5 fresult) @@ -67,8 +88,7 @@ endif (fresult EQUAL 120) # case test FUNCTION(strange_function m) - SET(${m} strange_function) - RAISE_SCOPE(${m}) + RAISE_SCOPE("${m}" strange_function) ENDFUNCTION(strange_function m) STRANGE_FUNCTION(var) set(second_var "second_var") @@ -85,8 +105,7 @@ ENDFUNCTION(ADD_EXECUTABLE) # var undef case FUNCTION(undef_var m) - SET(${m}) - RAISE_SCOPE(${m}) + RAISE_SCOPE("${m}") ENDFUNCTION(undef_var) SET(FUNCTION_UNDEFINED 1) undef_var(FUNCTION_UNDEFINED) diff --git a/Tests/FunctionTest/SubDirScope/CMakeLists.txt b/Tests/FunctionTest/SubDirScope/CMakeLists.txt index 174b9b006f..9241941e91 100644 --- a/Tests/FunctionTest/SubDirScope/CMakeLists.txt +++ b/Tests/FunctionTest/SubDirScope/CMakeLists.txt @@ -1,3 +1,4 @@ SET(SUBDIR_DEFINED 1) SET(SUBDIR_UNDEFINED) -RAISE_SCOPE(SUBDIR_DEFINED SUBDIR_UNDEFINED) +RAISE_SCOPE(SUBDIR_DEFINED ${SUBDIR_DEFINED}) +RAISE_SCOPE(SUBDIR_UNDEFINED ${SUBDIR_UNDEFINED}) diff --git a/Tests/FunctionTest/Util.cmake b/Tests/FunctionTest/Util.cmake new file mode 100644 index 0000000000..2b40cdf403 --- /dev/null +++ b/Tests/FunctionTest/Util.cmake @@ -0,0 +1,4 @@ +function(tester) + set (tester_res "${CMAKE_CURRENT_LIST_FILE}") + raise_scope(tester_res) +endfunction(tester) |