]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | # (C) Copyright William E. Kempf 2001. |
2 | # (C) Copyright 2007 Anthony Williams. | |
3 | # (C) Copyright 2011-2012 Vicente J.Botet Escriba. | |
4 | # Distributed under the Boost Software License, Version 1.0. (See accompanying | |
5 | # file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | |
6 | # | |
7 | # Boost.Threads test Jamfile | |
8 | # | |
9 | # Additional configuration variables used: | |
10 | # 1. PTW32 may be used on Win32 platforms to specify that the pthreads-win32 | |
11 | # library should be used instead of "native" threads. This feature is | |
12 | # mostly used for testing and it's generally recommended you use the | |
13 | # native threading libraries instead. PTW32 should be set to be a list | |
14 | # of two strings, the first specifying the installation path of the | |
15 | # pthreads-win32 library and the second specifying which library | |
16 | # variant to link against (see the pthreads-win32 documentation). | |
17 | # Example: jam -sPTW32="c:\pthreads-win32 pthreadVCE.lib" | |
18 | ||
19 | # bring in rules for testing | |
20 | import testing ; | |
92f5a8d4 TL |
21 | import regex ; |
22 | import path ; | |
23 | import os ; | |
7c673cae FG |
24 | |
25 | project | |
26 | : requirements | |
27 | <threading>multi | |
28 | ||
29 | <define>BOOST_THREAD_THROW_IF_PRECONDITION_NOT_SATISFIED | |
30 | ||
31 | <warnings>all | |
32 | <toolset>gcc:<cxxflags>-Wextra | |
33 | <toolset>gcc:<cxxflags>-pedantic | |
34 | <toolset>gcc:<cxxflags>-Wno-long-long | |
35 | #<toolset>gcc:<cxxflags>-ansi | |
36 | #<toolset>gcc:<cxxflags>-fpermissive | |
1e59de90 | 37 | <toolset>gcc:<cxxflags>-Wno-variadic-macros |
7c673cae FG |
38 | #<toolset>gcc:<cxxflags>-Wunused-local-typedefs |
39 | <toolset>gcc:<cxxflags>-Wunused-function | |
40 | <toolset>gcc:<cxxflags>-Wno-unused-parameter | |
41 | ||
42 | <toolset>darwin:<cxxflags>-Wextra | |
43 | <toolset>darwin:<cxxflags>-pedantic | |
44 | <toolset>darwin:<cxxflags>-Wno-long-long | |
45 | #<toolset>darwin:<cxxflags>-ansi # doesn't work for 4.1.2 | |
46 | <toolset>darwin:<cxxflags>-fpermissive | |
47 | <toolset>darwin:<cxxflags>-Wno-variadic-macros | |
48 | #<toolset>darwin:<cxxflags>-Wunused-local-typedefs | |
49 | <toolset>darwin:<cxxflags>-Wunused-function | |
50 | <toolset>darwin:<cxxflags>-Wno-unused-parameter | |
51 | ||
52 | #<toolset>pathscale:<cxxflags>-Wextra | |
53 | <toolset>pathscale:<cxxflags>-Wno-long-long | |
54 | <toolset>pathscale:<cxxflags>-pedantic | |
55 | ||
56 | <toolset>clang:<warnings>on | |
57 | <toolset>clang:<cxxflags>-Wextra | |
58 | #<toolset>clang:<cxxflags>-pedantic | |
59 | <toolset>clang:<cxxflags>-Wno-long-long | |
60 | #<toolset>clang:<cxxflags>-ansi | |
61 | #<toolset>clang:<cxxflags>-fpermissive # doesn't work | |
62 | <toolset>clang:<cxxflags>-Wunused-function | |
63 | <toolset>clang:<cxxflags>-Wno-unused-parameter | |
1e59de90 | 64 | <toolset>clang:<cxxflags>-Wno-c99-extensions |
7c673cae FG |
65 | |
66 | #<toolset>gcc-mingw-4.4.0:<cxxflags>-fdiagnostics-show-option | |
67 | #<toolset>gcc-mingw-4.5.0:<cxxflags>-fdiagnostics-show-option | |
68 | #<toolset>gcc-mingw-4.6.0:<cxxflags>-fdiagnostics-show-option | |
69 | #<toolset>gcc-mingw-4.6.3:<cxxflags>-fdiagnostics-show-option | |
70 | #<toolset>gcc-mingw-4.7.0:<cxxflags>-fdiagnostics-show-option | |
71 | #<toolset>gcc-mingw-4.8.0:<cxxflags>-fdiagnostics-show-option | |
72 | ||
73 | <toolset>darwin-4.6.2:<cxxflags>-ansi | |
74 | #<toolset>darwin-4.6.2:<cxxflags>-Wno-delete-non-virtual-dtor # doesn't work | |
75 | <toolset>darwin-4.7.0:<cxxflags>-ansi | |
76 | <toolset>darwin-4.7.0:<cxxflags>-Wno-delete-non-virtual-dtor | |
77 | #<toolset>darwin-4.6.2:<cxxflags>-Wno-unused-local-typedefs | |
78 | #<toolset>darwin-4.7.1:<cxxflags>-Wno-unused-local-typedefs | |
79 | #<toolset>darwin-4.7.2:<cxxflags>-Wno-unused-local-typedefs | |
80 | #<toolset>darwin-4.8.0:<cxxflags>-Wno-unused-local-typedefs | |
81 | #<toolset>darwin-4.6.2x:<cxxflags>-Wno-unused-local-typedefs | |
82 | #<toolset>darwin-4.7.1x:<cxxflags>-Wno-unused-local-typedefs | |
83 | #<toolset>darwin-4.7.2x:<cxxflags>-Wno-unused-local-typedefs | |
84 | #<toolset>darwin-4.8.0x:<cxxflags>-Wno-unused-local-typedefs | |
85 | ||
86 | #<toolset>clang-2.8:<cxxflags>-Wno-delete-non-virtual-dtor | |
87 | #<toolset>clang-2.8:<cxxflags>-Wno-unused-function | |
88 | #<toolset>clang-2.9:<cxxflags>-Wno-delete-non-virtual-dtor | |
89 | #<toolset>clang-2.9:<cxxflags>-Wno-unused-function | |
90 | <toolset>clang-3.0:<cxxflags>-Wno-delete-non-virtual-dtor | |
91 | #<toolset>clang-3.0:<cxxflags>-Wno-unused-function | |
92 | #<toolset>clang-3.0:<cxxflags>-Wno-unused-variable | |
93 | #<toolset>clang-3.1:<cxxflags>-Wno-bind-to-temporary-copy | |
94 | #<toolset>clang-3.2:<cxxflags>-Wno-bind-to-temporary-copy | |
95 | ||
96 | # Note: Some of the remarks from the Intel compiler are disabled | |
97 | # remark #193: zero used for undefined preprocessing identifier "XXX" | |
98 | # remark #304: access control not specified ("public" by default) | |
99 | # remark #593: variable "XXX" was set but never used | |
100 | # remark #1418: external function definition with no prior declaration | |
101 | # remark #2415: variable "XXX" of static storage duration was declared but never referenced | |
102 | ||
103 | <toolset>intel:<cxxflags>-wd193,304,383,444 | |
104 | <toolset>intel:<cxxflags>-wd593,981 | |
105 | <toolset>intel:<cxxflags>-wd1418 | |
106 | <toolset>intel:<cxxflags>-wd2415 | |
107 | ||
108 | <toolset>msvc:<cxxflags>/wd4100 | |
109 | <toolset>msvc:<cxxflags>/wd4512 | |
110 | <toolset>msvc:<cxxflags>/wd6246 | |
111 | ; | |
112 | ||
113 | rule thread-run ( sources ) | |
114 | { | |
115 | sources = $(sources) winrt_init.cpp ; | |
116 | return | |
117 | [ run $(sources) ../build//boost_thread ] | |
118 | [ run $(sources) ../src/tss_null.cpp ../build//boost_thread/<link>static | |
119 | : : : : $(sources[1]:B)_lib ] | |
120 | ; | |
121 | } | |
122 | ||
123 | ||
124 | rule thread-test ( sources ) | |
125 | { | |
126 | sources = $(sources) winrt_init.cpp ; | |
127 | return | |
128 | [ run $(sources) ../build//boost_thread : : : | |
129 | <library>/boost/test//boost_unit_test_framework | |
130 | ] | |
131 | [ run $(sources) ../src/tss_null.cpp ../build//boost_thread/<link>static | |
132 | : : : | |
133 | <library>/boost/test//boost_unit_test_framework/<link>static | |
134 | : $(sources[1]:B)_lib | |
135 | ] | |
136 | ; | |
137 | } | |
138 | ||
139 | rule thread-run2 ( sources : name ) | |
140 | { | |
141 | sources = $(sources) winrt_init.cpp ; | |
142 | return | |
143 | [ run $(sources) ../build//boost_thread : : : | |
144 | : $(name) ] | |
145 | [ run $(sources) ../src/tss_null.cpp ../build//boost_thread/<link>static | |
146 | : : : | |
147 | : $(name)_lib ] | |
148 | ; | |
149 | } | |
150 | ||
b32b8144 | 151 | rule thread-run2-noit ( sources : name : reqs * ) |
7c673cae FG |
152 | { |
153 | sources = $(sources) winrt_init.cpp ; | |
154 | return | |
b32b8144 | 155 | [ run $(sources) ../build//boost_thread : : : $(reqs) |
7c673cae FG |
156 | : $(name) ] |
157 | [ run $(sources) ../src/tss_null.cpp ../build//boost_thread/<link>static | |
b32b8144 | 158 | : : : $(reqs) |
7c673cae FG |
159 | : $(name)_lib ] |
160 | #[ run $(sources) ../build//boost_thread : : : | |
161 | # <define>BOOST_THREAD_DONT_PROVIDE_INTERRUPTIONS | |
162 | # : $(name)_noit ] | |
163 | ; | |
164 | } | |
165 | ||
166 | rule thread-run2-noit-pthread ( sources : name ) | |
167 | { | |
168 | sources = $(sources) winrt_init.cpp ; | |
169 | return | |
170 | [ run $(sources) ../build//boost_thread : : : <threadapi>win32:<build>no | |
171 | : $(name) ] | |
172 | [ run $(sources) ../src/tss_null.cpp ../build//boost_thread/<link>static | |
173 | : : : <threadapi>win32:<build>no | |
174 | : $(name)_lib ] | |
175 | #[ run $(sources) ../build//boost_thread : : : | |
176 | # <define>BOOST_THREAD_DONT_PROVIDE_INTERRUPTIONS | |
177 | # : $(name)_noit ] | |
178 | ; | |
179 | } | |
180 | ||
181 | rule thread-run2-h ( sources : name ) | |
182 | { | |
183 | sources = $(sources) winrt_init.cpp ; | |
184 | return | |
185 | [ run $(sources) : : : | |
7c673cae FG |
186 | <define>BOOST_THREAD_DONT_PROVIDE_INTERRUPTIONS |
187 | <define>BOOST_THREAD_VERSION=3 | |
188 | : $(name)_h ] | |
189 | ; | |
190 | } | |
191 | ||
192 | ||
193 | rule thread-run-lib2 ( sources : name ) | |
194 | { | |
195 | sources = $(sources) winrt_init.cpp ; | |
196 | return | |
197 | [ run $(sources) ../src/tss_null.cpp ../build//boost_thread/<link>static | |
198 | : : : | |
199 | : $(name)_lib ] | |
200 | ; | |
201 | } | |
202 | ||
203 | ||
204 | rule thread-compile-fail ( sources : reqs * : name ) | |
205 | { | |
206 | return | |
207 | [ compile-fail $(sources) | |
208 | : $(reqs) | |
209 | : $(name) ] | |
210 | ; | |
211 | } | |
212 | ||
92f5a8d4 TL |
213 | rule clang-thread-safety ( properties * ) |
214 | { | |
215 | if <toolset>clang in $(properties) | |
216 | { | |
217 | return <cxxflags>-Werror=thread-safety <define>BOOST_THREAD_ENABLE_THREAD_SAFETY_ANALYSIS ; | |
218 | } | |
219 | else | |
220 | { | |
221 | return <build>no ; | |
222 | } | |
223 | } | |
224 | ||
225 | rule thread-safety-compile ( sources : reqs * : name ) | |
226 | { | |
227 | return | |
228 | [ compile $(sources) | |
229 | : $(reqs) <conditional>@clang-thread-safety | |
230 | : $(name) ] | |
231 | ; | |
232 | } | |
233 | ||
234 | rule thread-safety-compile-fail ( sources : reqs * : name ) | |
235 | { | |
236 | return | |
237 | [ compile-fail $(sources) | |
238 | : $(reqs) <conditional>@clang-thread-safety | |
239 | : $(name) ] | |
240 | ; | |
241 | } | |
242 | ||
7c673cae FG |
243 | rule thread-compile ( sources : reqs * : name ) |
244 | { | |
245 | return | |
246 | [ compile $(sources) | |
247 | : $(reqs) | |
248 | : $(name) ] | |
249 | ; | |
250 | } | |
251 | ||
92f5a8d4 TL |
252 | rule windows-cygwin-specific ( properties * ) |
253 | { | |
254 | if <target-os>windows in $(properties) || <target-os>cygwin in $(properties) | |
255 | { | |
256 | return <build>yes ; | |
257 | } | |
258 | else | |
259 | { | |
260 | return <build>no ; | |
261 | } | |
262 | } | |
263 | ||
264 | rule generate_self_contained_header_tests | |
265 | { | |
266 | local all_rules ; | |
267 | local file ; | |
268 | ||
269 | if ! [ os.environ BOOST_THREAD_TEST_WITHOUT_SELF_CONTAINED_HEADER_TESTS ] | |
270 | { | |
271 | local headers_path = [ path.make $(BOOST_ROOT)/libs/thread/include/boost/thread ] ; | |
272 | for file in [ path.glob-tree $(headers_path) : *.hpp : detail pthread win32 ] | |
273 | { | |
274 | local rel_file = [ path.relative-to $(headers_path) $(file) ] ; | |
275 | # Note: The test name starts with '~' in order to group these tests in the test report table, preferably at the end. | |
276 | # All '/' are replaced with '-' because apparently test scripts have a problem with test names containing slashes. | |
277 | local test_name = [ regex.replace ~hdr/$(rel_file) "/" "-" ] ; | |
278 | #ECHO $(rel_file) ; | |
279 | all_rules += [ compile self_contained_header.cpp : <define>"BOOST_THREAD_TEST_HEADER=$(rel_file)" <dependency>$(file) : $(test_name) ] ; | |
280 | all_rules += [ compile self_contained_header.cpp : <define>"BOOST_THREAD_TEST_HEADER=$(rel_file)" <define>"BOOST_THREAD_TEST_POST_WINDOWS_H" <dependency>$(file) <conditional>@windows-cygwin-specific : $(test_name)-post_winh ] ; | |
281 | } | |
282 | } | |
283 | ||
284 | #ECHO All rules: $(all_rules) ; | |
285 | return $(all_rules) ; | |
286 | } | |
287 | ||
7c673cae FG |
288 | { |
289 | test-suite t_threads | |
290 | : | |
291 | [ thread-test test_thread.cpp ] | |
292 | [ thread-test test_thread_id.cpp ] | |
293 | [ thread-test test_hardware_concurrency.cpp ] | |
294 | [ thread-test test_physical_concurrency.cpp ] | |
295 | [ thread-test test_thread_move.cpp ] | |
296 | [ thread-test test_thread_return_local.cpp ] | |
297 | [ thread-test test_thread_move_return.cpp ] | |
298 | [ thread-test test_thread_launching.cpp ] | |
299 | [ thread-test test_thread_mf.cpp ] | |
300 | [ thread-test test_thread_exit.cpp ] | |
301 | [ thread-test test_move_function.cpp ] | |
302 | [ compile-fail no_implicit_move_from_lvalue_thread.cpp ] | |
303 | [ compile-fail no_implicit_assign_from_lvalue_thread.cpp ] | |
304 | [ thread-test test_tss.cpp ] | |
305 | [ thread-test test_xtime.cpp ] | |
306 | ; | |
307 | ||
308 | test-suite t_sync | |
309 | : | |
310 | [ thread-test test_mutex.cpp ] | |
311 | [ thread-test test_condition_notify_one.cpp ] | |
312 | [ thread-test test_condition_timed_wait_times_out.cpp ] | |
313 | [ thread-test test_condition_notify_all.cpp ] | |
314 | [ thread-test test_condition.cpp ] | |
315 | [ thread-test test_once.cpp ] | |
316 | [ thread-run test_barrier.cpp ] | |
317 | [ thread-run test_barrier_void_fct.cpp ] | |
318 | [ thread-run test_barrier_size_fct.cpp ] | |
319 | [ thread-test test_lock_concept.cpp ] | |
320 | [ thread-test test_generic_locks.cpp ] | |
321 | [ thread-run test_latch.cpp ] | |
322 | [ thread-run test_completion_latch.cpp ] | |
323 | ; | |
324 | ||
325 | test-suite t_shared | |
326 | : | |
327 | [ thread-test test_shared_mutex.cpp ] | |
328 | [ thread-test test_shared_mutex_part_2.cpp ] | |
329 | [ thread-test test_shared_mutex_timed_locks.cpp ] | |
330 | [ thread-test test_shared_mutex_timed_locks_chrono.cpp ] | |
331 | #uncomment the following once these works on windows | |
332 | #[ thread-test test_vhh_shared_mutex.cpp ] | |
333 | #[ thread-test test_vhh_shared_mutex_part_2.cpp ] | |
334 | #[ thread-test test_vhh_shared_mutex_timed_locks.cpp ] | |
335 | ; | |
336 | ||
92f5a8d4 TL |
337 | explicit t_futures_too_long ; |
338 | test-suite t_futures_too_long | |
7c673cae FG |
339 | : |
340 | [ thread-test test_futures.cpp ] | |
341 | ; | |
342 | ||
343 | ||
344 | #explicit tickets ; | |
345 | test-suite tickets | |
346 | : | |
347 | [ thread-test test_2309.cpp ] | |
348 | [ thread-run test_2501.cpp ] | |
349 | [ thread-test test_2741.cpp ] | |
350 | [ thread-run test_3628.cpp ] | |
351 | [ thread-run test_4521.cpp ] | |
352 | [ thread-run test_4648.cpp ] | |
353 | [ thread-run test_4882.cpp ] | |
354 | [ thread-run test_5542_1.cpp ] | |
355 | [ thread-run test_5542_2.cpp ] | |
356 | [ thread-run test_5542_3.cpp ] | |
357 | [ thread-run test_5891.cpp ] | |
358 | #[ thread-run test_6130.cpp ] | |
359 | #[ thread-run test_6170.cpp ] | |
360 | [ thread-run test_6174.cpp ] | |
361 | #[ thread-run test_7160.cpp ] | |
362 | [ thread-run test_7328.cpp ] | |
363 | [ thread-run test_7571.cpp ] | |
364 | [ thread-run test_9319.cpp ] | |
365 | #[ thread-run test_9711.cpp ] This is an invalid use of ::then deferred. | |
366 | [ thread-run test_9856.cpp ] | |
367 | [ thread-compile test_10963.cpp : : test_10963_c ] | |
368 | [ thread-run test_10964.cpp ] | |
369 | [ thread-test test_11053.cpp ] | |
370 | [ thread-run test_11266.cpp ] | |
371 | ; | |
372 | ||
373 | ||
374 | explicit oth_tickets ; | |
375 | test-suite oth_tickets | |
376 | : | |
377 | [ thread-run test_5351.cpp ] | |
378 | [ thread-run test_5502.cpp ] | |
379 | ; | |
380 | ||
381 | ||
382 | ||
383 | #explicit ts_conditions ; | |
384 | test-suite ts_conditions | |
385 | : | |
386 | [ thread-compile-fail ./sync/conditions/condition_variable/assign_fail.cpp : : condition_variable__assign_f ] | |
387 | [ thread-compile-fail ./sync/conditions/condition_variable/copy_fail.cpp : : condition_variable__copy_f ] | |
388 | [ thread-run2-noit ./sync/conditions/condition_variable/default_pass.cpp : condition_variable__default_p ] | |
389 | [ thread-run2-noit ./sync/conditions/condition_variable/dtor_pass.cpp : condition_variable__dtor_p ] | |
390 | [ thread-run2-noit-pthread ./sync/conditions/condition_variable/native_handle_pass.cpp : condition_variable__native_handle_p ] | |
391 | [ thread-run2-noit ./sync/conditions/condition_variable/wait_pass.cpp : condition_variable__wait_p ] | |
392 | [ thread-run2-noit ./sync/conditions/condition_variable/wait_for_pass.cpp : condition_variable__wait_for_p ] | |
393 | [ thread-run2-noit ./sync/conditions/condition_variable/wait_for_pred_pass.cpp : condition_variable__wait_for_pred_p ] | |
394 | [ thread-run2-noit ./sync/conditions/condition_variable/wait_until_pass.cpp : condition_variable__wait_until_p ] | |
395 | [ thread-run2-noit ./sync/conditions/condition_variable/wait_until_pred_pass.cpp : condition_variable__wait_until_pred_p ] | |
11fdf7f2 | 396 | [ thread-run2-noit ./sync/conditions/condition_variable/lost_notif_pass.cpp : condition_variable__lost_notif_p ] |
7c673cae FG |
397 | |
398 | [ thread-compile-fail ./sync/conditions/condition_variable_any/assign_fail.cpp : : condition_variable_any__assign_f ] | |
399 | [ thread-compile-fail ./sync/conditions/condition_variable_any/copy_fail.cpp : : condition_variable_any__copy_f ] | |
400 | [ thread-run2-noit ./sync/conditions/condition_variable_any/default_pass.cpp : condition_variable_any__default_p ] | |
401 | [ thread-run2-noit ./sync/conditions/condition_variable_any/dtor_pass.cpp : condition_variable_any__dtor_p ] | |
402 | [ thread-run2-noit ./sync/conditions/condition_variable_any/wait_for_pass.cpp : condition_variable_any__wait_for_p ] | |
403 | [ thread-run2-noit ./sync/conditions/condition_variable_any/wait_for_pred_pass.cpp : condition_variable_any__wait_for_pred_p ] | |
404 | [ thread-run2-noit ./sync/conditions/condition_variable_any/wait_until_pass.cpp : condition_variable_any__wait_until_p ] | |
405 | [ thread-run2-noit ./sync/conditions/condition_variable_any/wait_until_pred_pass.cpp : condition_variable_any__wait_until_pred_p ] | |
11fdf7f2 | 406 | [ thread-run2-noit ./sync/conditions/condition_variable_any/lost_notif_pass.cpp : condition_variable_any__lost_notif_p ] |
7c673cae FG |
407 | [ thread-run2-noit ./sync/conditions/cv_status/cv_status_pass.cpp : cv_status__cv_status_p ] |
408 | [ thread-run2-noit ./sync/conditions/notify_all_at_thread_exit_pass.cpp : notify_all_at_thread_exit_p ] | |
409 | ; | |
410 | ||
411 | #explicit ts_async ; | |
412 | test-suite ts_async | |
413 | : | |
414 | [ thread-run2-noit ./sync/futures/async/async_pass.cpp : async__async_p ] | |
415 | [ thread-run2-noit ./sync/futures/async/async_executor_pass.cpp : async__async_executor_p ] | |
416 | ; | |
417 | ||
418 | #explicit ts_promise ; | |
419 | test-suite ts_promise | |
420 | : | |
421 | [ thread-compile-fail ./sync/futures/promise/copy_assign_fail.cpp : : promise__copy_assign_f ] | |
422 | [ thread-compile-fail ./sync/futures/promise/copy_ctor_fail.cpp : : promise__copy_ctor_f ] | |
423 | [ thread-run2-noit ./sync/futures/promise/alloc_ctor_pass.cpp : promise__alloc_ctor_p ] | |
424 | [ thread-run2-noit ./sync/futures/promise/default_pass.cpp : promise__default_p ] | |
425 | [ thread-run2-noit ./sync/futures/promise/dtor_pass.cpp : promise__dtor_p ] | |
426 | [ thread-run2-noit ./sync/futures/promise/get_future_pass.cpp : promise__get_future_p ] | |
427 | [ thread-run2-noit ./sync/futures/promise/move_ctor_pass.cpp : promise__move_ctor_p ] | |
428 | [ thread-run2-noit ./sync/futures/promise/move_assign_pass.cpp : promise__move_asign_p ] | |
429 | [ thread-run2-noit ./sync/futures/promise/set_exception_pass.cpp : promise__set_exception_p ] | |
430 | [ thread-run2-noit ./sync/futures/promise/set_lvalue_pass.cpp : promise__set_lvalue_p ] | |
431 | [ thread-run2-noit ./sync/futures/promise/set_rvalue_pass.cpp : promise__set_rvalue_p ] | |
432 | [ thread-run2-noit ./sync/futures/promise/set_value_const_pass.cpp : promise__set_value_const_p ] | |
433 | [ thread-run2-noit ./sync/futures/promise/set_value_void_pass.cpp : promise__set_value_void_p ] | |
434 | [ thread-run2-noit ./sync/futures/promise/emplace_pass.cpp : promise__emplace_p ] | |
435 | [ thread-run2-noit ./sync/futures/promise/use_allocator_pass.cpp : promise__use_allocator_p ] | |
436 | [ thread-run2-noit ./sync/futures/promise/set_exception_at_thread_exit_pass.cpp : promise__set_exception_at_thread_exit_p ] | |
437 | [ thread-run2-noit ./sync/futures/promise/set_lvalue_at_thread_exit_pass.cpp : promise__set_lvalue_at_thread_exit_p ] | |
438 | [ thread-run2-noit ./sync/futures/promise/set_rvalue_at_thread_exit_pass.cpp : promise__set_rvalue_at_thread_exit_p ] | |
439 | [ thread-run2-noit ./sync/futures/promise/set_value_at_thread_exit_const_pass.cpp : promise__set_value_at_thread_exit_const_p ] | |
440 | [ thread-run2-noit ./sync/futures/promise/set_value_at_thread_exit_void_pass.cpp : promise__set_value_at_thread_exit_void_p ] | |
441 | ; | |
442 | ||
443 | #explicit ts_make_ready_future ; | |
444 | test-suite ts_make_ready_future | |
445 | : | |
446 | [ thread-run2-noit ./sync/futures/make_ready_future_pass.cpp : make_ready_future_p ] | |
447 | ; | |
448 | ||
449 | #explicit ts_future ; | |
450 | test-suite ts_future | |
451 | : | |
452 | [ thread-compile-fail ./sync/futures/future/copy_assign_fail.cpp : : future__copy_assign_f ] | |
453 | [ thread-compile-fail ./sync/futures/future/copy_ctor_fail.cpp : : future__copy_ctor_f ] | |
454 | [ thread-run2-noit ./sync/futures/future/default_pass.cpp : future__default_p ] | |
455 | [ thread-run2-noit ./sync/futures/future/dtor_pass.cpp : future__dtor_p ] | |
456 | [ thread-run2-noit ./sync/futures/future/get_pass.cpp : future__get_p ] | |
457 | [ thread-run2-noit ./sync/futures/future/get_or_pass.cpp : future__get_or_p ] | |
458 | [ thread-run2-noit ./sync/futures/future/move_ctor_pass.cpp : future__move_ctor_p ] | |
459 | [ thread-run2-noit ./sync/futures/future/move_assign_pass.cpp : future__move_asign_p ] | |
460 | [ thread-run2-noit ./sync/futures/future/share_pass.cpp : future__share_p ] | |
461 | [ thread-run2-noit ./sync/futures/future/wait_pass.cpp : future__wait_p ] | |
462 | [ thread-run2-noit ./sync/futures/future/wait_for_pass.cpp : future__wait_for_p ] | |
463 | [ thread-run2-noit ./sync/futures/future/wait_until_pass.cpp : future__wait_until_p ] | |
464 | [ thread-run2-noit ./sync/futures/future/then_pass.cpp : future__then_p ] | |
465 | [ thread-run2-noit ./sync/futures/future/then_executor_pass.cpp : future__then_executor_p ] | |
466 | [ thread-run2-noit ./sync/futures/future/async_deferred_then_pass.cpp : future__async_def_then_p ] | |
467 | [ thread-run2-noit ./sync/futures/future/then_deferred_pass.cpp : future__then_def_p ] | |
468 | ; | |
469 | ||
470 | #explicit ts_shared_future ; | |
471 | test-suite ts_shared_future | |
472 | : | |
473 | [ thread-run2-noit ./sync/futures/shared_future/copy_assign_pass.cpp : shared_future__copy_assign_p ] | |
474 | [ thread-run2-noit ./sync/futures/shared_future/copy_ctor_pass.cpp : shared_future__copy_ctor_p ] | |
475 | [ thread-run2-noit ./sync/futures/shared_future/default_pass.cpp : shared_future__default_p ] | |
476 | [ thread-run2-noit ./sync/futures/shared_future/dtor_pass.cpp : shared_future__dtor_p ] | |
477 | [ thread-run2-noit ./sync/futures/shared_future/get_pass.cpp : shared_future__get_p ] | |
478 | [ thread-run2-noit ./sync/futures/shared_future/move_ctor_pass.cpp : shared_future__move_ctor_p ] | |
479 | [ thread-run2-noit ./sync/futures/shared_future/move_assign_pass.cpp : shared_future__move_asign_p ] | |
480 | [ thread-run2-noit ./sync/futures/shared_future/wait_pass.cpp : shared_future__wait_p ] | |
481 | [ thread-run2-noit ./sync/futures/shared_future/wait_for_pass.cpp : shared_future__wait_for_p ] | |
482 | [ thread-run2-noit ./sync/futures/shared_future/wait_until_pass.cpp : shared_future__wait_until_p ] | |
483 | [ thread-run2-noit ./sync/futures/shared_future/then_pass.cpp : shared_future__then_p ] | |
484 | [ thread-run2-noit ./sync/futures/shared_future/then_executor_pass.cpp : shared_future__then_executor_p ] | |
485 | ; | |
486 | ||
487 | #explicit ts_packaged_task ; | |
488 | test-suite ts_packaged_task | |
489 | : | |
490 | [ thread-run2-noit ./sync/futures/packaged_task/alloc_ctor_pass.cpp : packaged_task__alloc_ctor_p ] | |
491 | [ thread-compile-fail ./sync/futures/packaged_task/copy_assign_fail.cpp : : packaged_task__copy_assign_f ] | |
492 | [ thread-compile-fail ./sync/futures/packaged_task/copy_ctor_fail.cpp : : packaged_task__copy_ctor_f ] | |
493 | [ thread-run2-noit ./sync/futures/packaged_task/default_ctor_pass.cpp : packaged_task__default_ctor_p ] | |
494 | [ thread-run2-noit ./sync/futures/packaged_task/func_ctor_pass.cpp : packaged_task__func_ctor_p ] | |
495 | [ thread-run2-noit ./sync/futures/packaged_task/dtor_pass.cpp : packaged_task__dtor_p ] | |
496 | [ thread-run2-noit ./sync/futures/packaged_task/get_future_pass.cpp : packaged_task__get_future_p ] | |
497 | [ thread-run2-noit ./sync/futures/packaged_task/move_ctor_pass.cpp : packaged_task__move_ctor_p ] | |
498 | [ thread-run2-noit ./sync/futures/packaged_task/move_assign_pass.cpp : packaged_task__move_asign_p ] | |
499 | [ thread-run2-noit ./sync/futures/packaged_task/operator_pass.cpp : packaged_task__operator_p ] | |
500 | [ thread-run2-noit ./sync/futures/packaged_task/reset_pass.cpp : packaged_task__reset_p ] | |
501 | [ thread-run2-noit ./sync/futures/packaged_task/use_allocator_pass.cpp : packaged_task__use_allocator_p ] | |
502 | [ thread-run2-noit ./sync/futures/packaged_task/types_pass.cpp : packaged_task__types_p ] | |
503 | [ thread-run2-noit ./sync/futures/packaged_task/member_swap_pass.cpp : packaged_task__member_swap_p ] | |
504 | [ thread-run2-noit ./sync/futures/packaged_task/non_member_swap_pass.cpp : packaged_task__non_member_swap_p ] | |
505 | [ thread-run2-noit ./sync/futures/packaged_task/make_ready_at_thread_exit_pass.cpp : packaged_task__make_ready_at_thread_exit_p ] | |
506 | ; | |
507 | ||
508 | ||
509 | #explicit ts_when_all ; | |
510 | test-suite ts_when_all | |
511 | : | |
512 | [ thread-run2-noit ./sync/futures/when_all/none_pass.cpp : when_all__none_p ] | |
513 | [ thread-run2-noit ./sync/futures/when_all/one_pass.cpp : when_all__one_p ] | |
514 | [ thread-run2-noit ./sync/futures/when_all/iterators_pass.cpp : when_all__iterators_p ] | |
515 | [ thread-run2-noit ./sync/futures/when_all/variadic_pass.cpp : when_all__variadic_p ] | |
516 | ; | |
517 | ||
518 | #explicit ts_when_any ; | |
519 | test-suite ts_when_any | |
520 | : | |
521 | [ thread-run2-noit ./sync/futures/when_any/none_pass.cpp : when_any__none_p ] | |
522 | [ thread-run2-noit ./sync/futures/when_any/one_pass.cpp : when_any__one_p ] | |
523 | [ thread-run2-noit ./sync/futures/when_any/iterators_pass.cpp : when_any__iterators_p ] | |
524 | [ thread-run2-noit ./sync/futures/when_any/variadic_pass.cpp : when_any__variadic_p ] | |
525 | ; | |
526 | ||
527 | #explicit ts_lock_guard ; | |
528 | test-suite ts_lock_guard | |
529 | : | |
530 | [ thread-compile-fail ./sync/mutual_exclusion/locks/lock_guard/copy_assign_fail.cpp : : lock_guard__cons__copy_assign_f ] | |
531 | [ thread-compile-fail ./sync/mutual_exclusion/locks/lock_guard/copy_ctor_fail.cpp : : lock_guard__cons__copy_ctor_f ] | |
92f5a8d4 TL |
532 | [ thread-safety-compile ./sync/mutual_exclusion/locks/lock_guard/lock_guard_compile_pass.cpp : : lock_guard__lock_compile_p ] |
533 | [ thread-safety-compile-fail ./sync/mutual_exclusion/locks/lock_guard/lock_guard_compile_fail.cpp : : lock_guard__lock_compile_f ] | |
534 | [ thread-safety-compile ./sync/mutual_exclusion/locks/lock_guard/lock_guard_adopt_lock_compile_pass.cpp : : lock_guard__adopt_lock_compile_p ] | |
535 | [ thread-safety-compile-fail ./sync/mutual_exclusion/locks/lock_guard/lock_guard_adopt_lock_compile_fail.cpp : : lock_guard__adopt_lock_compile_f ] | |
7c673cae FG |
536 | [ thread-run2-noit ./sync/mutual_exclusion/locks/lock_guard/adopt_lock_pass.cpp : lock_guard__cons__adopt_lock_p ] |
537 | [ thread-run2-noit ./sync/mutual_exclusion/locks/lock_guard/default_pass.cpp : lock_guard__cons__default_p ] | |
538 | [ thread-run2-noit ./sync/mutual_exclusion/locks/lock_guard/types_pass.cpp : lock_guard__types_p ] | |
539 | [ thread-run2-noit ./sync/mutual_exclusion/locks/lock_guard/make_lock_guard_pass.cpp : make_lock_guard_p ] | |
540 | [ thread-run2-noit ./sync/mutual_exclusion/locks/lock_guard/make_lock_guard_adopt_lock_pass.cpp : make_lock_guard__adopt_lock_p ] | |
541 | ; | |
542 | ||
543 | #explicit ts_unique_lock ; | |
544 | test-suite ts_unique_lock | |
545 | : | |
546 | [ thread-compile-fail ./sync/mutual_exclusion/locks/unique_lock/cons/copy_assign_fail.cpp : : unique_lock__cons__copy_assign_f ] | |
547 | [ thread-compile-fail ./sync/mutual_exclusion/locks/unique_lock/cons/copy_ctor_fail.cpp : : unique_lock__cons__copy_ctor_f ] | |
548 | [ thread-run2-noit ./sync/mutual_exclusion/locks/unique_lock/cons/adopt_lock_pass.cpp : unique_lock__cons__adopt_lock_p ] | |
549 | [ thread-run2-noit ./sync/mutual_exclusion/locks/unique_lock/cons/default_pass.cpp : unique_lock__cons__default_p ] | |
550 | [ thread-run2-noit ./sync/mutual_exclusion/locks/unique_lock/cons/defer_lock_pass.cpp : unique_lock__cons__defer_lock_p ] | |
551 | [ thread-run2-noit ./sync/mutual_exclusion/locks/unique_lock/cons/duration_pass.cpp : unique_lock__cons__duration_p ] | |
552 | [ thread-run2-noit ./sync/mutual_exclusion/locks/unique_lock/cons/move_assign_pass.cpp : unique_lock__cons__move_assign_p ] | |
553 | [ thread-run2-noit ./sync/mutual_exclusion/locks/unique_lock/cons/move_ctor_pass.cpp : unique_lock__cons__move_ctor_p ] | |
554 | [ thread-run2-noit ./sync/mutual_exclusion/locks/unique_lock/cons/move_ctor_upgrade_lock_pass.cpp : uq_lk_cons_mv_c_upg_lk_p ] | |
555 | [ thread-run2-noit ./sync/mutual_exclusion/locks/unique_lock/cons/move_ctor_upgrade_lock_try_pass.cpp : uq_lk_cons_mv_c_upg_lk_t_p ] | |
556 | [ thread-run2-noit ./sync/mutual_exclusion/locks/unique_lock/cons/move_ctor_upgrade_lock_for_pass.cpp : uq_lk_cons_mv_c_upg_lk_f_p ] | |
557 | [ thread-run2-noit ./sync/mutual_exclusion/locks/unique_lock/cons/move_ctor_upgrade_lock_until_pass.cpp : uq_lk_cons_mv_c_upg_lk_u_p ] | |
558 | [ thread-run2-noit ./sync/mutual_exclusion/locks/unique_lock/cons/mutex_pass.cpp : unique_lock__cons__mutex_p ] | |
559 | [ thread-run2-noit ./sync/mutual_exclusion/locks/unique_lock/cons/time_point_pass.cpp : unique_lock__cons__time_point_p ] | |
560 | [ thread-run2-noit ./sync/mutual_exclusion/locks/unique_lock/cons/try_to_lock_pass.cpp : unique_lock__cons__try_to_lock_p ] | |
561 | [ thread-run2-noit ./sync/mutual_exclusion/locks/unique_lock/locking/lock_pass.cpp : unique_lock__lock_p ] | |
562 | [ thread-run2-noit ./sync/mutual_exclusion/locks/unique_lock/locking/try_lock_for_pass.cpp : unique_lock__try_lock_for_p ] | |
563 | [ thread-run2-noit ./sync/mutual_exclusion/locks/unique_lock/locking/try_lock_pass.cpp : unique_lock__try_lock_p ] | |
564 | [ thread-run2-noit ./sync/mutual_exclusion/locks/unique_lock/locking/try_lock_until_pass.cpp : unique_lock__try_lock_until_p ] | |
565 | [ thread-run2-noit ./sync/mutual_exclusion/locks/unique_lock/locking/unlock_pass.cpp : unique_lock__unlock_p ] | |
566 | [ thread-run2-noit ./sync/mutual_exclusion/locks/unique_lock/mod/member_swap_pass.cpp : unique_lock__member_swap_p ] | |
567 | [ thread-run2-noit ./sync/mutual_exclusion/locks/unique_lock/mod/non_member_swap_pass.cpp : unique_lock__non_member_swap_p ] | |
568 | [ thread-run2-noit ./sync/mutual_exclusion/locks/unique_lock/mod/release_pass.cpp : unique_lock__release_p ] | |
569 | [ thread-run2-noit ./sync/mutual_exclusion/locks/unique_lock/obs/mutex_pass.cpp : unique_lock__mutex_p ] | |
570 | [ thread-run2-noit ./sync/mutual_exclusion/locks/unique_lock/obs/op_bool_pass.cpp : unique_lock__op_bool_p ] | |
571 | #[ thread-compile-fail ./sync/mutual_exclusion/locks/unique_lock/obs/op_int_fail.cpp : : unique_lock__op_int_f ] | |
572 | [ thread-run2-noit ./sync/mutual_exclusion/locks/unique_lock/obs/owns_lock_pass.cpp : unique_lock__owns_lock_p ] | |
573 | [ thread-run2-noit ./sync/mutual_exclusion/locks/unique_lock/types_pass.cpp : unique_lock__types_p ] | |
574 | ||
575 | ||
576 | ; | |
577 | ||
578 | #explicit ts_make_unique_lock ; | |
579 | test-suite ts_make_unique_lock | |
580 | : | |
581 | [ thread-run2-noit ./sync/mutual_exclusion/locks/unique_lock/cons/make_unique_lock_mutex_pass.cpp : make_unique_lock__mutex_p ] | |
582 | [ thread-run2-noit ./sync/mutual_exclusion/locks/unique_lock/cons/make_unique_lock_adopt_lock_pass.cpp : make_unique_lock__adopt_lock_p ] | |
583 | [ thread-run2-noit ./sync/mutual_exclusion/locks/unique_lock/cons/make_unique_lock_defer_lock_pass.cpp : make_unique_lock__defer_lock_p ] | |
584 | [ thread-run2-noit ./sync/mutual_exclusion/locks/unique_lock/cons/make_unique_lock_try_to_lock_pass.cpp : make_unique_lock__try_to_lock_p ] | |
585 | ||
586 | [ thread-run2-noit ./sync/mutual_exclusion/locks/unique_lock/cons/make_unique_locks_mutex_pass.cpp : make_unique_locks__mutex_p ] | |
587 | ||
588 | ; | |
589 | ||
590 | #explicit ts_shared_lock ; | |
591 | test-suite ts_shared_lock | |
592 | : | |
593 | [ thread-compile-fail ./sync/mutual_exclusion/locks/shared_lock/cons/copy_assign_fail.cpp : : shared_lock__cons__copy_assign_f ] | |
594 | [ thread-compile-fail ./sync/mutual_exclusion/locks/shared_lock/cons/copy_ctor_fail.cpp : : shared_lock__cons__copy_ctor_f ] | |
595 | [ thread-run2-noit ./sync/mutual_exclusion/locks/shared_lock/cons/adopt_lock_pass.cpp : shared_lock__cons__adopt_lock_p ] | |
596 | [ thread-run2-noit ./sync/mutual_exclusion/locks/shared_lock/cons/default_pass.cpp : shared_lock__cons__default_p ] | |
597 | [ thread-run2-noit ./sync/mutual_exclusion/locks/shared_lock/cons/defer_lock_pass.cpp : shared_lock__cons__defer_lock_p ] | |
598 | [ thread-run2-noit ./sync/mutual_exclusion/locks/shared_lock/cons/duration_pass.cpp : shared_lock__cons__duration_p ] | |
599 | [ thread-run2-noit ./sync/mutual_exclusion/locks/shared_lock/cons/move_assign_pass.cpp : shared_lock__cons__move_assign_p ] | |
600 | [ thread-run2-noit ./sync/mutual_exclusion/locks/shared_lock/cons/move_ctor_pass.cpp : shared_lock__cons__move_ctor_p ] | |
601 | [ thread-run2-noit ./sync/mutual_exclusion/locks/shared_lock/cons/move_ctor_unique_lock_pass.cpp : sh_lock_cons_move_ctor_unq_lock_p ] | |
602 | [ thread-run2-noit ./sync/mutual_exclusion/locks/shared_lock/cons/move_ctor_upgrade_lock_pass.cpp : sh_lock_cons_move_ctor_upg_lock_p ] | |
603 | [ thread-run2-noit ./sync/mutual_exclusion/locks/shared_lock/cons/mutex_pass.cpp : shared_lock__cons__mutex_p ] | |
604 | [ thread-run2-noit ./sync/mutual_exclusion/locks/shared_lock/cons/time_point_pass.cpp : shared_lock__cons__time_point_p ] | |
605 | [ thread-run2-noit ./sync/mutual_exclusion/locks/shared_lock/cons/try_to_lock_pass.cpp : shared_lock__cons__try_to_lock_p ] | |
606 | [ thread-run2-noit ./sync/mutual_exclusion/locks/shared_lock/locking/lock_pass.cpp : shared_lock__lock_p ] | |
607 | [ thread-run2-noit ./sync/mutual_exclusion/locks/shared_lock/locking/try_lock_for_pass.cpp : shared_lock__try_lock_for_p ] | |
608 | [ thread-run2-noit ./sync/mutual_exclusion/locks/shared_lock/locking/try_lock_pass.cpp : shared_lock__try_lock_p ] | |
609 | [ thread-run2-noit ./sync/mutual_exclusion/locks/shared_lock/locking/try_lock_until_pass.cpp : shared_lock__try_lock_until_p ] | |
610 | [ thread-run2-noit ./sync/mutual_exclusion/locks/shared_lock/locking/unlock_pass.cpp : shared_lock__unlock_p ] | |
611 | [ thread-run2-noit ./sync/mutual_exclusion/locks/shared_lock/mod/member_swap_pass.cpp : shared_lock__member_swap_p ] | |
612 | [ thread-run2-noit ./sync/mutual_exclusion/locks/shared_lock/mod/non_member_swap_pass.cpp : shared_lock__non_member_swap_p ] | |
613 | [ thread-run2-noit ./sync/mutual_exclusion/locks/shared_lock/mod/release_pass.cpp : shared_lock__release_p ] | |
614 | [ thread-run2-noit ./sync/mutual_exclusion/locks/shared_lock/obs/mutex_pass.cpp : shared_lock__mutex_p ] | |
615 | [ thread-run2-noit ./sync/mutual_exclusion/locks/shared_lock/obs/op_bool_pass.cpp : shared_lock__op_bool_p ] | |
616 | [ thread-run2-noit ./sync/mutual_exclusion/locks/shared_lock/obs/owns_lock_pass.cpp : shared_lock__owns_lock_p ] | |
617 | [ thread-run2-noit ./sync/mutual_exclusion/locks/shared_lock/types_pass.cpp : shared_lock__types_p ] | |
618 | ||
619 | #[ thread-run2-h ./sync/mutual_exclusion/locks/shared_lock/cons/default_pass.cpp : shared_lock__cons__default_p ] | |
620 | #[ thread-run2-h ./sync/mutual_exclusion/locks/shared_lock/cons/defer_lock_pass.cpp : shared_lock__cons__defer_lock_p ] | |
621 | ||
622 | ; | |
623 | ||
624 | #explicit ts_upgrade_lock ; | |
625 | test-suite ts_upgrade_lock | |
626 | : | |
627 | [ thread-compile-fail ./sync/mutual_exclusion/locks/upgrade_lock/cons/copy_assign_fail.cpp : : upgrade_lock__cons__copy_assign_f ] | |
628 | [ thread-compile-fail ./sync/mutual_exclusion/locks/upgrade_lock/cons/copy_ctor_fail.cpp : : upgrade_lock__cons__copy_ctor_f ] | |
629 | [ thread-run2-noit ./sync/mutual_exclusion/locks/upgrade_lock/cons/adopt_lock_pass.cpp : upgrade_lock__cons__adopt_lock_p ] | |
630 | [ thread-run2-noit ./sync/mutual_exclusion/locks/upgrade_lock/cons/default_pass.cpp : upgrade_lock__cons__default_p ] | |
631 | [ thread-run2-noit ./sync/mutual_exclusion/locks/upgrade_lock/cons/defer_lock_pass.cpp : upgrade_lock__cons__defer_lock_p ] | |
632 | [ thread-run2-noit ./sync/mutual_exclusion/locks/upgrade_lock/cons/duration_pass.cpp : upgrade_lock__cons__duration_p ] | |
633 | [ thread-run2-noit ./sync/mutual_exclusion/locks/upgrade_lock/cons/move_assign_pass.cpp : upgrade_lock__cons__move_assign_p ] | |
634 | [ thread-run2-noit ./sync/mutual_exclusion/locks/upgrade_lock/cons/move_ctor_pass.cpp : upgrade_lock__cons__move_ctor_p ] | |
635 | [ thread-run2-noit ./sync/mutual_exclusion/locks/upgrade_lock/cons/move_ctor_unique_lock_pass.cpp : upg_lock_cons_mv_ctor_uq_lock_p ] | |
636 | [ thread-run2-noit ./sync/mutual_exclusion/locks/upgrade_lock/cons/mutex_pass.cpp : upgrade_lock__cons__mutex_p ] | |
637 | [ thread-run2-noit ./sync/mutual_exclusion/locks/upgrade_lock/cons/time_point_pass.cpp : upgrade_lock__cons__time_point_p ] | |
638 | [ thread-run2-noit ./sync/mutual_exclusion/locks/upgrade_lock/cons/try_to_lock_pass.cpp : upgrade_lock__cons__try_to_lock_p ] | |
639 | [ thread-run2-noit ./sync/mutual_exclusion/locks/upgrade_lock/locking/lock_pass.cpp : upgrade_lock__lock_p ] | |
640 | [ thread-run2-noit ./sync/mutual_exclusion/locks/upgrade_lock/locking/try_lock_for_pass.cpp : upgrade_lock__try_lock_for_p ] | |
641 | [ thread-run2-noit ./sync/mutual_exclusion/locks/upgrade_lock/locking/try_lock_pass.cpp : upgrade_lock__try_lock_p ] | |
642 | [ thread-run2-noit ./sync/mutual_exclusion/locks/upgrade_lock/locking/try_lock_until_pass.cpp : upgrade_lock__try_lock_until_p ] | |
643 | [ thread-run2-noit ./sync/mutual_exclusion/locks/upgrade_lock/locking/unlock_pass.cpp : upgrade_lock__unlock_p ] | |
644 | [ thread-run2-noit ./sync/mutual_exclusion/locks/upgrade_lock/mod/member_swap_pass.cpp : upgrade_lock__member_swap_p ] | |
645 | [ thread-run2-noit ./sync/mutual_exclusion/locks/upgrade_lock/mod/non_member_swap_pass.cpp : upgrade_lock__non_member_swap_p ] | |
646 | [ thread-run2-noit ./sync/mutual_exclusion/locks/upgrade_lock/mod/release_pass.cpp : upgrade_lock__release_p ] | |
647 | [ thread-run2-noit ./sync/mutual_exclusion/locks/upgrade_lock/obs/mutex_pass.cpp : upgrade_lock__mutex_p ] | |
648 | [ thread-run2-noit ./sync/mutual_exclusion/locks/upgrade_lock/obs/op_bool_pass.cpp : upgrade_lock__op_bool_p ] | |
649 | [ thread-run2-noit ./sync/mutual_exclusion/locks/upgrade_lock/obs/owns_lock_pass.cpp : upgrade_lock__owns_lock_p ] | |
650 | [ thread-run2-noit ./sync/mutual_exclusion/locks/upgrade_lock/types_pass.cpp : upgrade_lock__types_p ] | |
651 | ; | |
652 | ||
653 | #explicit ts_strict_lock ; | |
654 | test-suite ts_strict_lock | |
655 | : | |
656 | [ thread-compile-fail ./sync/mutual_exclusion/locks/strict_lock/copy_assign_fail.cpp : : strict_lock__cons__copy_assign_f ] | |
657 | [ thread-compile-fail ./sync/mutual_exclusion/locks/strict_lock/copy_ctor_fail.cpp : : strict_lock__cons__copy_ctor_f ] | |
658 | [ thread-run2-noit ./sync/mutual_exclusion/locks/strict_lock/default_pass.cpp : strict_lock__cons__default_p ] | |
659 | [ thread-run2-noit ./sync/mutual_exclusion/locks/strict_lock/owns_lock_pass.cpp : strict_lock__owns_lock_p ] | |
660 | [ thread-run2-noit ./sync/mutual_exclusion/locks/strict_lock/types_pass.cpp : strict_lock__types_p ] | |
661 | [ thread-run2-noit ./sync/mutual_exclusion/locks/strict_lock/make_strict_lock_pass.cpp : make_strict_lock_p ] | |
662 | ; | |
663 | ||
664 | #explicit ts_nested_strict_lock ; | |
665 | test-suite ts_nested_strict_lock | |
666 | : | |
667 | [ thread-compile-fail ./sync/mutual_exclusion/locks/nested_strict_lock/copy_assign_fail.cpp : : nested_strict_lock_cons_copy_assign_f ] | |
668 | [ thread-compile-fail ./sync/mutual_exclusion/locks/nested_strict_lock/copy_ctor_fail.cpp : : nested_strict_lock_cons_copy_ctor_f ] | |
669 | [ thread-run2-noit ./sync/mutual_exclusion/locks/nested_strict_lock/default_pass.cpp : nested_strict_lock__cons__default_p ] | |
670 | [ thread-run2-noit ./sync/mutual_exclusion/locks/nested_strict_lock/owns_lock_pass.cpp : nested_strict_lock__owns_lock_p ] | |
671 | [ thread-run2-noit ./sync/mutual_exclusion/locks/nested_strict_lock/types_pass.cpp : nested_strict_lock__types_p ] | |
672 | [ thread-run2-noit ./sync/mutual_exclusion/locks/nested_strict_lock/make_nested_strict_lock_pass.cpp : make_nested_strict_lock_p ] | |
673 | ; | |
674 | ||
675 | ||
676 | #explicit ts_once ; | |
677 | test-suite ts_once | |
678 | : | |
679 | #[ thread-compile-fail ./sync/mutual_exclusion/once/once_flag/assign_fail.cpp : : once_flag__assign_f ] | |
680 | #[ thread-compile-fail ./sync/mutual_exclusion/once/once_flag/copy_fail.cpp : : once_flag__copy_f ] | |
681 | #[ thread-run2-noit ./sync/mutual_exclusion/once/once_flag/default_pass.cpp : once_flag__default_p ] | |
682 | [ thread-run2-noit ./sync/mutual_exclusion/once/call_once/call_once_pass.cpp : call_once_p ] | |
683 | ; | |
684 | ||
685 | #explicit ts_mutex ; | |
686 | test-suite ts_mutex | |
687 | : | |
688 | [ thread-compile-fail ./sync/mutual_exclusion/mutex/assign_fail.cpp : : mutex__assign_f ] | |
689 | [ thread-compile-fail ./sync/mutual_exclusion/mutex/copy_fail.cpp : : mutex__copy_f ] | |
92f5a8d4 TL |
690 | [ thread-safety-compile ./sync/mutual_exclusion/mutex/lock_compile_pass.cpp : : mutex__lock_compile_p ] |
691 | [ thread-safety-compile-fail ./sync/mutual_exclusion/mutex/lock_compile_fail.cpp : : mutex__lock_compile_f ] | |
692 | # https://bugs.llvm.org/show_bug.cgi?id=32954 | |
693 | # http://clang-developers.42468.n3.nabble.com/thread-safety-warnings-specifically-try-acquire-capability-td4059337.html | |
694 | #[ thread-safety-compile ./sync/mutual_exclusion/mutex/try_lock_compile_pass.cpp : : mutex__try_lock_compile_p ] | |
695 | [ thread-safety-compile-fail ./sync/mutual_exclusion/mutex/try_lock_compile_fail.cpp : : mutex__try_lock_compile_f ] | |
7c673cae FG |
696 | [ thread-run2-noit ./sync/mutual_exclusion/mutex/default_pass.cpp : mutex__default_p ] |
697 | [ thread-run2-noit ./sync/mutual_exclusion/mutex/lock_pass.cpp : mutex__lock_p ] | |
698 | [ thread-run2-noit-pthread ./sync/mutual_exclusion/mutex/native_handle_pass.cpp : mutex__native_handle_p ] | |
699 | [ thread-run2-noit ./sync/mutual_exclusion/mutex/try_lock_pass.cpp : mutex__try_lock_p ] | |
700 | ; | |
701 | ||
702 | #explicit ts_recursive_mutex ; | |
703 | test-suite ts_recursive_mutex | |
704 | : | |
705 | [ thread-compile-fail ./sync/mutual_exclusion/recursive_mutex/assign_fail.cpp : : recursive_mutex__assign_f ] | |
706 | [ thread-compile-fail ./sync/mutual_exclusion/recursive_mutex/copy_fail.cpp : : recursive_mutex__copy_f ] | |
707 | [ thread-run2-noit ./sync/mutual_exclusion/recursive_mutex/default_pass.cpp : recursive_mutex__default_p ] | |
708 | [ thread-run2-noit ./sync/mutual_exclusion/recursive_mutex/lock_pass.cpp : recursive_mutex__lock_p ] | |
709 | [ thread-run2-noit-pthread ./sync/mutual_exclusion/recursive_mutex/native_handle_pass.cpp : recursive_mutex__native_handle_p ] | |
710 | [ thread-run2-noit ./sync/mutual_exclusion/recursive_mutex/try_lock_pass.cpp : recursive_mutex__try_lock_p ] | |
711 | ; | |
712 | ||
713 | #explicit ts_recursive_timed_mutex ; | |
714 | test-suite ts_recursive_timed_mutex | |
715 | : | |
716 | [ thread-compile-fail ./sync/mutual_exclusion/recursive_timed_mutex/assign_fail.cpp : : recursive_timed_mutex__assign_f ] | |
717 | [ thread-compile-fail ./sync/mutual_exclusion/recursive_timed_mutex/copy_fail.cpp : : recursive_timed_mutex__copy_f ] | |
718 | [ thread-run2-noit ./sync/mutual_exclusion/recursive_timed_mutex/default_pass.cpp : recursive_timed_mutex__default_p ] | |
719 | [ thread-run2-noit ./sync/mutual_exclusion/recursive_timed_mutex/lock_pass.cpp : recursive_timed_mutex__lock_p ] | |
720 | [ thread-run2-noit-pthread ./sync/mutual_exclusion/recursive_timed_mutex/native_handle_pass.cpp : rec_timed_mutex_native_handle_p ] | |
721 | [ thread-run2-noit ./sync/mutual_exclusion/recursive_timed_mutex/try_lock_for_pass.cpp : rec_timed_mutex_try_lock_for_p ] | |
722 | [ thread-run2-noit ./sync/mutual_exclusion/recursive_timed_mutex/try_lock_pass.cpp : recursive_timed_mutex__try_lock_p ] | |
723 | [ thread-run2-noit ./sync/mutual_exclusion/recursive_timed_mutex/try_lock_until_pass.cpp : rec_timed_mutex_try_lock_until_p ] | |
724 | ; | |
725 | ||
726 | #explicit ts_timed_mutex ; | |
727 | test-suite ts_timed_mutex | |
728 | : | |
729 | [ thread-compile-fail ./sync/mutual_exclusion/timed_mutex/assign_fail.cpp : : timed_mutex__assign_f ] | |
730 | [ thread-compile-fail ./sync/mutual_exclusion/timed_mutex/copy_fail.cpp : : timed_mutex__copy_f ] | |
731 | [ thread-run2-noit ./sync/mutual_exclusion/timed_mutex/default_pass.cpp : timed_mutex__default_p ] | |
732 | [ thread-run2-noit ./sync/mutual_exclusion/timed_mutex/lock_pass.cpp : timed_mutex__lock_p ] | |
733 | [ thread-run2-noit-pthread ./sync/mutual_exclusion/timed_mutex/native_handle_pass.cpp : timed_mutex__native_handle_p ] | |
734 | [ thread-run2-noit ./sync/mutual_exclusion/timed_mutex/try_lock_for_pass.cpp : timed_mutex__try_lock_for_p ] | |
735 | [ thread-run2-noit ./sync/mutual_exclusion/timed_mutex/try_lock_pass.cpp : timed_mutex__try_lock_p ] | |
736 | [ thread-run2-noit ./sync/mutual_exclusion/timed_mutex/try_lock_until_pass.cpp : timed_mutex__try_lock_until_p ] | |
737 | ; | |
738 | ||
739 | #explicit ts_shared_mutex ; | |
740 | test-suite ts_shared_mutex | |
741 | : | |
742 | [ thread-compile-fail ./sync/mutual_exclusion/shared_mutex/assign_fail.cpp : : shared_mutex__assign_f ] | |
743 | [ thread-compile-fail ./sync/mutual_exclusion/shared_mutex/copy_fail.cpp : : shared_mutex__copy_f ] | |
744 | [ thread-run2-noit ./sync/mutual_exclusion/shared_mutex/default_pass.cpp : shared_mutex__default_p ] | |
745 | [ thread-run2-noit ./sync/mutual_exclusion/shared_mutex/lock_pass.cpp : shared_mutex__lock_p ] | |
746 | [ thread-run2-noit ./sync/mutual_exclusion/shared_mutex/try_lock_for_pass.cpp : shared_mutex__try_lock_for_p ] | |
747 | [ thread-run2-noit ./sync/mutual_exclusion/shared_mutex/try_lock_pass.cpp : shared_mutex__try_lock_p ] | |
748 | [ thread-run2-noit ./sync/mutual_exclusion/shared_mutex/try_lock_until_pass.cpp : shared_mutex__try_lock_until_p ] | |
749 | ||
750 | #[ thread-run2-h ./sync/mutual_exclusion/shared_mutex/default_pass.cpp : shared_mutex__default_p ] | |
751 | ; | |
752 | ||
753 | #explicit ts_null_mutex ; | |
754 | test-suite ts_null_mutex | |
755 | : | |
756 | [ thread-compile-fail ./sync/mutual_exclusion/null_mutex/assign_fail.cpp : : null_mutex__assign_f ] | |
757 | [ thread-compile-fail ./sync/mutual_exclusion/null_mutex/copy_fail.cpp : : null_mutex__copy_f ] | |
758 | [ thread-run2-noit ./sync/mutual_exclusion/null_mutex/default_pass.cpp : null_mutex__default_p ] | |
759 | [ thread-run2-noit ./sync/mutual_exclusion/null_mutex/lock_pass.cpp : null_mutex__lock_p ] | |
760 | [ thread-run2-noit ./sync/mutual_exclusion/null_mutex/try_lock_for_pass.cpp : null_mutex__try_lock_for_p ] | |
761 | [ thread-run2-noit ./sync/mutual_exclusion/null_mutex/try_lock_pass.cpp : null_mutex__try_lock_p ] | |
762 | [ thread-run2-noit ./sync/mutual_exclusion/null_mutex/try_lock_until_pass.cpp : null_mutex__try_lock_until_p ] | |
763 | ; | |
764 | ||
765 | test-suite ts_sync_queue | |
766 | : | |
767 | [ thread-run2-noit ./sync/mutual_exclusion/sync_queue/single_thread_pass.cpp : sync_queue__single_thread_p ] | |
768 | [ thread-run2-noit ./sync/mutual_exclusion/sync_queue/multi_thread_pass.cpp : sync_queue__multi_thread_p ] | |
769 | ; | |
770 | ||
771 | test-suite ts_sync_deque | |
772 | : | |
773 | [ thread-run2-noit ./sync/mutual_exclusion/sync_deque/single_thread_pass.cpp : sync_deque__single_thread_p ] | |
774 | [ thread-run2-noit ./sync/mutual_exclusion/sync_deque/multi_thread_pass.cpp : sync_deque__multi_thread_p ] | |
775 | ; | |
776 | ||
777 | test-suite ts_sync_bounded_queue | |
778 | : | |
779 | [ thread-run2-noit ./sync/mutual_exclusion/sync_bounded_queue/single_thread_pass.cpp : sync_bounded_q_single_thread_p ] | |
780 | [ thread-run2-noit ./sync/mutual_exclusion/sync_bounded_queue/multi_thread_pass.cpp : sync_bounded_q_multi_thread_p ] | |
781 | ; | |
782 | ||
783 | test-suite ts_sync_pq | |
784 | : | |
785 | [ thread-run2-noit ./sync/mutual_exclusion/sync_pq/pq_single_thread_pass.cpp : sync_pq_single_thread_p ] | |
786 | [ thread-run2-noit ./sync/mutual_exclusion/sync_pq/pq_multi_thread_pass.cpp : sync_pq_multi_thread_p ] | |
787 | ; | |
788 | ||
789 | test-suite ts_sync_tq | |
790 | : | |
791 | [ thread-run2-noit ./sync/mutual_exclusion/sync_pq/tq_single_thread_pass.cpp : sync_tq_single_thread_p ] | |
92f5a8d4 | 792 | [ thread-run2-noit ./sync/mutual_exclusion/sync_pq/tq_multi_thread_pass.cpp : sync_tq_multi_thread_p ] |
7c673cae FG |
793 | ; |
794 | ||
795 | test-suite ts_scheduler | |
796 | : | |
797 | [ thread-run2-noit ./test_scheduled_tp.cpp : test_scheduled_tp_p ] | |
798 | [ thread-run2-noit ./test_scheduling_adaptor.cpp : test_scheduling_adaptor_p ] | |
799 | [ thread-run2-noit ./test_scheduler.cpp : test_scheduler_p ] | |
800 | ; | |
801 | ||
802 | test-suite ts_queue_views | |
803 | : | |
804 | [ thread-run2-noit ./sync/mutual_exclusion/queue_views/single_thread_pass.cpp : queue_views__single_thread_p ] | |
805 | #[ thread-run2-noit ./sync/mutual_exclusion/queue_views/multi_thread_pass.cpp : queue_views__multi_thread_p ] | |
806 | ; | |
807 | ||
808 | test-suite ts_deque_views | |
809 | : | |
810 | [ thread-run2-noit ./sync/mutual_exclusion/deque_views/single_thread_pass.cpp : deque_views__single_thread_p ] | |
811 | #[ thread-run2-noit ./sync/mutual_exclusion/deque_views/multi_thread_pass.cpp : deque_views__multi_thread_p ] | |
812 | ; | |
813 | ||
814 | #explicit ts_this_thread ; | |
815 | test-suite ts_this_thread | |
816 | : | |
817 | [ thread-run2-noit ./threads/this_thread/get_id/get_id_pass.cpp : this_thread__get_id_p ] | |
818 | [ thread-run2-noit ./threads/this_thread/sleep_for/sleep_for_pass.cpp : this_thread__sleep_for_p ] | |
819 | [ thread-run2-noit ./threads/this_thread/sleep_until/sleep_until_pass.cpp : this_thread__sleep_until_p ] | |
820 | ; | |
821 | ||
822 | #explicit ts_thread ; | |
823 | test-suite ts_thread | |
824 | : | |
825 | [ thread-compile-fail ./threads/thread/assign/copy_fail.cpp : : thread__assign__copy_f ] | |
826 | [ thread-run2-noit ./threads/thread/assign/move_pass.cpp : thread__assign__move_p ] | |
827 | [ thread-compile-fail ./threads/thread/constr/copy_fail.cpp : : thread__constr__copy_f ] | |
828 | [ thread-run2-noit ./threads/thread/constr/default_pass.cpp : thread__constr__default_p ] | |
829 | [ thread-run-lib2 ./threads/thread/constr/lambda_pass.cpp : thread__constr__lambda_p ] | |
830 | [ thread-run-lib2 ./threads/thread/constr/F_pass.cpp : thread__constr__F_p ] | |
831 | [ thread-run-lib2 ./threads/thread/constr/FArgs_pass.cpp : thread__constr__FArgs_p ] | |
832 | [ thread-run2-noit ./threads/thread/constr/Frvalue_pass.cpp : thread__constr__Frvalue_p ] | |
833 | [ thread-run2-noit ./threads/thread/constr/FrvalueArgs_pass.cpp : thread__constr__FrvalueArgs_p ] | |
834 | [ thread-run2-noit ./threads/thread/constr/move_pass.cpp : thread__constr__move_p ] | |
835 | [ thread-run2-noit ./threads/thread/destr/dtor_pass.cpp : thread__destr__dtor_p ] | |
836 | [ thread-run2-noit ./threads/thread/id/hash_pass.cpp : thread__id__hash_p ] | |
837 | [ thread-run2-noit ./threads/thread/members/detach_pass.cpp : thread__detach_p ] | |
838 | [ thread-run2-noit ./threads/thread/members/get_id_pass.cpp : thread__get_id_p ] | |
839 | [ thread-run2-noit ./threads/thread/members/join_pass.cpp : thread__join_p ] | |
840 | [ thread-run2-noit ./threads/thread/members/try_join_until_pass.cpp : thread__join_until_p ] | |
841 | [ thread-run2-noit ./threads/thread/members/try_join_for_pass.cpp : thread__join_for_p ] | |
842 | [ thread-run2-noit ./threads/thread/members/joinable_pass.cpp : thread__joinable_p ] | |
843 | [ thread-run2-noit ./threads/thread/members/native_handle_pass.cpp : thread__native_handle_p ] | |
844 | [ thread-run2-noit ./threads/thread/members/swap_pass.cpp : thread__swap_p ] | |
845 | [ thread-run2-noit ./threads/thread/non_members/swap_pass.cpp : swap_threads_p ] | |
846 | [ thread-run2-noit ./threads/thread/static/hardware_concurrency_pass.cpp : thread__hardware_concurrency_p ] | |
847 | ; | |
848 | ||
849 | #explicit ts_container ; | |
850 | test-suite ts_container | |
851 | : | |
852 | [ thread-run2-noit ./threads/container/thread_vector_pass.cpp : container__thread_vector_p ] | |
853 | [ thread-run2-noit ./threads/container/thread_ptr_list_pass.cpp : container__thread_ptr_list_p ] | |
854 | ; | |
855 | ||
92f5a8d4 TL |
856 | explicit ts_examples_too_long ; |
857 | test-suite ts_examples_too_long | |
858 | : | |
859 | [ thread-run2 ../example/shared_mutex.cpp : ex_shared_mutex ] | |
860 | ; | |
861 | ||
7c673cae FG |
862 | #explicit ts_examples ; |
863 | test-suite ts_examples | |
864 | : | |
865 | [ thread-run2-noit ../example/monitor.cpp : ex_monitor ] | |
866 | [ thread-compile ../example/starvephil.cpp : : ex_starvephil ] | |
867 | [ thread-run2 ../example/tennis.cpp : ex_tennis ] | |
868 | [ thread-compile ../example/condition.cpp : : ex_condition ] | |
869 | [ thread-run2-noit ../example/mutex.cpp : ex_mutex ] | |
870 | [ thread-run2-noit ../example/once.cpp : ex_once ] | |
871 | [ thread-run2-noit ../example/recursive_mutex.cpp : ex_recursive_mutex ] | |
872 | [ thread-run2-noit ../example/thread.cpp : ex_thread ] | |
873 | [ thread-run2-noit ../example/thread_group.cpp : ex_thread_group ] | |
874 | [ thread-run2-noit ../example/tss.cpp : ex_tss ] | |
875 | [ thread-run2 ../example/xtime.cpp : ex_xtime ] | |
876 | [ thread-run2 ../example/shared_monitor.cpp : ex_shared_monitor ] | |
7c673cae FG |
877 | #[ thread-run ../example/vhh_shared_monitor.cpp ] |
878 | #[ thread-run ../example/vhh_shared_mutex.cpp ] | |
879 | [ thread-run2 ../example/make_future.cpp : ex_make_future ] | |
880 | [ thread-run2 ../example/future_then.cpp : ex_future_then ] | |
881 | [ thread-run2 ../example/future_fallback_to.cpp : ex_future_fallback_to ] | |
882 | [ thread-run2 ../example/future_unwrap.cpp : ex_future_unwrap ] | |
883 | [ thread-run2-noit ../example/synchronized_value.cpp : ex_synchronized_value ] | |
884 | [ thread-run2-noit ../example/synchronized_person.cpp : ex_synchronized_person ] | |
885 | [ thread-run2-noit ../example/thread_guard.cpp : ex_thread_guard ] | |
b32b8144 | 886 | [ thread-run2-noit ../example/std_thread_guard.cpp : ex_std_thread_guard : <toolset>gcc-4.8:<build>no ] |
7c673cae | 887 | [ thread-run2-noit ../example/scoped_thread.cpp : ex_scoped_thread ] |
b32b8144 | 888 | [ thread-run2-noit ../example/std_scoped_thread.cpp : ex_std_scoped_thread : <toolset>gcc-4.8:<build>no ] |
7c673cae FG |
889 | [ thread-run2-noit ../example/strict_lock.cpp : ex_strict_lock ] |
890 | [ thread-run2-noit ../example/ba_externallly_locked.cpp : ex_ba_externallly_locked ] | |
891 | [ thread-run2 ../example/producer_consumer_bounded.cpp : ex_producer_consumer_bounded ] | |
892 | [ thread-run2 ../example/producer_consumer.cpp : ex_producer_consumer ] | |
893 | [ thread-run2 ../example/producer_consumer2.cpp : ex_producer_consumer2 ] | |
894 | [ thread-run2 ../example/not_interleaved.cpp : ex_not_interleaved ] | |
895 | [ thread-run2 ../example/lambda_future.cpp : ex_lambda_future ] | |
896 | [ thread-run2 ../example/not_interleaved2.cpp : ex_not_interleaved2 ] | |
897 | [ thread-run2 ../example/thread_pool.cpp : ex_thread_pool ] | |
898 | [ thread-run2 ../example/user_scheduler.cpp : ex_user_scheduler ] | |
899 | [ thread-run2 ../example/executor.cpp : ex_executor ] | |
900 | [ thread-run2 ../example/generic_executor_ref.cpp : ex_generic_executor_ref ] | |
901 | [ thread-run2 ../example/serial_executor.cpp : ex_serial_executor ] | |
902 | #[ thread-run2 ../example/serial_executor_cont.cpp : ex_serial_executor_cont ] | |
903 | [ thread-run2 ../example/future_when_all.cpp : ex_future_when_all ] | |
904 | [ thread-run2 ../example/parallel_accumulate.cpp : ex_parallel_accumulate ] | |
905 | [ thread-run2 ../example/parallel_quick_sort.cpp : ex_parallel_quick_sort ] | |
906 | [ thread-run2 ../example/with_lock_guard.cpp : ex_with_lock_guard ] | |
907 | [ thread-run2 ../example/fib_task_region.cpp : ex_fib_task_region ] | |
908 | ; | |
909 | ||
910 | #explicit ts_shared_upwards ; | |
911 | test-suite ts_shared_upwards | |
912 | : | |
913 | [ thread-run2-noit ./sync/mutual_exclusion/locks/unique_lock/cons/move_ctor_shared_lock_try_pass.cpp : uq_lock_cons_mv_ctor_sh_lock_try_p ] | |
914 | [ thread-run2-noit ./sync/mutual_exclusion/locks/unique_lock/cons/move_ctor_shared_lock_for_pass.cpp : uq_lock_cons_mv_ctor_sh_lock_for_p ] | |
915 | [ thread-run2-noit ./sync/mutual_exclusion/locks/unique_lock/cons/move_ctor_shared_lock_until_pass.cpp : uq_lock_cons_mv_ctor_sh_lock_until_p ] | |
916 | ||
917 | [ thread-run2-noit ./sync/mutual_exclusion/locks/upgrade_lock/cons/move_ctor_shared_lock_try_pass.cpp : upg_lock_cons_move_ctor_sh_lock_try_p ] | |
918 | [ thread-run2-noit ./sync/mutual_exclusion/locks/upgrade_lock/cons/move_ctor_shared_lock_for_pass.cpp : upg_lock_cons_move_ctor_sh_lock_for_p ] | |
919 | [ thread-run2-noit ./sync/mutual_exclusion/locks/upgrade_lock/cons/move_ctor_shared_lock_until_pass.cpp : upg_lock_cons_move_ctor_sh_lock_untl_p ] | |
920 | ; | |
921 | ||
922 | ||
923 | #explicit ts_shared_lock_guard ; | |
924 | test-suite ts_shared_lock_guard | |
925 | : | |
926 | [ thread-compile-fail ./sync/mutual_exclusion/locks/shared_lock_guard/copy_assign_fail.cpp : : shared_lock_guard__cons__copy_assign_f ] | |
927 | [ thread-compile-fail ./sync/mutual_exclusion/locks/shared_lock_guard/copy_ctor_fail.cpp : : shared_lock_guard__cons__copy_ctor_f ] | |
928 | [ thread-run2-noit ./sync/mutual_exclusion/locks/shared_lock_guard/adopt_lock_pass.cpp : shared_lock_guard__cons__adopt_lock_p ] | |
929 | [ thread-run2-noit ./sync/mutual_exclusion/locks/shared_lock_guard/default_pass.cpp : shared_lock_guard__cons__default_p ] | |
930 | [ thread-run2-noit ./sync/mutual_exclusion/locks/shared_lock_guard/types_pass.cpp : shared_lock_guard__types_p ] | |
931 | ; | |
932 | ||
933 | #explicit ts_reverse_lock ; | |
934 | test-suite ts_reverse_lock | |
935 | : | |
936 | [ thread-compile-fail ./sync/mutual_exclusion/locks/reverse_lock/copy_assign_fail.cpp : : reverse_lock__copy_assign_f ] | |
937 | [ thread-compile-fail ./sync/mutual_exclusion/locks/reverse_lock/copy_ctor_fail.cpp : : reverse_lock__copy_ctor_f ] | |
938 | [ thread-run2-noit ./sync/mutual_exclusion/locks/reverse_lock/unique_lock_ctor_pass.cpp : reverse_lock__unique_lock_ctor_p ] | |
939 | [ thread-run2-noit ./sync/mutual_exclusion/locks/reverse_lock/types_pass.cpp : reverse_lock__types_p ] | |
940 | ; | |
941 | ||
942 | ||
943 | #explicit ts_synchronized_value ; | |
944 | test-suite ts_synchronized_value | |
945 | : | |
946 | [ thread-run2-noit ./sync/mutual_exclusion/synchronized_value/copy_assign_pass.cpp : synchronized_value__copy_assign_p ] | |
947 | [ thread-run2-noit ./sync/mutual_exclusion/synchronized_value/copy_ctor_pass.cpp : synchronized_value__copy_ctor_p ] | |
948 | [ thread-run2-noit ./sync/mutual_exclusion/synchronized_value/copy_T_assign_pass.cpp : synchronized_value__copy_T_assign_p ] | |
949 | [ thread-run2-noit ./sync/mutual_exclusion/synchronized_value/copy_T_ctor_pass.cpp : synchronized_value__copy_T_ctor_p ] | |
950 | [ thread-run2-noit ./sync/mutual_exclusion/synchronized_value/default_ctor_pass.cpp : synchronized_value__default_ctor_p ] | |
951 | [ thread-run2-noit ./sync/mutual_exclusion/synchronized_value/indirect_pass.cpp : synchronized_value__indirect_p ] | |
952 | [ thread-run2-noit ./sync/mutual_exclusion/synchronized_value/move_assign_pass.cpp : synchronized_value__move_assign_p ] | |
953 | [ thread-run2-noit ./sync/mutual_exclusion/synchronized_value/move_ctor_pass.cpp : synchronized_value__move_ctor_p ] | |
954 | [ thread-run2-noit ./sync/mutual_exclusion/synchronized_value/move_T_assign_pass.cpp : synchronized_value__move_T_assign_p ] | |
955 | [ thread-run2-noit ./sync/mutual_exclusion/synchronized_value/move_T_ctor_pass.cpp : synchronized_value__move_T_ctor_p ] | |
956 | [ thread-run2-noit ./sync/mutual_exclusion/synchronized_value/swap_pass.cpp : synchronized_value__swap_p ] | |
957 | [ thread-run2-noit ./sync/mutual_exclusion/synchronized_value/swap_T_pass.cpp : synchronized_value__swap_T_p ] | |
958 | [ thread-run2-noit ./sync/mutual_exclusion/synchronized_value/synchronize_pass.cpp : synchronized_value__synchronize_p ] | |
959 | [ thread-run2-noit ./sync/mutual_exclusion/synchronized_value/call_pass.cpp : synchronized_value__call_p ] | |
960 | ||
961 | ; | |
962 | ||
963 | ||
964 | test-suite ts_with_lock_guard | |
965 | : | |
966 | [ thread-run2-noit ./sync/mutual_exclusion/with_lock_guard/with_lock_guard_simple.cpp : with_lock_guard_simple_p ] | |
967 | [ thread-run2-noit ./sync/mutual_exclusion/with_lock_guard/with_lock_guard_bind.cpp : with_lock_guard_bind_p ] | |
968 | [ thread-run2-noit ./sync/mutual_exclusion/with_lock_guard/with_lock_guard_move.cpp : with_lock_guard_move_p ] | |
969 | [ thread-run2-noit ./sync/mutual_exclusion/with_lock_guard/with_lock_guard_lambda.cpp : with_lock_guard_lambda_p ] | |
970 | ; | |
971 | ||
972 | explicit ts_invoke ; | |
973 | test-suite ts_invoke | |
974 | : | |
975 | [ thread-run2-noit ./functional/invoke/invoke_int_0_pass.cpp : invoke_int_0_p ] | |
976 | [ thread-run2-noit ./functional/invoke/invoke_lvalue_pass.cpp : invoke_lvalue_p ] | |
977 | [ thread-run2-noit ./functional/invoke/invoke_rvalue_pass.cpp : invoke_rvalue_p ] | |
978 | ; | |
979 | ||
980 | explicit ts_invoker ; | |
981 | test-suite ts_invoker | |
982 | : | |
983 | [ thread-run2-noit ./functional/invoker/invoker_int_0_pass.cpp : invoker_int_0_p ] | |
984 | [ thread-run2-noit ./functional/invoker/invoker_lvalue_pass.cpp : invoker_lvalue_p ] | |
985 | [ thread-run2-noit ./functional/invoker/invoker_rvalue_pass.cpp : invoker_rvalue_p ] | |
986 | ; | |
987 | ||
988 | ||
989 | ||
990 | explicit ts_more ; | |
991 | test-suite ts_more | |
992 | : | |
993 | [ thread-run test_7666.cpp ] | |
994 | [ thread-run test_7720.cpp ] | |
995 | [ thread-run test_7755.cpp ] | |
996 | [ thread-run test_8455.cpp ] | |
997 | [ thread-run test_8508.cpp ] | |
998 | #[ thread-run test_8557.cpp ] | |
999 | [ thread-run test_8586.cpp ] | |
1000 | [ thread-run test_8943.cpp ] | |
1001 | [ thread-run test_8960.cpp ] | |
1002 | [ thread-run test_9079_a.cpp ] | |
1003 | [ thread-run test_9079_b.cpp ] | |
1004 | [ thread-run test_9192.cpp ] | |
1005 | #[ thread-run test_9303.cpp ] | |
1006 | #[ thread-run test_9720.cpp ] | |
1007 | #[ thread-run test_10125.cpp ] | |
1008 | #[ thread-run test_10128.cpp ] | |
1009 | #[ thread-run test_10340.cpp ] | |
1010 | ; | |
1011 | ||
1012 | explicit ts_more_cpp11 ; | |
1013 | test-suite ts_more_cpp11 | |
1014 | : | |
1015 | [ thread-run test_8596.cpp ] | |
1016 | [ thread-run test_8600.cpp ] | |
1017 | ; | |
1018 | ||
1019 | explicit perf ; | |
1020 | test-suite perf | |
1021 | : | |
1022 | #[ thread-run ../example/perf_condition_variable.cpp ] | |
1023 | #[ thread-run ../example/perf_shared_mutex.cpp ] | |
1024 | ; | |
1025 | ||
1026 | ||
1027 | #explicit ts_exception_list ; | |
1028 | test-suite ts_exception_list | |
1029 | : | |
1030 | [ thread-run2-noit ./experimental/parallel/v1/exception_list_pass.cpp : exception_list_p ] | |
1031 | ; | |
1032 | ||
1033 | #explicit ts_task_region ; | |
1034 | test-suite ts_task_region | |
1035 | : | |
1036 | [ thread-run2-noit ./experimental/parallel/v2/task_region_pass.cpp : task_region_p ] | |
1037 | ; | |
1038 | ||
1039 | explicit ts_other ; | |
1040 | test-suite ts_other | |
1041 | : | |
1042 | [ thread-run2 ../example/this_executor.cpp : ex_this_executor ] | |
1043 | [ thread-run2 ../example/default_executor.cpp : ex_default_executor ] | |
1044 | ; | |
1045 | ||
1046 | explicit ts_ ; | |
1047 | test-suite ts_ | |
1048 | : | |
1049 | #[ thread-run test_11256.cpp ] | |
1050 | #[ thread-run test_11256.cpp ] | |
1051 | #[ thread-run test_11499.cpp ] | |
1052 | #[ thread-run test_11611.cpp ] | |
1053 | #[ thread-run test_11818.cpp ] | |
1054 | #[ thread-run test_11796.cpp ] | |
b32b8144 | 1055 | #[ thread-run test_12293.cpp ] |
92f5a8d4 TL |
1056 | #[ thread-run test_12949.cpp ] |
1057 | #[ thread-run test_13480b.cpp ] | |
1058 | [ thread-run test_13561.cpp ] | |
7c673cae FG |
1059 | |
1060 | ; | |
1061 | ||
11fdf7f2 TL |
1062 | explicit test_time_jumps_1_obj ; |
1063 | obj test_time_jumps_1_obj : test_time_jumps.cpp : | |
1064 | # BOOST_THREAD_USES_MOVE is required to prevent ambiguity between the two definitions | |
1065 | # of boost::move when using sync_priority_queue/sync_timed_queue with POD data types. | |
1066 | <define>BOOST_THREAD_USES_MOVE | |
1067 | <define>BOOST_THREAD_PROVIDES_FUTURE | |
1068 | ; | |
1069 | ||
1070 | explicit test_time_jumps_2_obj ; | |
1071 | obj test_time_jumps_2_obj : test_time_jumps.cpp : | |
1072 | # BOOST_THREAD_USES_MOVE is required to prevent ambiguity between the two definitions | |
1073 | # of boost::move when using sync_priority_queue/sync_timed_queue with POD data types. | |
1074 | <define>BOOST_THREAD_USES_MOVE | |
1075 | <define>BOOST_THREAD_PROVIDES_FUTURE | |
1076 | <define>BOOST_THREAD_PROVIDES_SHARED_MUTEX_UPWARDS_CONVERSIONS | |
1077 | ; | |
1078 | ||
1079 | explicit test_time_jumps_3_obj ; | |
1080 | obj test_time_jumps_3_obj : test_time_jumps.cpp : | |
1081 | # BOOST_THREAD_USES_MOVE is required to prevent ambiguity between the two definitions | |
1082 | # of boost::move when using sync_priority_queue/sync_timed_queue with POD data types. | |
1083 | <define>BOOST_THREAD_USES_MOVE | |
1084 | <define>BOOST_THREAD_PROVIDES_FUTURE | |
1085 | <define>BOOST_THREAD_PROVIDES_SHARED_MUTEX_UPWARDS_CONVERSIONS | |
1086 | <define>BOOST_THREAD_V2_SHARED_MUTEX | |
1087 | ; | |
1088 | ||
1089 | explicit test_time_jumps ; | |
1090 | test-suite test_time_jumps | |
1091 | : | |
1092 | [ exe test_time_jumps_1 : test_time_jumps_1_obj ../build//boost_thread ] | |
1093 | [ exe test_time_jumps_2 : test_time_jumps_2_obj ../build//boost_thread ] | |
1094 | [ exe test_time_jumps_3 : test_time_jumps_3_obj ../build//boost_thread ] | |
1095 | ; | |
7c673cae | 1096 | |
92f5a8d4 | 1097 | test-suite test_self_contained_headers : [ generate_self_contained_header_tests ] ; |
7c673cae | 1098 | } |