2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-16 01:12:13 +00:00

Add support for "known failures", which match the build name via a

regular expression and are attached to test cases as a "known-failure"
label.


[SVN r53014]
This commit is contained in:
Douglas Gregor
2009-05-15 04:44:20 +00:00
parent 2a3332b870
commit 94b2ce654a

View File

@@ -122,9 +122,9 @@ macro(boost_additional_test_dependencies libname)
endwhile()
endforeach()
foreach (include ${THIS_TEST_DEPENDS_ALL})
include_directories("${Boost_SOURCE_DIR}/libs/${include}/include")
endforeach (include ${includes})
foreach (include ${THIS_TEST_DEPENDS_ALL})
include_directories("${Boost_SOURCE_DIR}/libs/${include}/include")
endforeach (include ${includes})
endmacro(boost_additional_test_dependencies libname)
#-------------------------------------------------------------------------------
@@ -141,6 +141,7 @@ endmacro(boost_additional_test_dependencies libname)
# [LINK_FLAGS linkflags]
# [LINK_LIBS linklibs]
# [DEPENDS libdepend1 libdepend2 ...]
# [KNOWN_FAILURES string1 string2 ...]
# [COMPILE] [RUN] [FAIL])
#
# testname is the name of the test. The remaining arguments passed to
@@ -170,7 +171,7 @@ macro(boost_test_parse_args testname)
set(BOOST_TEST_OKAY TRUE)
set(BOOST_TEST_COMPILE_FLAGS "")
parse_arguments(BOOST_TEST
"BOOST_LIB;LINK_LIBS;LINK_FLAGS;DEPENDS;COMPILE_FLAGS;ARGS;EXTRA_OPTIONS"
"BOOST_LIB;LINK_LIBS;LINK_FLAGS;DEPENDS;COMPILE_FLAGS;ARGS;EXTRA_OPTIONS;KNOWN_FAILURES"
"COMPILE;RUN;LINK;FAIL;RELEASE;DEBUG"
${ARGN}
)
@@ -207,9 +208,21 @@ macro(boost_test_parse_args testname)
if (NOT BUILD_REGRESSION_TESTS)
set(BOOST_TEST_OKAY FALSE)
endif(NOT BUILD_REGRESSION_TESTS)
endmacro(boost_test_parse_args)
# This macro attaches a the "known-failure" label to the given test
# target if the build name matches any of the declared, known
# failures.
macro(boost_test_known_failures TEST)
foreach(PATTERN ${ARGN})
if (${BUILDNAME} MATCHES ${PATTERN})
set_tests_properties("${PROJECT_NAME}-${TEST}"
PROPERTIES LABELS "${PROJECT_NAME};known-failure")
endif()
endforeach()
endmacro(boost_test_known_failures)
# This macro creates a Boost regression test that will be executed. If
# the test can be built, executed, and exits with a return code of
# zero, it will be considered to have passed.
@@ -282,6 +295,7 @@ macro(boost_test_run testname)
PROPERTIES
LABELS "${PROJECT_NAME}"
)
boost_test_known_failures(${testname} ${BOOST_TEST_KNOWN_FAILURES})
# Make sure that the -test target that corresponds to this
# library or tool depends on this test executable.
@@ -357,6 +371,8 @@ macro(boost_test_compile testname)
LABELS "${PROJECT_NAME}"
)
boost_test_known_failures(${testname} ${BOOST_TEST_KNOWN_FAILURES})
if (BOOST_TEST_FAIL)
set_tests_properties(${BOOST_TEST_TESTNAME} PROPERTIES WILL_FAIL ON)
endif ()
@@ -410,6 +426,8 @@ macro(boost_test_link testname)
LABELS "${PROJECT_NAME}"
)
boost_test_known_failures(${testname} ${BOOST_TEST_KNOWN_FAILURES})
if (BOOST_TEST_FAIL)
set_tests_properties(${BOOST_TEST_TESTNAME} PROPERTIES WILL_FAIL ON)
endif ()