diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index ebe96439..3137d16a 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -98,5 +98,6 @@ run quick.cpp ; run unordered/constructor_tests.cpp : : : 03:no 11:no BOOST_UNORDERED_FOA_TESTS : foa_constructor_tests ; run unordered/copy_tests.cpp : : : 03:no 11:no BOOST_UNORDERED_FOA_TESTS : foa_copy_tests ; +run unordered/assign_tests.cpp : : : 03:no 11:no BOOST_UNORDERED_FOA_TESTS : foa_assign_tests ; run unordered/insert_tests.cpp : : : 03:no 11:no BOOST_UNORDERED_FOA_TESTS : foa_insert_tests ; run unordered/find_tests.cpp : : : 03:no 11:no BOOST_UNORDERED_FOA_TESTS : foa_find_tests ; diff --git a/test/unordered/assign_tests.cpp b/test/unordered/assign_tests.cpp index fddb40c3..ef54b01e 100644 --- a/test/unordered/assign_tests.cpp +++ b/test/unordered/assign_tests.cpp @@ -5,8 +5,13 @@ // clang-format off #include "../helpers/prefix.hpp" +#ifdef BOOST_UNORDERED_FOA_TESTS +#include +#include +#else #include #include +#endif #include "../helpers/postfix.hpp" // clang-format on @@ -201,6 +206,54 @@ namespace assign_tests { } } + using test::default_generator; + using test::generate_collisions; + using test::limited_range; + + template bool is_propagate(T*) + { + return T::allocator_type::is_propagate_on_assign; + } + +#ifdef BOOST_UNORDERED_FOA_TESTS + boost::unordered_flat_map >* test_map_std_alloc; + + boost::unordered_flat_set >* test_set; + boost::unordered_flat_map >* test_map; + + boost::unordered_flat_set >* + test_set_prop_assign; + boost::unordered_flat_map >* + test_map_prop_assign; + + boost::unordered_flat_set >* + test_set_no_prop_assign; + boost::unordered_flat_map >* + test_map_no_prop_assign; + + UNORDERED_AUTO_TEST (check_traits) { + BOOST_TEST(!is_propagate(test_set)); + BOOST_TEST(is_propagate(test_set_prop_assign)); + BOOST_TEST(!is_propagate(test_set_no_prop_assign)); + } + + UNORDERED_TEST(assign_tests1, + ((test_map_std_alloc)(test_set)(test_map)(test_set_prop_assign)(test_map_prop_assign)(test_set_no_prop_assign)(test_map_no_prop_assign))( + (default_generator)(generate_collisions)(limited_range))) + + UNORDERED_TEST(assign_tests2, + ((test_set)(test_map)(test_set_prop_assign)(test_map_prop_assign)(test_set_no_prop_assign)(test_map_no_prop_assign))( + (default_generator)(generate_collisions)(limited_range))) +#else boost::unordered_map >* test_map_std_alloc; @@ -241,15 +294,6 @@ namespace assign_tests { test::cxx11_allocator >* test_multimap_no_prop_assign; - using test::default_generator; - using test::generate_collisions; - using test::limited_range; - - template bool is_propagate(T*) - { - return T::allocator_type::is_propagate_on_assign; - } - UNORDERED_AUTO_TEST (check_traits) { BOOST_TEST(!is_propagate(test_set)); BOOST_TEST(is_propagate(test_set_prop_assign)); @@ -271,6 +315,7 @@ namespace assign_tests { test_set_no_prop_assign)(test_multiset_no_prop_assign)( test_map_no_prop_assign)(test_multimap_no_prop_assign))( (default_generator)(generate_collisions)(limited_range))) +#endif #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)