ENH: Add math test

This commit is contained in:
Andy Cedilnik 2005-10-17 16:39:58 -04:00
parent a7d4b61699
commit 427ed70363
3 changed files with 52 additions and 0 deletions

View File

@ -0,0 +1,25 @@
PROJECT(MathTest)
# Expression test
SET(expressions
"5 * ( 3 + 4)"
"(1 | 2 | 4 | 8) & 16"
)
SET(FILE_EXPRESSIONS "")
FOREACH(expression
${expressions})
MATH(EXPR expr "${expression}")
SET(FILE_EXPRESSIONS "${FILE_EXPRESSIONS}TEST_EXPRESSION(${expression}, ${expr})\n")
ENDFOREACH(expression)
CONFIGURE_FILE(
"${CMAKE_CURRENT_SOURCE_DIR}/MathTestTests.h.in"
"${CMAKE_CURRENT_BINARY_DIR}/MathTestTests.h"
@ONLY)
INCLUDE_DIRECTORIES("${CMAKE_CURRENT_BINARY_DIR}")
ADD_EXECUTABLE(MathTestExec MathTestExec.cxx)

View File

@ -0,0 +1,26 @@
#include <stdio.h>
#define TEST_EXPRESSION(x, y) \
if ( (x) != (y) ) \
{ \
printf("Problem with EXPR: Expression: \"%s\" in C returns %d while in CMake returns: %d\n", \
#x, (x), (y)); \
res ++; \
}
int main(int argc, char* argv[])
{
if ( argc > 1 )
{
printf("Usage: %s\n", argv[0]);
return 1;
}
int res = 0;
#include "MathTestTests.h"
if ( res != 0 )
{
printf("%s: %d math tests failed\n", argv[0], res);
return 1;
}
return 0;
}

View File

@ -0,0 +1 @@
@FILE_EXPRESSIONS@