]>
Commit | Line | Data |
---|---|---|
92f5a8d4 TL |
1 | # Copyright 2016-2017 Klemens David Morgenstern |
2 | # Copyright 2018 Mateusz Loskot <mateusz@loskot.net> | |
1e59de90 | 3 | # Copyright 2018-2021 Hans Dembinski |
92f5a8d4 TL |
4 | # |
5 | # Use, modification and distribution is subject to the Boost Software License, | |
6 | # Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at | |
7 | # http://www.boost.org/LICENSE_1_0.txt) | |
8 | ||
9 | import python ; | |
10 | import os ; | |
11 | import regex ; | |
12 | import testing ; | |
13 | import ../../config/checks/config : requires ; | |
14 | ||
15 | if ! [ python.configured ] | |
16 | { | |
17 | using python ; | |
18 | } | |
19 | ||
20 | path-constant THIS_PATH : . ; | |
21 | ||
22 | project | |
23 | : requirements | |
24 | [ requires | |
25 | cxx14_constexpr cxx14_decltype_auto cxx14_generic_lambdas cxx14_return_type_deduction cxx11_user_defined_literals | |
26 | # list could go on... | |
27 | ] | |
28 | ; | |
29 | ||
30 | # Check consistency of build systems | |
31 | testing.make-test run-pyd : check_build_system.py : | |
32 | <dependency>Jamfile <dependency>CMakeLists.txt ; | |
33 | ||
34 | # Verify One Definition Rule by linking two object files which include everything | |
35 | testing.make-test run-pyd : check_odr_test.py : <dependency>odr_test.cpp ; | |
36 | alias odr : | |
37 | [ link odr_main_test.cpp odr_test.cpp ] | |
20effc67 | 38 | : <warnings>off |
92f5a8d4 TL |
39 | ; |
40 | ||
41 | alias cxx14 : | |
f67539c2 TL |
42 | [ run accumulators_count_test.cpp ] |
43 | [ run accumulators_mean_test.cpp ] | |
44 | [ run accumulators_sum_test.cpp : : : | |
45 | # make sure sum accumulator works even with -ffast-math and optimizations | |
46 | <toolset>gcc:<cxxflags>"-O3 -ffast-math" | |
47 | <toolset>clang:<cxxflags>"-O3 -ffast-math" ] | |
f67539c2 TL |
48 | [ run accumulators_weighted_mean_test.cpp ] |
49 | [ run accumulators_weighted_sum_test.cpp ] | |
92f5a8d4 TL |
50 | [ run algorithm_project_test.cpp ] |
51 | [ run algorithm_reduce_test.cpp ] | |
52 | [ run algorithm_sum_test.cpp ] | |
53 | [ run algorithm_empty_test.cpp ] | |
20effc67 | 54 | [ run axis_boolean_test.cpp ] |
92f5a8d4 TL |
55 | [ run axis_category_test.cpp ] |
56 | [ run axis_integer_test.cpp ] | |
57 | [ run axis_option_test.cpp ] | |
58 | [ run axis_regular_test.cpp ] | |
92f5a8d4 TL |
59 | [ run axis_traits_test.cpp ] |
60 | [ run axis_variable_test.cpp ] | |
61 | [ run axis_variant_test.cpp ] | |
62 | [ run detail_accumulator_traits_test.cpp ] | |
63 | [ run detail_argument_traits_test.cpp ] | |
64 | [ run detail_args_type_test.cpp ] | |
65 | [ run detail_axes_test.cpp ] | |
66 | [ run detail_convert_integer_test.cpp ] | |
67 | [ run detail_detect_test.cpp ] | |
68 | [ run detail_limits_test.cpp ] | |
69 | [ run detail_make_default_test.cpp ] | |
70 | [ run detail_misc_test.cpp ] | |
71 | [ run detail_iterator_adaptor_test.cpp ] | |
72 | [ run detail_large_int_test.cpp ] | |
73 | [ run detail_operators_test.cpp ] | |
74 | [ run detail_relaxed_equal_test.cpp ] | |
75 | [ run detail_replace_type_test.cpp ] | |
76 | [ run detail_safe_comparison_test.cpp ] | |
77 | [ run detail_static_if_test.cpp ] | |
78 | [ run detail_tuple_slice_test.cpp ] | |
79 | [ run histogram_custom_axis_test.cpp ] | |
80 | [ run histogram_dynamic_test.cpp ] | |
81 | [ run histogram_fill_test.cpp ] | |
82 | [ run histogram_growing_test.cpp ] | |
83 | [ run histogram_mixed_test.cpp ] | |
84 | [ run histogram_operators_test.cpp ] | |
92f5a8d4 TL |
85 | [ run histogram_test.cpp ] |
86 | [ run indexed_test.cpp ] | |
87 | [ run storage_adaptor_test.cpp ] | |
88 | [ run unlimited_storage_test.cpp ] | |
89 | [ run utility_test.cpp ] | |
1e59de90 | 90 | [ run issue_327_test.cpp ] |
92f5a8d4 TL |
91 | ; |
92 | ||
93 | alias cxx17 : | |
20effc67 TL |
94 | [ run deduction_guides_test.cpp ] |
95 | [ compile issue_290_test.cpp ] | |
96 | : [ requires cpp_deduction_guides ] | |
92f5a8d4 TL |
97 | ; |
98 | ||
99 | # check that useful error messages are produced when library is used incorrectly | |
100 | alias failure : | |
101 | [ compile-fail axis_category_fail0.cpp ] | |
102 | [ compile-fail axis_category_fail1.cpp ] | |
103 | [ compile-fail axis_category_fail2.cpp ] | |
104 | [ compile-fail axis_integer_fail0.cpp ] | |
105 | [ compile-fail axis_integer_fail1.cpp ] | |
106 | [ compile-fail axis_integer_fail2.cpp ] | |
107 | [ compile-fail axis_integer_fail3.cpp ] | |
108 | [ compile-fail axis_integer_fail4.cpp ] | |
109 | [ compile-fail axis_regular_fail0.cpp ] | |
110 | [ compile-fail axis_regular_fail1.cpp ] | |
111 | [ compile-fail axis_variable_fail0.cpp ] | |
112 | [ compile-fail axis_variable_fail1.cpp ] | |
113 | [ compile-fail make_histogram_fail0.cpp ] | |
114 | [ compile-fail make_histogram_fail1.cpp ] | |
115 | [ compile-fail histogram_fail0.cpp ] | |
116 | [ compile-fail histogram_fail1.cpp ] | |
117 | [ compile-fail histogram_fail2.cpp ] | |
118 | [ compile-fail histogram_fail3.cpp ] | |
119 | [ compile-fail histogram_fail4.cpp ] | |
120 | ; | |
121 | ||
122 | alias threading : | |
123 | [ run histogram_threaded_test.cpp ] | |
124 | [ run storage_adaptor_threaded_test.cpp ] | |
1e59de90 TL |
125 | [ run accumulators_count_thread_safe_test.cpp ] |
126 | [ run accumulators_thread_safe_test.cpp ] | |
92f5a8d4 TL |
127 | : |
128 | <threading>multi | |
129 | ; | |
130 | ||
1e59de90 TL |
131 | # tests do not work on windows, because environment variables cannot be set |
132 | alias not_windows : | |
133 | [ run histogram_ostream_test.cpp : : : <testing.launcher>"LANG=UTF" ] | |
134 | [ run histogram_ostream_ascii_test.cpp : : : <testing.launcher>"LANG=FOO COLUMNS=20" ] | |
135 | ; | |
136 | ||
92f5a8d4 TL |
137 | # warnings are off for these other boost libraries, which tend to be not warning-free |
138 | alias accumulators : [ run boost_accumulators_support_test.cpp ] : <warnings>off ; | |
139 | alias range : [ run boost_range_support_test.cpp ] : <warnings>off ; | |
140 | alias units : [ run boost_units_support_test.cpp ] : <warnings>off ; | |
141 | alias serialization : | |
142 | [ run accumulators_serialization_test.cpp libserial : $(THIS_PATH) ] | |
143 | [ run detail_array_wrapper_serialization_test.cpp libserial ] | |
144 | [ run axis_variant_serialization_test.cpp libserial : $(THIS_PATH) ] | |
145 | [ run histogram_serialization_test.cpp libserial : $(THIS_PATH) ] | |
146 | [ run storage_adaptor_serialization_test.cpp libserial : $(THIS_PATH) ] | |
147 | [ run unlimited_storage_serialization_test.cpp libserial : $(THIS_PATH) ] | |
20effc67 | 148 | : <warnings>off |
92f5a8d4 TL |
149 | ; |
150 | ||
151 | alias libserial : | |
152 | /boost/serialization//boost_serialization | |
153 | : | |
154 | <link>static <warnings>off <rtti>on | |
155 | ; | |
156 | ||
157 | # for builds without optional boost dependencies | |
f67539c2 | 158 | alias minimal : cxx14 cxx17 failure threading ; |
92f5a8d4 | 159 | |
1e59de90 TL |
160 | # for builds with optional boost dependencies |
161 | alias optional_boost : accumulators range units serialization ; | |
162 | ||
92f5a8d4 | 163 | # all tests |
1e59de90 | 164 | alias all : minimal not_windows odr optional_boost ; |
92f5a8d4 TL |
165 | |
166 | # all except "failure", because it is distracting during development | |
1e59de90 | 167 | alias develop : odr cxx14 cxx17 threading not_windows optional_boost ; |
92f5a8d4 TL |
168 | |
169 | explicit minimal ; | |
170 | explicit all ; | |
171 | explicit odr ; | |
172 | explicit cxx14 ; | |
173 | explicit cxx17 ; | |
174 | explicit failure ; | |
175 | explicit threading ; | |
1e59de90 | 176 | explicit not_windows ; |
92f5a8d4 TL |
177 | explicit accumulators ; |
178 | explicit range ; | |
179 | explicit units ; | |
180 | explicit serialization ; | |
181 | explicit libserial ; | |
1e59de90 | 182 | explicit optional_boost ; |