X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=ceph%2Fsrc%2Fboost%2Flibs%2Fassign%2Ftest%2FJamfile.v2;h=7172745eda410c21cd1288615fa49d956d988220;hb=92f5a8d42d07f9929ae4fa7e01342fe8d96808a8;hp=b8461d0e50ba8f4bb3b2fb50044826404b8d1046;hpb=a0324939f9d0e1905d5df8f57442f09dc70af83d;p=ceph.git diff --git a/ceph/src/boost/libs/assign/test/Jamfile.v2 b/ceph/src/boost/libs/assign/test/Jamfile.v2 index b8461d0e5..7172745ed 100644 --- a/ceph/src/boost/libs/assign/test/Jamfile.v2 +++ b/ceph/src/boost/libs/assign/test/Jamfile.v2 @@ -8,6 +8,9 @@ # For more information, see http://www.boost.org/libs/assign/ # +import path ; +import regex ; + rule assign-test ( name ) { return [ @@ -15,9 +18,47 @@ rule assign-test ( name ) ; } +# this rule enumerates through all the headers and ensures +# that inclusion of the header by itself is sufficient to +# compile successfully, proving the header does not depend +# on any other headers to be included first - adapted from +# logic in the winapi test bjam script +rule test_headers +{ + local all_rules = ; + local file ; + local headers_path = [ path.make $(BOOST_ROOT)/libs/assign/include/boost/assign ] ; + for file in [ path.glob-tree $(headers_path) : *.hpp : assign ] + { + local rel_file = [ path.relative-to $(headers_path) $(file) ] ; + # Note: The test name starts with '~' in order to group these tests in the test report table, preferably at the end. + # All '/' are replaced with '-' because apparently test scripts have a problem with test names containing slashes. + local test_name = [ regex.replace $(rel_file) "/" "-" ] ; + local decl_test_name = ~hdr-decl-$(test_name) ; + # ECHO $(rel_file) ; + all_rules += [ compile compile/decl_header.cpp : "BOOST_ASSIGN_TEST_HEADER=$(rel_file)" $(file) : $(decl_test_name) ] ; + } + + local tests_path = [ path.make $(BOOST_ROOT)/libs/assign/test/compile-fail ] ; + for file in [ path.glob-tree $(tests_path) : *.cpp ] + { + local rel_file = [ path.relative-to $(tests_path) $(file) ] ; + local test_name = [ regex.replace [ regex.replace $(rel_file) "/" "-" ] ".cpp" "" ] ; + local decl_test_name = cf-$(test_name) ; + # ECHO $(rel_file) ; + all_rules += [ compile-fail $(file) : : $(decl_test_name) ] ; + } + + # ECHO All rules: $(all_rules) ; + return $(all_rules) ; +} + + test-suite assign : + [ test_headers ] [ assign-test basic ] [ assign-test std ] + [ assign-test array ] [ assign-test list_of ] [ assign-test ptr_list_of ] [ assign-test static_list_of ]