Jamfile 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335
  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. import testing ;
  10. project
  11. : requirements
  12. <toolset>gcc:<cxxflags>-Wno-non-virtual-dtor
  13. <toolset>gcc:<cxxflags>-Wno-deprecated-declarations
  14. #<toolset>gcc:<cxxflags>-Wno-delete-non-virtual-dtor (not in 4.4/4.6)
  15. ;
  16. # quick test (for CI)
  17. run quick.cpp ;
  18. # full test suite
  19. run smart_ptr_test.cpp ;
  20. run shared_ptr_basic_test.cpp ;
  21. run shared_ptr_test.cpp ;
  22. run weak_ptr_test.cpp ;
  23. run weak_ptr_move_test.cpp ;
  24. run shared_from_this_test.cpp ;
  25. run get_deleter_test.cpp ;
  26. run intrusive_ptr_test.cpp ;
  27. run intrusive_ptr_move_test.cpp ;
  28. run intrusive_ref_counter_test.cpp ;
  29. run atomic_count_test.cpp ;
  30. run lw_mutex_test.cpp ;
  31. run lw_mutex_test.cpp : : : <define>BOOST_USE_WINDOWS_H : lw_mutex_test.win_h ;
  32. compile-fail shared_ptr_assign_fail.cpp ;
  33. compile-fail shared_ptr_delete_fail.cpp ;
  34. compile-fail shared_ptr_compare_fail.cpp ;
  35. run shared_ptr_alloc2_test.cpp ;
  36. run pointer_cast_test.cpp ;
  37. run cpp11_pointer_cast_test.cpp ;
  38. compile pointer_to_other_test.cpp ;
  39. run auto_ptr_rv_test.cpp ;
  40. run shared_ptr_alias_test.cpp ;
  41. run shared_ptr_rv_test.cpp ;
  42. run shared_ptr_rv_pointer_cast_test.cpp ;
  43. run shared_ptr_move_test.cpp ;
  44. run shared_ptr_alias_move_test.cpp ;
  45. run shared_ptr_reinterpret_pointer_cast_test.cpp ;
  46. compile-fail shared_ptr_pv_fail.cpp ;
  47. run sp_unary_addr_test.cpp ;
  48. compile-fail scoped_ptr_eq_fail.cpp ;
  49. compile-fail scoped_array_eq_fail.cpp ;
  50. run esft_regtest.cpp ;
  51. run yield_k_test.cpp ;
  52. run yield_k_test.cpp : : : <threading>multi : yield_k_test.mt ;
  53. run spinlock_test.cpp ;
  54. run spinlock_try_test.cpp ;
  55. run spinlock_try_test.cpp : : : <threading>multi : spinlock_try_test.mt ;
  56. run spinlock_pool_test.cpp : : :
  57. # msvc-8.0, 9.0 optimizer codegen bug for `x % 41`
  58. <toolset>msvc-8.0,<variant>release:<build>no
  59. <toolset>msvc-9.0,<variant>release:<build>no ;
  60. run make_shared_test.cpp ;
  61. run make_shared_move_emulation_test.cpp ;
  62. run make_shared_perfect_forwarding_test.cpp ;
  63. run shared_ptr_convertible_test.cpp ;
  64. run wp_convertible_test.cpp ;
  65. run ip_convertible_test.cpp ;
  66. run allocate_shared_test.cpp ;
  67. run sp_atomic_test.cpp ;
  68. run esft_void_test.cpp ;
  69. run esft_second_ptr_test.cpp ;
  70. run make_shared_esft_test.cpp ;
  71. run allocate_shared_esft_test.cpp ;
  72. run sp_recursive_assign_test.cpp ;
  73. run sp_recursive_assign2_test.cpp ;
  74. run sp_recursive_assign_rv_test.cpp ;
  75. run sp_recursive_assign2_rv_test.cpp ;
  76. compile-fail auto_ptr_lv_fail.cpp : <toolset>gcc-4.4.7:<build>no ;
  77. run atomic_count_test2.cpp ;
  78. run sp_typeinfo_test.cpp ;
  79. compile make_shared_fp_test.cpp ;
  80. run sp_hash_test.cpp ;
  81. run get_deleter_array_test.cpp ;
  82. run ip_hash_test.cpp ;
  83. run owner_less_test.cpp ;
  84. run sp_unique_ptr_test.cpp ;
  85. run sp_array_test.cpp ;
  86. compile sp_array_cv_test.cpp ;
  87. run sp_convertible_test.cpp ;
  88. run sp_array_n_test.cpp ;
  89. run sp_array_cast_test.cpp ;
  90. run sp_zero_compare_test.cpp ;
  91. run sp_nullptr_test.cpp ;
  92. run sa_nullptr_test.cpp ;
  93. run shared_ptr_alloc3_test.cpp ;
  94. run shared_ptr_alloc11_test.cpp ;
  95. run shared_ptr_alloc_construct11_test.cpp ;
  96. run allocate_shared_alloc11_test.cpp ;
  97. run allocate_shared_construct11_test.cpp ;
  98. run sp_interlocked_test.cpp ;
  99. compile-fail array_fail_spa_sp_c.cpp ;
  100. compile-fail array_fail_sp_spa_c.cpp ;
  101. compile-fail array_fail_spa_spa_c.cpp ;
  102. compile-fail array_fail_spa_wp_c.cpp ;
  103. compile-fail array_fail_sp_wpa_c.cpp ;
  104. compile-fail array_fail_spa_wpa_c.cpp ;
  105. compile-fail array_fail_wpa_wp_c.cpp ;
  106. compile-fail array_fail_wp_wpa_c.cpp ;
  107. compile-fail array_fail_wpa_wpa_c.cpp ;
  108. compile-fail array_fail_ap_spa_c.cpp ;
  109. compile-fail array_fail_upa_sp_c.cpp ;
  110. compile-fail array_fail_up_spa_c.cpp ;
  111. compile-fail array_fail_spa_sp_mc.cpp ;
  112. compile-fail array_fail_sp_spa_mc.cpp ;
  113. compile-fail array_fail_spa_spa_mc.cpp ;
  114. compile-fail array_fail_spa_wp_mc.cpp ;
  115. compile-fail array_fail_sp_wpa_mc.cpp ;
  116. compile-fail array_fail_spa_wpa_mc.cpp ;
  117. compile-fail array_fail_wpa_wp_mc.cpp ;
  118. compile-fail array_fail_wp_wpa_mc.cpp ;
  119. compile-fail array_fail_wpa_wpa_mc.cpp ;
  120. compile-fail array_fail_ap_spa_mc.cpp ;
  121. compile-fail array_fail_upa_sp_mc.cpp ;
  122. compile-fail array_fail_up_spa_mc.cpp ;
  123. compile-fail array_fail_spa_sp_a.cpp ;
  124. compile-fail array_fail_sp_spa_a.cpp ;
  125. compile-fail array_fail_spa_spa_a.cpp ;
  126. compile-fail array_fail_spa_wp_a.cpp ;
  127. compile-fail array_fail_sp_wpa_a.cpp ;
  128. compile-fail array_fail_spa_wpa_a.cpp ;
  129. compile-fail array_fail_wpa_wp_a.cpp ;
  130. compile-fail array_fail_wp_wpa_a.cpp ;
  131. compile-fail array_fail_wpa_wpa_a.cpp ;
  132. compile-fail array_fail_ap_spa_a.cpp ;
  133. compile-fail array_fail_upa_sp_a.cpp ;
  134. compile-fail array_fail_up_spa_a.cpp ;
  135. compile-fail array_fail_spa_sp_ma.cpp ;
  136. compile-fail array_fail_sp_spa_ma.cpp ;
  137. compile-fail array_fail_spa_spa_ma.cpp ;
  138. compile-fail array_fail_spa_wp_ma.cpp ;
  139. compile-fail array_fail_sp_wpa_ma.cpp ;
  140. compile-fail array_fail_spa_wpa_ma.cpp ;
  141. compile-fail array_fail_wpa_wp_ma.cpp ;
  142. compile-fail array_fail_wp_wpa_ma.cpp ;
  143. compile-fail array_fail_wpa_wpa_ma.cpp ;
  144. compile-fail array_fail_ap_spa_ma.cpp ;
  145. compile-fail array_fail_upa_sp_ma.cpp ;
  146. compile-fail array_fail_up_spa_ma.cpp ;
  147. compile-fail array_fail_dereference.cpp ;
  148. compile-fail array_fail_member_access.cpp ;
  149. compile-fail array_fail_array_access.cpp ;
  150. run make_shared_array_test.cpp : : : <toolset>msvc-8.0:<build>no ;
  151. run make_shared_arrays_test.cpp ; # <cxxflags>-fno-deduce-init-list no longer needed for gcc-4.6
  152. run make_shared_array_throws_test.cpp : : : <toolset>msvc-8.0:<build>no ;
  153. run make_shared_array_esft_test.cpp : : : <toolset>msvc-8.0:<build>no ;
  154. run make_shared_array_noinit_test.cpp : : : <toolset>msvc-8.0:<build>no ;
  155. run make_shared_array_value_test.cpp : : : <toolset>msvc-8.0:<build>no ;
  156. run allocate_shared_array_test.cpp ;
  157. run allocate_shared_arrays_test.cpp ; # <cxxflags>-fno-deduce-init-list no longer needed for gcc-4.6
  158. run allocate_shared_array_throws_test.cpp : : : <toolset>msvc-8.0:<build>no ;
  159. run allocate_shared_array_esft_test.cpp : : : <toolset>msvc-8.0:<build>no ;
  160. run allocate_shared_array_noinit_test.cpp : : : <toolset>msvc-8.0:<build>no ;
  161. run allocate_shared_array_value_test.cpp : : : <toolset>msvc-8.0:<build>no ;
  162. run allocate_shared_array_construct_test.cpp ;
  163. run make_unique_test.cpp ;
  164. run make_unique_args_test.cpp ;
  165. run make_unique_value_test.cpp : : : <toolset>gcc-4.6:<cxxflags>-fno-deduce-init-list ;
  166. run make_unique_noinit_test.cpp ;
  167. run make_unique_throws_test.cpp ;
  168. run make_unique_array_test.cpp ;
  169. run make_unique_array_noinit_test.cpp ;
  170. run make_unique_array_throws_test.cpp ;
  171. run shared_from_raw_test.cpp ;
  172. run shared_from_raw_test2.cpp ;
  173. run shared_from_raw_test3.cpp ;
  174. run shared_from_raw_test4.cpp ;
  175. run shared_from_raw_test5.cpp ;
  176. run shared_from_raw_test6.cpp ;
  177. run weak_from_raw_test.cpp ;
  178. run weak_from_raw_test2.cpp ;
  179. run weak_from_raw_test3.cpp ;
  180. run weak_from_raw_test4.cpp ;
  181. run weak_from_raw_test5.cpp ;
  182. compile sp_explicit_inst_test.cpp ;
  183. run weak_from_this_test.cpp ;
  184. run weak_from_this_test2.cpp ;
  185. run sp_bml_unique_ptr_test.cpp ;
  186. run sp_hash_test2.cpp ;
  187. run sp_hash_test3.cpp ;
  188. run pointer_cast_test2.cpp ;
  189. compile-fail pointer_cast_st_fail.cpp ;
  190. compile-fail pointer_cast_st_fail2.cpp ;
  191. compile-fail pointer_cast_st_fail3.cpp ;
  192. compile-fail pointer_cast_co_fail.cpp ;
  193. compile-fail pointer_cast_co_fail2.cpp ;
  194. compile-fail pointer_cast_co_fail3.cpp ;
  195. compile-fail pointer_cast_dy_fail.cpp ;
  196. compile-fail pointer_cast_dy_fail2.cpp ;
  197. compile-fail pointer_cast_dy_fail3.cpp ;
  198. run sp_nothrow_test.cpp ;
  199. compile make_shared_msvc_test.cpp ;
  200. compile lwm_win32_cs_test.cpp ;
  201. run atomic_sp_test.cpp ;
  202. run sp_constexpr_test.cpp ;
  203. run sp_constexpr_test2.cpp ;
  204. run atomic_sp_constexpr_test.cpp ;
  205. run shared_ptr_fn_test.cpp ;
  206. run get_deleter_test2.cpp ;
  207. run get_deleter_test3.cpp ;
  208. run get_deleter_array_test2.cpp ;
  209. run get_deleter_array_test3.cpp : : : <toolset>msvc-8.0:<build>no ;
  210. run sp_convertible_test2.cpp ;
  211. run local_sp_test.cpp ;
  212. run lsp_array_test.cpp ;
  213. run lsp_array_n_test.cpp ;
  214. run lsp_array_cv_test.cpp ;
  215. run lsp_array_cast_test.cpp ;
  216. run get_local_deleter_test.cpp ;
  217. run get_local_deleter_test2.cpp ;
  218. run get_local_deleter_test3.cpp ;
  219. run get_local_deleter_array_test.cpp ;
  220. run get_local_deleter_array_test2.cpp ;
  221. run make_local_shared_test.cpp ;
  222. run make_local_shared_esft_test.cpp ;
  223. run allocate_local_shared_test.cpp ;
  224. run allocate_local_shared_esft_test.cpp ;
  225. run make_local_shared_array_test.cpp ;
  226. run make_local_shared_arrays_test.cpp : : : <toolset>gcc-4.6.3_0x:<cxxflags>-fno-deduce-init-list ;
  227. run make_local_shared_array_throws_test.cpp ;
  228. run make_local_shared_array_esft_test.cpp ;
  229. run make_local_shared_array_noinit_test.cpp ;
  230. run make_local_shared_array_value_test.cpp ;
  231. run allocate_local_shared_array_test.cpp ;
  232. run allocate_local_shared_arrays_test.cpp : : : <toolset>gcc-4.6.3_0x:<cxxflags>-fno-deduce-init-list ;
  233. run allocate_local_shared_array_throws_test.cpp ;
  234. run allocate_local_shared_array_esft_test.cpp ;
  235. run allocate_local_shared_array_noinit_test.cpp ;
  236. run allocate_local_shared_array_value_test.cpp ;
  237. run allocate_local_shared_array_construct_test.cpp ;
  238. run local_sp_fn_test.cpp ;
  239. run lsp_convertible_test.cpp ;
  240. run lsp_convertible_test2.cpp ;
  241. run make_shared_array_tmp_test.cpp : : : <toolset>msvc-8.0:<build>no ;
  242. run lw_thread_test.cpp : : : <threading>multi ;
  243. compile sp_windows_h_test.cpp ;
  244. compile spinlock_windows_h_test.cpp ;
  245. compile yield_k_windows_h_test.cpp ;
  246. lib dll_test : dll_test_lib.cpp : <link>shared:<define>DLL_TEST_DYN_LINK=1 ;
  247. explicit dll_test ;
  248. run dll_test_main.cpp dll_test : : : <link>static : dll_test_static ;
  249. run dll_test_main.cpp dll_test : : : <link>shared : dll_test_shared ;
  250. run make_shared_const_test.cpp ;
  251. run make_local_shared_const_test.cpp ;
  252. lib abi_test_mt : abi_test_lib.cpp : <link>static ;
  253. explicit abi_test_mt ;
  254. obj abi_test_lib_nt : abi_test_lib.cpp : <define>BOOST_DISABLE_THREADS ;
  255. explicit abi_test_lib_nt ;
  256. lib abi_test_nt : abi_test_lib_nt : <link>static ;
  257. explicit abi_test_nt ;
  258. run abi_test_main.cpp abi_test_mt : : : <define>BOOST_DISABLE_THREADS : abi_test_nt_mt ;
  259. run abi_test_main.cpp abi_test_nt : : : : abi_test_mt_nt ;
  260. run abi_test_main.cpp abi_test_mt/<cxxstd>0x : : : <cxxstd>98 : abi_test_03_11 ;
  261. run abi_test_main.cpp abi_test_mt/<cxxstd>98 : : : <cxxstd>0x : abi_test_11_03 ;
  262. run weak_ptr_alias_test.cpp ;
  263. run weak_ptr_alias_move_test.cpp ;
  264. run sp_typeinfo_test.cpp : : : <rtti>off : sp_typeinfo_test_no_rtti ;
  265. run get_deleter_test.cpp : : : <rtti>off <toolset>gcc-4.4.7,<cxxstd>0x:<build>no : get_deleter_test_no_rtti ;
  266. run get_deleter_test2.cpp : : : <rtti>off <toolset>gcc-4.4.7,<cxxstd>0x:<build>no : get_deleter_test2_no_rtti ;
  267. run get_deleter_test3.cpp : : : <rtti>off <toolset>gcc-4.4.7,<cxxstd>0x:<build>no : get_deleter_test3_no_rtti ;
  268. run shared_from_test.cpp ;
  269. run weak_from_test.cpp ;
  270. run weak_from_test2.cpp ;
  271. run allocate_unique_aggregate_test.cpp ;
  272. run allocate_unique_args_test.cpp ;
  273. run allocate_unique_array_construct_test.cpp ;
  274. run allocate_unique_array_noinit_test.cpp ;
  275. run allocate_unique_arrays_test.cpp ;
  276. run allocate_unique_array_test.cpp ;
  277. run allocate_unique_array_throws_test.cpp ;
  278. run allocate_unique_array_value_test.cpp ;
  279. run allocate_unique_construct_test.cpp ;
  280. run allocate_unique_noinit_test.cpp ;
  281. run allocate_unique_test.cpp ;
  282. run allocate_unique_throws_test.cpp ;
  283. run allocate_unique_value_test.cpp ;