1# Boost.SmartPtr Library test Jamfile 2# 3# Copyright (c) 2003-2018 Peter Dimov 4# Copyright (c) 2003 Dave Abrahams 5# 6# Distributed under the Boost Software License, Version 1.0. (See 7# accompanying file LICENSE_1_0.txt or copy at 8# http://www.boost.org/LICENSE_1_0.txt) 9 10import testing ; 11 12project 13 : requirements 14 <toolset>gcc:<cxxflags>-Wno-non-virtual-dtor 15 <toolset>gcc:<cxxflags>-Wno-deprecated-declarations 16 #<toolset>gcc:<cxxflags>-Wno-delete-non-virtual-dtor (not in 4.4/4.6) 17 ; 18 19# quick test (for CI) 20run quick.cpp ; 21 22# full test suite 23run smart_ptr_test.cpp ; 24run shared_ptr_basic_test.cpp ; 25run shared_ptr_test.cpp ; 26run weak_ptr_test.cpp ; 27run weak_ptr_move_test.cpp ; 28run shared_from_this_test.cpp ; 29run get_deleter_test.cpp ; 30run intrusive_ptr_test.cpp ; 31run intrusive_ptr_move_test.cpp ; 32run intrusive_ref_counter_test.cpp ; 33run atomic_count_test.cpp ; 34run lw_mutex_test.cpp ; 35run lw_mutex_test.cpp : : : <define>BOOST_USE_WINDOWS_H : lw_mutex_test.win_h ; 36compile-fail shared_ptr_assign_fail.cpp ; 37compile-fail shared_ptr_delete_fail.cpp ; 38compile-fail shared_ptr_compare_fail.cpp ; 39run shared_ptr_alloc2_test.cpp ; 40run pointer_cast_test.cpp ; 41run cpp11_pointer_cast_test.cpp ; 42compile pointer_to_other_test.cpp ; 43run auto_ptr_rv_test.cpp ; 44run shared_ptr_alias_test.cpp ; 45run shared_ptr_rv_test.cpp ; 46run shared_ptr_rv_pointer_cast_test.cpp ; 47run shared_ptr_move_test.cpp ; 48run shared_ptr_alias_move_test.cpp ; 49run shared_ptr_reinterpret_pointer_cast_test.cpp ; 50compile-fail shared_ptr_pv_fail.cpp ; 51run sp_unary_addr_test.cpp ; 52compile-fail scoped_ptr_eq_fail.cpp ; 53compile-fail scoped_array_eq_fail.cpp ; 54run esft_regtest.cpp ; 55run yield_k_test.cpp ; 56run yield_k_test.cpp : : : <threading>multi : yield_k_test.mt ; 57run spinlock_test.cpp ; 58run spinlock_try_test.cpp ; 59run spinlock_try_test.cpp : : : <threading>multi : spinlock_try_test.mt ; 60run spinlock_pool_test.cpp 61 : : : 62 # msvc-8.0, 9.0 optimizer codegen bug for `x % 41` 63 <toolset>msvc-8.0,<variant>release:<build>no 64 <toolset>msvc-9.0,<variant>release:<build>no ; 65 66run make_shared_test.cpp ; 67run make_shared_move_emulation_test.cpp ; 68run make_shared_perfect_forwarding_test.cpp ; 69run shared_ptr_convertible_test.cpp ; 70run wp_convertible_test.cpp ; 71run ip_convertible_test.cpp ; 72run allocate_shared_test.cpp ; 73run sp_atomic_test.cpp ; 74run esft_void_test.cpp ; 75run esft_second_ptr_test.cpp ; 76run make_shared_esft_test.cpp ; 77run allocate_shared_esft_test.cpp ; 78run sp_recursive_assign_test.cpp ; 79run sp_recursive_assign2_test.cpp ; 80run sp_recursive_assign_rv_test.cpp ; 81run sp_recursive_assign2_rv_test.cpp ; 82 83compile-fail auto_ptr_lv_fail.cpp 84 : <toolset>gcc-4.4.7:<build>no ; 85 86run atomic_count_test2.cpp ; 87run sp_typeinfo_test.cpp ; 88compile make_shared_fp_test.cpp ; 89run sp_hash_test.cpp ; 90run get_deleter_array_test.cpp ; 91run ip_hash_test.cpp ; 92run owner_less_test.cpp ; 93run sp_unique_ptr_test.cpp ; 94run sp_array_test.cpp ; 95compile sp_array_cv_test.cpp ; 96run sp_convertible_test.cpp ; 97run sp_array_n_test.cpp ; 98run sp_array_cast_test.cpp ; 99run sp_zero_compare_test.cpp ; 100run sp_nullptr_test.cpp ; 101run sa_nullptr_test.cpp ; 102run shared_ptr_alloc3_test.cpp ; 103run shared_ptr_alloc11_test.cpp ; 104run shared_ptr_alloc_construct11_test.cpp ; 105run allocate_shared_alloc11_test.cpp ; 106run allocate_shared_construct11_test.cpp ; 107run sp_interlocked_test.cpp ; 108 109compile-fail array_fail_spa_sp_c.cpp ; 110compile-fail array_fail_sp_spa_c.cpp ; 111compile-fail array_fail_spa_spa_c.cpp ; 112compile-fail array_fail_spa_wp_c.cpp ; 113compile-fail array_fail_sp_wpa_c.cpp ; 114compile-fail array_fail_spa_wpa_c.cpp ; 115compile-fail array_fail_wpa_wp_c.cpp ; 116compile-fail array_fail_wp_wpa_c.cpp ; 117compile-fail array_fail_wpa_wpa_c.cpp ; 118compile-fail array_fail_ap_spa_c.cpp ; 119compile-fail array_fail_upa_sp_c.cpp ; 120compile-fail array_fail_up_spa_c.cpp ; 121 122compile-fail array_fail_spa_sp_mc.cpp ; 123compile-fail array_fail_sp_spa_mc.cpp ; 124compile-fail array_fail_spa_spa_mc.cpp ; 125compile-fail array_fail_spa_wp_mc.cpp ; 126compile-fail array_fail_sp_wpa_mc.cpp ; 127compile-fail array_fail_spa_wpa_mc.cpp ; 128compile-fail array_fail_wpa_wp_mc.cpp ; 129compile-fail array_fail_wp_wpa_mc.cpp ; 130compile-fail array_fail_wpa_wpa_mc.cpp ; 131compile-fail array_fail_ap_spa_mc.cpp ; 132compile-fail array_fail_upa_sp_mc.cpp ; 133compile-fail array_fail_up_spa_mc.cpp ; 134 135compile-fail array_fail_spa_sp_a.cpp ; 136compile-fail array_fail_sp_spa_a.cpp ; 137compile-fail array_fail_spa_spa_a.cpp ; 138compile-fail array_fail_spa_wp_a.cpp ; 139compile-fail array_fail_sp_wpa_a.cpp ; 140compile-fail array_fail_spa_wpa_a.cpp ; 141compile-fail array_fail_wpa_wp_a.cpp ; 142compile-fail array_fail_wp_wpa_a.cpp ; 143compile-fail array_fail_wpa_wpa_a.cpp ; 144compile-fail array_fail_ap_spa_a.cpp ; 145compile-fail array_fail_upa_sp_a.cpp ; 146compile-fail array_fail_up_spa_a.cpp ; 147 148compile-fail array_fail_spa_sp_ma.cpp ; 149compile-fail array_fail_sp_spa_ma.cpp ; 150compile-fail array_fail_spa_spa_ma.cpp ; 151compile-fail array_fail_spa_wp_ma.cpp ; 152compile-fail array_fail_sp_wpa_ma.cpp ; 153compile-fail array_fail_spa_wpa_ma.cpp ; 154compile-fail array_fail_wpa_wp_ma.cpp ; 155compile-fail array_fail_wp_wpa_ma.cpp ; 156compile-fail array_fail_wpa_wpa_ma.cpp ; 157compile-fail array_fail_ap_spa_ma.cpp ; 158compile-fail array_fail_upa_sp_ma.cpp ; 159compile-fail array_fail_up_spa_ma.cpp ; 160 161compile-fail array_fail_dereference.cpp ; 162compile-fail array_fail_member_access.cpp ; 163compile-fail array_fail_array_access.cpp ; 164 165run make_shared_array_test.cpp 166 : : : <toolset>msvc-8.0:<build>no ; 167run make_shared_arrays_test.cpp ; 168run make_shared_array_throws_test.cpp 169 : : : <toolset>msvc-8.0:<build>no ; 170run make_shared_array_esft_test.cpp 171 : : : <toolset>msvc-8.0:<build>no ; 172run make_shared_array_noinit_test.cpp 173 : : : <toolset>msvc-8.0:<build>no ; 174run make_shared_array_value_test.cpp 175 : : : <toolset>msvc-8.0:<build>no ; 176run allocate_shared_array_test.cpp ; 177run allocate_shared_arrays_test.cpp ; 178run allocate_shared_array_throws_test.cpp 179 : : : <toolset>msvc-8.0:<build>no ; 180run allocate_shared_array_esft_test.cpp 181 : : : <toolset>msvc-8.0:<build>no ; 182run allocate_shared_array_noinit_test.cpp 183 : : : <toolset>msvc-8.0:<build>no ; 184run allocate_shared_array_value_test.cpp 185 : : : <toolset>msvc-8.0:<build>no ; 186run allocate_shared_array_construct_test.cpp ; 187 188run make_unique_test.cpp ; 189run make_unique_args_test.cpp ; 190run make_unique_value_test.cpp 191 : : : <toolset>gcc-4.6:<cxxflags>-fno-deduce-init-list ; 192run make_unique_noinit_test.cpp ; 193run make_unique_throws_test.cpp ; 194run make_unique_array_test.cpp ; 195run make_unique_array_noinit_test.cpp ; 196run make_unique_array_throws_test.cpp ; 197 198run shared_from_raw_test.cpp ; 199run shared_from_raw_test2.cpp ; 200run shared_from_raw_test3.cpp ; 201run shared_from_raw_test4.cpp ; 202run shared_from_raw_test5.cpp ; 203run shared_from_raw_test6.cpp ; 204 205run weak_from_raw_test.cpp ; 206run weak_from_raw_test2.cpp ; 207run weak_from_raw_test3.cpp ; 208run weak_from_raw_test4.cpp ; 209run weak_from_raw_test5.cpp ; 210 211compile sp_explicit_inst_test.cpp ; 212 213run weak_from_this_test.cpp ; 214run weak_from_this_test2.cpp ; 215 216run sp_bml_unique_ptr_test.cpp ; 217 218run sp_hash_test2.cpp ; 219run sp_hash_test3.cpp ; 220 221run pointer_cast_test2.cpp ; 222 223compile-fail pointer_cast_st_fail.cpp ; 224compile-fail pointer_cast_st_fail2.cpp ; 225compile-fail pointer_cast_st_fail3.cpp ; 226 227compile-fail pointer_cast_co_fail.cpp ; 228compile-fail pointer_cast_co_fail2.cpp ; 229compile-fail pointer_cast_co_fail3.cpp ; 230 231compile-fail pointer_cast_dy_fail.cpp ; 232compile-fail pointer_cast_dy_fail2.cpp ; 233compile-fail pointer_cast_dy_fail3.cpp ; 234 235run sp_nothrow_test.cpp ; 236 237compile make_shared_msvc_test.cpp ; 238 239compile lwm_win32_cs_test.cpp ; 240 241run atomic_sp_test.cpp ; 242 243run sp_constexpr_test.cpp ; 244run sp_constexpr_test2.cpp ; 245 246run atomic_sp_constexpr_test.cpp ; 247 248run shared_ptr_fn_test.cpp ; 249 250run get_deleter_test2.cpp ; 251run get_deleter_test3.cpp ; 252run get_deleter_array_test2.cpp ; 253run get_deleter_array_test3.cpp 254 : : : <toolset>msvc-8.0:<build>no ; 255 256run sp_convertible_test2.cpp ; 257 258run local_sp_test.cpp ; 259run lsp_array_test.cpp ; 260run lsp_array_n_test.cpp ; 261run lsp_array_cv_test.cpp ; 262run lsp_array_cast_test.cpp ; 263 264run get_local_deleter_test.cpp ; 265run get_local_deleter_test2.cpp ; 266run get_local_deleter_test3.cpp ; 267run get_local_deleter_array_test.cpp ; 268run get_local_deleter_array_test2.cpp ; 269 270run make_local_shared_test.cpp ; 271run make_local_shared_esft_test.cpp ; 272run allocate_local_shared_test.cpp ; 273run allocate_local_shared_esft_test.cpp ; 274 275run make_local_shared_array_test.cpp ; 276run make_local_shared_arrays_test.cpp 277 : : : <toolset>gcc-4.6.3_0x:<cxxflags>-fno-deduce-init-list ; 278run make_local_shared_array_throws_test.cpp ; 279run make_local_shared_array_esft_test.cpp ; 280run make_local_shared_array_noinit_test.cpp ; 281run make_local_shared_array_value_test.cpp ; 282run allocate_local_shared_array_test.cpp ; 283run allocate_local_shared_arrays_test.cpp 284 : : : <toolset>gcc-4.6.3_0x:<cxxflags>-fno-deduce-init-list ; 285run allocate_local_shared_array_throws_test.cpp ; 286run allocate_local_shared_array_esft_test.cpp ; 287run allocate_local_shared_array_noinit_test.cpp ; 288run allocate_local_shared_array_value_test.cpp ; 289run allocate_local_shared_array_construct_test.cpp ; 290 291run local_sp_fn_test.cpp ; 292run lsp_convertible_test.cpp ; 293run lsp_convertible_test2.cpp ; 294 295run make_shared_array_tmp_test.cpp 296 : : : <toolset>msvc-8.0:<build>no ; 297 298run lw_thread_test.cpp 299 : : : <threading>multi ; 300 301compile sp_windows_h_test.cpp ; 302compile spinlock_windows_h_test.cpp ; 303compile yield_k_windows_h_test.cpp ; 304 305lib dll_test : dll_test_lib.cpp : <link>shared:<define>DLL_TEST_DYN_LINK=1 ; 306explicit dll_test ; 307 308run dll_test_main.cpp dll_test : : : <link>static : dll_test_static ; 309run dll_test_main.cpp dll_test : : : <link>shared : dll_test_shared ; 310 311run make_shared_const_test.cpp ; 312run make_local_shared_const_test.cpp ; 313 314lib abi_test_mt : abi_test_lib.cpp : <link>static ; 315explicit abi_test_mt ; 316 317obj abi_test_lib_nt : abi_test_lib.cpp : <define>BOOST_DISABLE_THREADS ; 318explicit abi_test_lib_nt ; 319 320lib abi_test_nt : abi_test_lib_nt : <link>static ; 321explicit abi_test_nt ; 322 323run abi_test_main.cpp abi_test_mt : : : <define>BOOST_DISABLE_THREADS : abi_test_nt_mt ; 324run abi_test_main.cpp abi_test_nt : : : : abi_test_mt_nt ; 325 326run abi_test_main.cpp abi_test_mt/<cxxstd>0x : : : <cxxstd>98 : abi_test_03_11 ; 327run abi_test_main.cpp abi_test_mt/<cxxstd>98 : : : <cxxstd>0x : abi_test_11_03 ; 328 329run weak_ptr_alias_test.cpp ; 330run weak_ptr_alias_move_test.cpp ; 331 332run sp_typeinfo_test.cpp : : : <rtti>off : sp_typeinfo_test_no_rtti ; 333 334run get_deleter_test.cpp : : : <rtti>off <toolset>gcc-4.4.7,<cxxstd>0x:<build>no : get_deleter_test_no_rtti ; 335run get_deleter_test2.cpp : : : <rtti>off <toolset>gcc-4.4.7,<cxxstd>0x:<build>no : get_deleter_test2_no_rtti ; 336run get_deleter_test3.cpp : : : <rtti>off <toolset>gcc-4.4.7,<cxxstd>0x:<build>no : get_deleter_test3_no_rtti ; 337 338run shared_from_test.cpp ; 339run weak_from_test.cpp ; 340run weak_from_test2.cpp ; 341 342run allocate_unique_aggregate_test.cpp ; 343run allocate_unique_args_test.cpp ; 344run allocate_unique_array_construct_test.cpp ; 345run allocate_unique_array_noinit_test.cpp ; 346run allocate_unique_arrays_test.cpp ; 347run allocate_unique_array_test.cpp ; 348run allocate_unique_array_throws_test.cpp ; 349run allocate_unique_array_value_test.cpp ; 350run allocate_unique_construct_test.cpp ; 351run allocate_unique_noinit_test.cpp ; 352run allocate_unique_test.cpp ; 353run allocate_unique_throws_test.cpp ; 354run allocate_unique_value_test.cpp ; 355 356run sp_guides_test.cpp ; 357run sp_guides_test2.cpp ; 358run wp_guides_test.cpp ; 359 360compile-fail shared_from_fail.cpp ; 361compile-fail weak_from_fail.cpp ; 362 363compile sp_override_test.cpp ; 364compile sp_pedantic_test.cpp 365 : <warnings>pedantic 366 <toolset>msvc:<warnings-as-errors>on 367 <toolset>gcc:<warnings-as-errors>on 368 <toolset>clang:<warnings-as-errors>on ; 369 370run sp_owner_before_test.cpp ; 371run sp_owner_equals_test.cpp ; 372run lsp_owner_before_test.cpp ; 373run lsp_owner_equals_test.cpp ; 374 375run owner_equal_to_test.cpp ; 376run owner_equal_to_test2.cpp ; 377 378run owner_less_test2.cpp ; 379 380run ip_hash_test2.cpp ; 381run sp_hash_test4.cpp ; 382run lsp_hash_test.cpp ; 383run lsp_hash_test2.cpp ; 384 385run atomic_count_mt_test.cpp 386 : : : <threading>multi ; 387 388run spinlock_mt_test.cpp 389 : : : <threading>multi ; 390 391run spinlock_pool_mt_test.cpp 392 : : : <threading>multi ; 393 394run shared_ptr_mt_test.cpp 395 : : : <threading>multi ; 396 397run weak_ptr_mt_test.cpp 398 : : : <threading>multi ; 399 400compile sp_report_implementation.cpp ; 401 402run sp_owner_hash_value_test.cpp ; 403 404run wp_hash_test.cpp ; 405run wp_hash_test2.cpp ; 406 407run wp_unordered_test.cpp ; 408 409run owner_hash_test.cpp ; 410run sp_unordered_test.cpp ; 411