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