• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1
2# Copyright 2005-2012 Daniel James.
3# Distributed under the Boost Software License, Version 1.0. (See accompanying
4# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5
6import testing ;
7
8project hash-tests
9    : requirements
10        <warnings>all
11        <toolset>intel:<warnings>on
12        #<toolset>intel:<cxxflags>-strict-ansi
13        <toolset>gcc:<cxxflags>"-pedantic -Wstrict-aliasing -fstrict-aliasing -Wextra -Wsign-promo -Wunused-parameter -Wconversion -Wfloat-equal -Wshadow"
14        <toolset>darwin:<cxxflags>"-pedantic -Wstrict-aliasing -fstrict-aliasing -Wextra -Wsign-promo -Wunused-parameter -Wconversion -Wfloat-equal -Wshadow"
15        <toolset>clang:<cxxflags>"-pedantic -Wstrict-aliasing -fstrict-aliasing -Wextra -Wsign-promo -Wunused-parameter -Wsign-conversion -Wconversion -Wfloat-equal -Wshadow"
16        #<toolset>msvc:<warnings-as-errors>on
17        #<toolset>gcc:<warnings-as-errors>on
18        #<toolset>darwin:<warnings-as-errors>on
19    ;
20
21test-suite container_hash/hash
22    :
23        [ run hash_info.cpp : : : <test-info>always_show_run_output ]
24        [ compile check_float_funcs.cpp ]
25        [ run hash_fwd_test_1.cpp ]
26        [ run hash_fwd_test_2.cpp ]
27        [ run hash_number_test.cpp ]
28        [ run hash_enum_test.cpp ]
29        [ run hash_pointer_test.cpp ]
30        [ run hash_function_pointer_test.cpp ]
31        [ run hash_float_test.cpp ]
32        [ run hash_long_double_test.cpp ]
33        [ run hash_string_test.cpp ]
34        [ run hash_range_test.cpp ]
35        [ run hash_custom_test.cpp ]
36        [ run hash_global_namespace_test.cpp ]
37        [ run hash_friend_test.cpp ]
38        [ run hash_built_in_array_test.cpp ]
39        [ run hash_value_array_test.cpp ]
40        [ run hash_vector_test.cpp ]
41        [ run hash_list_test.cpp ]
42        [ run hash_deque_test.cpp ]
43        [ run hash_set_test.cpp ]
44        [ run hash_map_test.cpp ]
45        [ run hash_complex_test.cpp ]
46        [ run hash_optional_test.cpp ]
47        [ run hash_variant_test.cpp ]
48        [ run hash_type_index_test.cpp ]
49        [ run hash_system_error_test.cpp ]
50        [ run hash_std_array_test.cpp ]
51        [ run hash_std_tuple_test.cpp ]
52        [ run hash_std_smart_ptr_test.cpp ]
53        [ run link_test.cpp link_test_2.cpp ]
54        [ run link_ext_test.cpp link_no_ext_test.cpp ]
55        [ run extensions_hpp_test.cpp ]
56        [ compile-fail hash_no_ext_fail_test.cpp ]
57        [ compile-fail namespace_fail_test.cpp ]
58        [ run implicit_test.cpp ]
59        [ run hash_no_ext_macro_1.cpp ]
60        [ run hash_no_ext_macro_2.cpp ]
61    ;
62
63test-suite container_hash/hash_no_ext
64    :
65        [ run hash_number_test.cpp : : : <define>BOOST_HASH_NO_EXTENSIONS : no_ext_number_test ]
66        [ run hash_pointer_test.cpp : : : <define>BOOST_HASH_NO_EXTENSIONS : no_ext_pointer_test ]
67        [ run hash_function_pointer_test.cpp : : : <define>BOOST_HASH_NO_EXTENSIONS : no_ext_function_pointer_test ]
68        [ run hash_float_test.cpp : : : <define>BOOST_HASH_NO_EXTENSIONS : no_ext_float_test ]
69        [ run hash_long_double_test.cpp : : : <define>BOOST_HASH_NO_EXTENSIONS : no_ext_long_double_test ]
70        [ run hash_string_test.cpp : : : <define>BOOST_HASH_NO_EXTENSIONS : no_ext_string_test ]
71        [ run link_test.cpp link_test_2.cpp : : : <define>BOOST_HASH_NO_EXTENSIONS : no_ext_link_test ]
72    ;
73
74# Tests to see if the floating point hash is using the binary hash.
75# Not run normally because on some platforms these should fail.
76test-suite container_hash/hash_no_generic_float
77    :
78        [ run hash_float_test.cpp
79            : : : <define>BOOST_HASH_DETAIL_TEST_WITHOUT_GENERIC
80            : hash_float_test_no_generic ]
81        [ run hash_long_double_test.cpp
82            : : : <define>BOOST_HASH_DETAIL_TEST_WITHOUT_GENERIC
83            : hash_long_double_test_no_generic ]
84    ;
85explicit container_hash/hash_no_generic_float ;
86
87build-project ../examples ;
88