2006-05-17 17:19:16 +00:00
|
|
|
|
2008-03-27 23:38:01 +00:00
|
|
|
# Copyright 2006-2008 Daniel James.
|
2023-02-14 09:08:38 -08:00
|
|
|
# Copyright 2022-2023 Christian Mazakas
|
2006-07-01 22:31:26 +00:00
|
|
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
|
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
2006-05-17 17:19:16 +00:00
|
|
|
|
2016-07-02 22:11:43 +01:00
|
|
|
import testing ;
|
|
|
|
|
2022-02-10 03:58:40 +02:00
|
|
|
# Adding -Wundef is blocked on (at least)
|
|
|
|
# https://github.com/boostorg/type_traits/issues/165
|
|
|
|
|
|
|
|
local gcc-flags = -Wsign-promo -Wconversion -Wsign-conversion -Wfloat-equal -Wshadow -Wno-variadic-macros ;
|
|
|
|
local clang-flags = $(gcc-flags) -Wno-c99-extensions ;
|
|
|
|
local msvc-flags = /wd4494 ;
|
|
|
|
|
|
|
|
project
|
2016-07-02 22:11:43 +01:00
|
|
|
: requirements
|
2022-02-10 03:58:40 +02:00
|
|
|
|
2021-12-21 00:46:45 +02:00
|
|
|
<warnings>pedantic
|
2016-07-02 22:11:43 +01:00
|
|
|
<toolset>intel:<warnings>on
|
2022-02-10 03:58:40 +02:00
|
|
|
|
|
|
|
<toolset>gcc:<cxxflags>$(gcc-flags)
|
|
|
|
<toolset>darwin:<cxxflags>$(gcc-flags)
|
|
|
|
<toolset>clang:<cxxflags>$(clang-flags)
|
|
|
|
<toolset>msvc:<cxxflags>$(msvc-flags)
|
|
|
|
|
2022-06-27 19:56:22 +03:00
|
|
|
<toolset>gcc-4.4:<cxxflags>-Wno-strict-aliasing
|
2022-06-27 20:24:25 +03:00
|
|
|
<toolset>gcc-4.4:<cxxflags>-fno-deduce-init-list
|
2023-02-14 09:08:38 -08:00
|
|
|
<toolset>clang-14:<cxxflags>-Wunused-template
|
2022-06-27 19:56:22 +03:00
|
|
|
|
2022-02-10 22:31:48 +02:00
|
|
|
<toolset>gcc:<warnings-as-errors>on
|
|
|
|
<toolset>clang:<warnings-as-errors>on
|
|
|
|
<toolset>msvc:<warnings-as-errors>on
|
2016-07-02 22:11:43 +01:00
|
|
|
;
|
|
|
|
|
2022-10-13 11:58:20 -07:00
|
|
|
run unordered/prime_fmod_tests.cpp ;
|
|
|
|
run unordered/fwd_set_test.cpp ;
|
|
|
|
run unordered/fwd_map_test.cpp ;
|
|
|
|
run unordered/allocator_traits.cpp ;
|
|
|
|
run unordered/minimal_allocator.cpp ;
|
|
|
|
run unordered/compile_set.cpp ;
|
|
|
|
run unordered/compile_map.cpp ;
|
|
|
|
run unordered/noexcept_tests.cpp ;
|
|
|
|
run unordered/link_test_1.cpp unordered/link_test_2.cpp ;
|
|
|
|
run unordered/incomplete_test.cpp ;
|
|
|
|
run unordered/simple_tests.cpp ;
|
|
|
|
run unordered/equivalent_keys_tests.cpp ;
|
|
|
|
run unordered/constructor_tests.cpp ;
|
|
|
|
run unordered/copy_tests.cpp ;
|
|
|
|
run unordered/move_tests.cpp ;
|
|
|
|
run unordered/post_move_tests.cpp ;
|
|
|
|
run unordered/assign_tests.cpp ;
|
|
|
|
run unordered/insert_tests.cpp ;
|
|
|
|
run unordered/insert_stable_tests.cpp ;
|
|
|
|
run unordered/insert_hint_tests.cpp ;
|
|
|
|
run unordered/emplace_tests.cpp ;
|
|
|
|
run unordered/unnecessary_copy_tests.cpp ;
|
|
|
|
run unordered/erase_tests.cpp : : : <define>BOOST_UNORDERED_SUPPRESS_DEPRECATED ;
|
|
|
|
run unordered/erase_equiv_tests.cpp ;
|
|
|
|
run unordered/extract_tests.cpp ;
|
|
|
|
run unordered/node_handle_tests.cpp ;
|
|
|
|
run unordered/merge_tests.cpp ;
|
|
|
|
compile-fail unordered/insert_node_type_fail.cpp : <define>UNORDERED_TEST_MAP : insert_node_type_fail_map ;
|
|
|
|
compile-fail unordered/insert_node_type_fail.cpp : <define>UNORDERED_TEST_MULTIMAP : insert_node_type_fail_multimap ;
|
|
|
|
compile-fail unordered/insert_node_type_fail.cpp : <define>UNORDERED_TEST_SET : insert_node_type_fail_set ;
|
|
|
|
compile-fail unordered/insert_node_type_fail.cpp : <define>UNORDERED_TEST_MULTISET : insert_node_type_fail_multiset ;
|
|
|
|
run unordered/find_tests.cpp ;
|
|
|
|
run unordered/at_tests.cpp ;
|
|
|
|
run unordered/bucket_tests.cpp ;
|
|
|
|
run unordered/load_factor_tests.cpp ;
|
|
|
|
run unordered/rehash_tests.cpp ;
|
|
|
|
run unordered/equality_tests.cpp ;
|
|
|
|
run unordered/swap_tests.cpp ;
|
|
|
|
run unordered/deduction_tests.cpp ;
|
|
|
|
run unordered/scoped_allocator.cpp : : : <toolset>msvc-14.0:<build>no ;
|
|
|
|
run unordered/transparent_tests.cpp ;
|
|
|
|
run unordered/reserve_tests.cpp ;
|
|
|
|
run unordered/contains_tests.cpp ;
|
|
|
|
run unordered/erase_if.cpp ;
|
|
|
|
run unordered/scary_tests.cpp ;
|
|
|
|
|
|
|
|
run unordered/compile_set.cpp : : : <define>BOOST_UNORDERED_USE_MOVE : bmove_compile_set ;
|
|
|
|
run unordered/compile_map.cpp : : : <define>BOOST_UNORDERED_USE_MOVE : bmove_compile_map ;
|
|
|
|
run unordered/copy_tests.cpp : : : <define>BOOST_UNORDERED_USE_MOVE : bmove_copy ;
|
|
|
|
run unordered/move_tests.cpp : : : <define>BOOST_UNORDERED_USE_MOVE : bmove_move ;
|
|
|
|
run unordered/assign_tests.cpp : : : <define>BOOST_UNORDERED_USE_MOVE : bmove_assign ;
|
|
|
|
|
|
|
|
|
|
|
|
run exception/constructor_exception_tests.cpp ;
|
|
|
|
run exception/copy_exception_tests.cpp ;
|
|
|
|
run exception/assign_exception_tests.cpp ;
|
|
|
|
run exception/move_assign_exception_tests.cpp ;
|
|
|
|
run exception/insert_exception_tests.cpp ;
|
|
|
|
run exception/erase_exception_tests.cpp ;
|
|
|
|
run exception/rehash_exception_tests.cpp ;
|
|
|
|
run exception/swap_exception_tests.cpp : : : <define>BOOST_UNORDERED_SWAP_METHOD=2 ;
|
|
|
|
run exception/merge_exception_tests.cpp ;
|
2023-02-14 09:06:39 -08:00
|
|
|
run exception/less_tests.cpp ;
|
2022-10-13 11:58:20 -07:00
|
|
|
|
2022-12-08 12:25:27 -08:00
|
|
|
run unordered/narrow_cast_tests.cpp ;
|
2022-10-13 11:58:20 -07:00
|
|
|
run quick.cpp ;
|
2022-10-03 12:17:46 -07:00
|
|
|
|
2022-10-24 08:21:54 -07:00
|
|
|
import ../../config/checks/config : requires ;
|
|
|
|
|
2022-10-24 11:17:24 -07:00
|
|
|
CPP11 = [ requires cxx11_constexpr cxx11_noexcept cxx11_decltype cxx11_alignas ] ;
|
2022-10-24 08:21:54 -07:00
|
|
|
|
2023-04-07 12:40:06 -07:00
|
|
|
local FOA_TESTS =
|
|
|
|
fwd_set_test
|
|
|
|
fwd_map_test
|
|
|
|
compile_set
|
|
|
|
compile_map
|
|
|
|
noexcept_tests
|
|
|
|
incomplete_test
|
|
|
|
simple_tests
|
|
|
|
equivalent_keys_tests
|
|
|
|
constructor_tests
|
|
|
|
copy_tests
|
|
|
|
move_tests
|
|
|
|
post_move_tests
|
|
|
|
assign_tests
|
|
|
|
insert_tests
|
|
|
|
insert_hint_tests
|
|
|
|
emplace_tests
|
|
|
|
erase_tests
|
|
|
|
merge_tests
|
|
|
|
find_tests
|
|
|
|
at_tests
|
|
|
|
load_factor_tests
|
|
|
|
rehash_tests
|
|
|
|
equality_tests
|
|
|
|
swap_tests
|
|
|
|
transparent_tests
|
|
|
|
reserve_tests
|
|
|
|
contains_tests
|
|
|
|
erase_if
|
|
|
|
scary_tests
|
|
|
|
init_type_insert_tests
|
|
|
|
max_load_tests
|
|
|
|
extract_tests
|
|
|
|
node_handle_tests
|
|
|
|
uses_allocator
|
|
|
|
;
|
|
|
|
|
|
|
|
for local test in $(FOA_TESTS)
|
2022-10-05 13:24:54 -07:00
|
|
|
{
|
2023-04-07 12:40:06 -07:00
|
|
|
run unordered/$(test).cpp : : : $(CPP11) <define>BOOST_UNORDERED_FOA_TESTS : foa_$(test) ;
|
2022-10-05 13:24:54 -07:00
|
|
|
}
|
|
|
|
|
2022-10-24 08:21:54 -07:00
|
|
|
run unordered/link_test_1.cpp unordered/link_test_2.cpp : : : $(CPP11) <define>BOOST_UNORDERED_FOA_TESTS : foa_link_test ;
|
|
|
|
run unordered/scoped_allocator.cpp : : : $(CPP11) <toolset>msvc-14.0:<build>no <define>BOOST_UNORDERED_FOA_TESTS : foa_scoped_allocator ;
|
2022-10-30 13:40:20 +02:00
|
|
|
run unordered/hash_is_avalanching_test.cpp ;
|
2022-10-24 08:21:54 -07:00
|
|
|
run exception/constructor_exception_tests.cpp : : : $(CPP11) <define>BOOST_UNORDERED_FOA_TESTS : foa_constructor_exception_tests ;
|
|
|
|
run exception/copy_exception_tests.cpp : : : $(CPP11) <define>BOOST_UNORDERED_FOA_TESTS : foa_copy_exception_tests ;
|
|
|
|
run exception/assign_exception_tests.cpp : : : $(CPP11) <define>BOOST_UNORDERED_FOA_TESTS : foa_assign_exception_tests ;
|
|
|
|
run exception/move_assign_exception_tests.cpp : : : $(CPP11) <define>BOOST_UNORDERED_FOA_TESTS : foa_move_assign_exception_tests ;
|
|
|
|
run exception/insert_exception_tests.cpp : : : $(CPP11) <define>BOOST_UNORDERED_FOA_TESTS : foa_insert_exception_tests ;
|
|
|
|
run exception/erase_exception_tests.cpp : : : $(CPP11) <define>BOOST_UNORDERED_FOA_TESTS : foa_erase_exception_tests ;
|
|
|
|
run exception/rehash_exception_tests.cpp : : : $(CPP11) <define>BOOST_UNORDERED_FOA_TESTS : foa_rehash_exception_tests ;
|
|
|
|
run exception/swap_exception_tests.cpp : : : $(CPP11) <define>BOOST_UNORDERED_FOA_TESTS : foa_swap_exception_tests ;
|
|
|
|
run exception/merge_exception_tests.cpp : : : $(CPP11) <define>BOOST_UNORDERED_FOA_TESTS : foa_merge_exception_tests ;
|
2023-03-17 14:22:24 -07:00
|
|
|
|
2023-03-28 14:30:29 -07:00
|
|
|
alias foa_tests :
|
2023-04-07 12:40:06 -07:00
|
|
|
foa_$(FOA_TESTS)
|
2023-03-28 14:30:29 -07:00
|
|
|
foa_link_test
|
|
|
|
foa_scoped_allocator
|
2023-04-07 12:40:06 -07:00
|
|
|
hash_is_avalanching_test
|
2023-03-28 14:30:29 -07:00
|
|
|
foa_constructor_exception_tests
|
|
|
|
foa_copy_exception_tests
|
|
|
|
foa_assign_exception_tests
|
|
|
|
foa_move_assign_exception_tests
|
|
|
|
foa_insert_exception_tests
|
|
|
|
foa_erase_exception_tests
|
|
|
|
foa_rehash_exception_tests
|
|
|
|
foa_swap_exception_tests
|
|
|
|
foa_merge_exception_tests
|
|
|
|
;
|
|
|
|
|
2023-04-12 12:22:59 -07:00
|
|
|
local CFOA_TESTS =
|
2023-04-24 13:29:35 -07:00
|
|
|
latch_tests
|
2023-04-12 12:22:59 -07:00
|
|
|
insert_tests
|
|
|
|
erase_tests
|
|
|
|
try_emplace_tests
|
|
|
|
emplace_tests
|
|
|
|
visit_tests
|
|
|
|
constructor_tests
|
2023-04-21 15:56:22 -07:00
|
|
|
assign_tests
|
2023-05-01 11:58:45 -07:00
|
|
|
clear_tests
|
2023-05-02 13:44:27 -07:00
|
|
|
swap_tests
|
2023-05-05 10:20:37 -07:00
|
|
|
merge_tests
|
2023-05-10 13:22:02 -07:00
|
|
|
rehash_tests
|
2023-04-12 12:22:59 -07:00
|
|
|
;
|
2023-04-07 12:40:06 -07:00
|
|
|
|
|
|
|
for local test in $(CFOA_TESTS)
|
2023-03-17 14:22:24 -07:00
|
|
|
{
|
2023-04-07 12:40:06 -07:00
|
|
|
run cfoa/$(test).cpp
|
|
|
|
: requirements $(CPP11)
|
|
|
|
: target-name cfoa_$(test)
|
|
|
|
;
|
2023-03-17 14:22:24 -07:00
|
|
|
}
|
|
|
|
|
2023-04-07 12:40:06 -07:00
|
|
|
alias cfoa_tests : cfoa_$(CFOA_TESTS) ;
|