1
INCLUDE(ParseVariableArguments)
6
# Perform a single equality check and update overall test statistics
9
FUNCTION(UNITTEST_COMPARE_CONST VAR_NAME CONST_VAL)
11
MATH( EXPR NUMRUN ${UNITTEST_OVERALL_NUMRUN}+1 )
12
GLOBAL_SET(UNITTEST_OVERALL_NUMRUN ${NUMRUN})
22
IF ("${${VAR_NAME}}" STREQUAL "${CONST_VAL}")
23
MESSAGE(" [PASSED]\n")
24
MATH( EXPR NUMPASSED ${UNITTEST_OVERALL_NUMPASSED}+1 )
25
GLOBAL_SET(UNITTEST_OVERALL_NUMPASSED ${NUMPASSED})
27
MESSAGE(" [FAILED]\n")
28
GLOBAL_SET(UNITTEST_OVERALL_PASS FALSE)
35
# Perform a series regex of given strings and update overall test statistics
38
FUNCTION(UNITTEST_STRING_REGEX INPUT_STRING)
50
FOREACH(REGEX ${PARSE_REGEX_STRINGS})
52
MATH( EXPR NUMRUN ${UNITTEST_OVERALL_NUMRUN}+1 )
53
GLOBAL_SET(UNITTEST_OVERALL_NUMRUN ${NUMRUN})
55
STRING(REGEX MATCH "${REGEX}" REGEX_MATCH_RESULT "${INPUT_STRING}")
57
IF (REGEX_MATCH_RESULT)
58
MESSAGE(" Searching for REGEX {${REGEX}}: [PASSED]\n")
59
MATH( EXPR NUMPASSED ${UNITTEST_OVERALL_NUMPASSED}+1 )
60
GLOBAL_SET(UNITTEST_OVERALL_NUMPASSED ${NUMPASSED})
62
MESSAGE(" Searching for REGEX {${REGEX}}: [FAILED]\n")
63
GLOBAL_SET(UNITTEST_OVERALL_PASS FALSE)
72
# Perform a series regex of given strings and update overall test statistics
75
FUNCTION(UNITTEST_FILE_REGEX INPUT_FILE)
76
MESSAGE("\nRegexing for strings in the file '${INPUT_FILE}':\n")
77
FILE(READ "${INPUT_FILE}" INPUT_FILE_STRING)
78
UNITTEST_STRING_REGEX("${INPUT_FILE_STRING}" ${ARGN})
83
# Print final statstics from all tests and assert final pass/fail
86
FUNCTION(UNITTEST_FINAL_RESULT EXPECTED_NUMPASSED)
87
MESSAGE("\nFinal UnitTests Result: num_run = ${UNITTEST_OVERALL_NUMRUN}\n")
88
IF (UNITTEST_OVERALL_PASS)
89
IF (UNITTEST_OVERALL_NUMPASSED EQUAL ${EXPECTED_NUMPASSED})
90
MESSAGE("Final UnitTests Result: PASSED (num_passed = ${UNITTEST_OVERALL_NUMPASSED})")
92
MESSAGE("\nError: num_passed = ${UNITTEST_OVERALL_NUMPASSED} != num_expected = ${EXPECTED_NUMPASSED}")
93
MESSAGE("\nFinal UnitTests Result: FAILED\n")
94
MESSAGE(SEND_ERROR "FAIL")
97
MESSAGE("\nFinal UnitTests Result: FAILED\n")