ENH: Add test of macro

This commit is contained in:
Andy Cedilnik 2005-06-16 14:56:28 -04:00
parent 9a7dec33a3
commit c34696021d
3 changed files with 65 additions and 0 deletions

View File

@ -400,6 +400,16 @@ IF(BUILD_TESTING)
--build-two-config
--test-command conly)
ADD_TEST(MacroTest ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/MacroTest"
"${CMake_BINARY_DIR}/Tests/MacroTest"
--build-generator ${CMAKE_GENERATOR}
--build-project littleMacroTest
--build-makeprogram ${MAKEPROGRAM}
--build-two-config
--test-command miniMacroTest)
SET(SimpleInstallInstallDir
"${CMake_BINARY_DIR}/Tests/SimpleInstall/InstallDirectory")
ADD_TEST(SimpleInstall ${CMAKE_CTEST_COMMAND}

View File

@ -0,0 +1,48 @@
# a simple C only test case
PROJECT (littleMacroTest C)
MACRO(FAILED testname)
MESSAGE(SEND_ERROR "${testname} failed ${ARGN}")
ENDMACRO(FAILED)
MACRO(PASS testname)
MESSAGE("${testname} passed ${ARGN}")
ENDMACRO(PASS)
# test ARGC
MACRO(weird_name)
IF("${ARGC}" EQUAL "3")
PASS("ARGC")
ELSE("${ARGC}" EQUAL "3")
FAILED("ARGC" "Got: ${ARGC}")
ENDIF("${ARGC}" EQUAL "3")
ENDMACRO(weird_name)
WeIrD_nAmE(a1 a2 a3)
# test ARGN
MACRO(test_argn_macro argument)
IF("${ARGN}" EQUAL "3")
PASS("ARGN")
ELSE("${ARGN}" EQUAL "3")
FAILED("ARGN" "Got: ${ARGN}")
ENDIF("${ARGN}" EQUAL "3")
ENDMACRO(test_argn_macro)
Test_Argn_Macro(ignored 3)
# case test
MACRO(strange_macro m)
SET("${m}" strange_macro)
ENDMACRO(strange_macro m)
STRANGE_MACRO(var)
set(second_var "second_var")
IF("${var}" EQUAL "strange_macro" AND "${second_var}" EQUAL "second_var")
PASS("Case Test" "(${var} ${second_var})")
ELSE("${var}" EQUAL "strange_macro" AND "${second_var}" EQUAL "second_var")
FAILED("Case test" "(${var} ${second_var})")
ENDIF("${var}" EQUAL "strange_macro" AND "${second_var}" EQUAL "second_var")
# test backing up command
MACRO(ADD_EXECUTABLE exec)
_ADD_EXECUTABLE("mini${exec}" ${ARGN})
ENDMACRO(ADD_EXECUTABLE)
ADD_EXECUTABLE(MacroTest macroTest.c)

View File

@ -0,0 +1,7 @@
#include <stdio.h>
int main(int argc, char* argv[])
{
printf("Running command: %s with %d arguments\n", argv[0], argc);
return 0;
}