Jamfile.v2 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449
  1. # Copyright (C) 2008-2018 Lorenzo Caminiti
  2. # Distributed under the Boost Software License, Version 1.0 (see accompanying
  3. # file LICENSE_1_0.txt or a copy at http://www.boost.org/LICENSE_1_0.txt).
  4. # See: http://www.boost.org/doc/libs/release/libs/contract/doc/html/index.html
  5. import ../build/boost_contract_build ;
  6. import ../../config/checks/config : requires ;
  7. test-suite constructor :
  8. [ boost_contract_build.subdir-run-cxx11 constructor : smoke ]
  9. [ boost_contract_build.subdir-run-cxx11 constructor : decl_pre_all ]
  10. [ boost_contract_build.subdir-run-cxx11 constructor : decl_pre_ends ]
  11. [ boost_contract_build.subdir-run-cxx11 constructor : decl_pre_mid ]
  12. [ boost_contract_build.subdir-run-cxx11 constructor : decl_pre_none ]
  13. [ boost_contract_build.subdir-run-cxx11 constructor : decl_post_all ]
  14. [ boost_contract_build.subdir-run-cxx11 constructor : decl_post_ends ]
  15. [ boost_contract_build.subdir-run-cxx11 constructor : decl_post_mid ]
  16. [ boost_contract_build.subdir-run-cxx11 constructor : decl_post_none ]
  17. [ boost_contract_build.subdir-run-cxx11 constructor :
  18. decl_entry_static_inv_all ]
  19. [ boost_contract_build.subdir-run-cxx11 constructor :
  20. decl_entry_static_inv_ends ]
  21. [ boost_contract_build.subdir-run-cxx11 constructor :
  22. decl_entry_static_inv_mid ]
  23. [ boost_contract_build.subdir-run-cxx11 constructor :
  24. decl_entry_static_inv_none ]
  25. [ boost_contract_build.subdir-run-cxx11 constructor :
  26. decl_exit_static_inv_all ]
  27. [ boost_contract_build.subdir-run-cxx11 constructor :
  28. decl_exit_static_inv_ends ]
  29. [ boost_contract_build.subdir-run-cxx11 constructor :
  30. decl_exit_static_inv_mid ]
  31. [ boost_contract_build.subdir-run-cxx11 constructor :
  32. decl_exit_static_inv_none ]
  33. # No decl_entry_static_inv_... (as no obj before ctor).
  34. [ boost_contract_build.subdir-run-cxx11 constructor : decl_exit_inv_all ]
  35. [ boost_contract_build.subdir-run-cxx11 constructor : decl_exit_inv_ends ]
  36. [ boost_contract_build.subdir-run-cxx11 constructor : decl_exit_inv_mid ]
  37. [ boost_contract_build.subdir-run-cxx11 constructor : decl_exit_inv_none ]
  38. [ boost_contract_build.subdir-run-cxx11 constructor : access ]
  39. [ boost_contract_build.subdir-run-cxx11 constructor : ifdef ]
  40. [ boost_contract_build.subdir-run-cxx11 constructor : ifdef_macro ]
  41. [ boost_contract_build.subdir-run-cxx11 constructor : throwing_pre ]
  42. [ boost_contract_build.subdir-run-cxx11 constructor : throwing_old ]
  43. [ boost_contract_build.subdir-run-cxx11 constructor : throwing_body ]
  44. [ boost_contract_build.subdir-run-cxx11 constructor : throwing_post ]
  45. # No throwing_except test (as throwing twice calls terminate).
  46. [ boost_contract_build.subdir-compile-fail-cxx11 constructor : pre_error ]
  47. ;
  48. test-suite destructor :
  49. [ boost_contract_build.subdir-run-cxx11 destructor : smoke ]
  50. # No decl_pre_... (as dtors have no pre).
  51. [ boost_contract_build.subdir-run-cxx11 destructor : decl_post_all ]
  52. [ boost_contract_build.subdir-run-cxx11 destructor : decl_post_ends ]
  53. [ boost_contract_build.subdir-run-cxx11 destructor : decl_post_mid ]
  54. [ boost_contract_build.subdir-run-cxx11 destructor : decl_post_none ]
  55. [ boost_contract_build.subdir-run-cxx11 destructor :
  56. decl_entry_static_inv_all ]
  57. [ boost_contract_build.subdir-run-cxx11 destructor :
  58. decl_entry_static_inv_ends ]
  59. [ boost_contract_build.subdir-run-cxx11 destructor :
  60. decl_entry_static_inv_mid ]
  61. [ boost_contract_build.subdir-run-cxx11 destructor :
  62. decl_entry_static_inv_none ]
  63. [ boost_contract_build.subdir-run-cxx11 destructor :
  64. decl_exit_static_inv_all ]
  65. [ boost_contract_build.subdir-run-cxx11 destructor :
  66. decl_exit_static_inv_ends ]
  67. [ boost_contract_build.subdir-run-cxx11 destructor :
  68. decl_exit_static_inv_mid ]
  69. [ boost_contract_build.subdir-run-cxx11 destructor :
  70. decl_exit_static_inv_none ]
  71. [ boost_contract_build.subdir-run-cxx11 destructor : decl_entry_inv_all ]
  72. [ boost_contract_build.subdir-run-cxx11 destructor : decl_entry_inv_ends ]
  73. [ boost_contract_build.subdir-run-cxx11 destructor : decl_entry_inv_mid ]
  74. [ boost_contract_build.subdir-run-cxx11 destructor : decl_entry_inv_none ]
  75. # No decl_exit_inv_... (as no obj after dtor).
  76. [ boost_contract_build.subdir-run-cxx11 destructor : access ]
  77. [ boost_contract_build.subdir-run-cxx11 destructor : ifdef ]
  78. [ boost_contract_build.subdir-run-cxx11 destructor : ifdef_macro ]
  79. # No throwing_pre test (as dtors have no pre).
  80. [ boost_contract_build.subdir-run-cxx11 destructor : throwing_old ]
  81. [ boost_contract_build.subdir-run-cxx11 destructor : throwing_body ]
  82. [ boost_contract_build.subdir-run-cxx11 destructor : throwing_post ]
  83. # No throwing_except test (as throwing twice calls terminate).
  84. [ boost_contract_build.subdir-compile-fail-cxx11 destructor : pre_error ]
  85. ;
  86. test-suite public_function :
  87. [ boost_contract_build.subdir-run-cxx11 public_function : smoke ]
  88. [ boost_contract_build.subdir-run-cxx11 public_function : decl_pre_all ]
  89. [ boost_contract_build.subdir-run-cxx11 public_function : decl_pre_ends ]
  90. [ boost_contract_build.subdir-run-cxx11 public_function : decl_pre_mid ]
  91. [ boost_contract_build.subdir-run-cxx11 public_function : decl_pre_none ]
  92. [ boost_contract_build.subdir-run-cxx11 public_function : decl_post_all ]
  93. [ boost_contract_build.subdir-run-cxx11 public_function : decl_post_ends ]
  94. [ boost_contract_build.subdir-run-cxx11 public_function : decl_post_mid ]
  95. [ boost_contract_build.subdir-run-cxx11 public_function : decl_post_none ]
  96. [ boost_contract_build.subdir-run-cxx11 public_function :
  97. decl_entry_static_inv_all ]
  98. [ boost_contract_build.subdir-run-cxx11 public_function :
  99. decl_entry_static_inv_ends ]
  100. [ boost_contract_build.subdir-run-cxx11 public_function :
  101. decl_entry_static_inv_mid ]
  102. [ boost_contract_build.subdir-run-cxx11 public_function :
  103. decl_entry_static_inv_none ]
  104. [ boost_contract_build.subdir-run-cxx11 public_function :
  105. decl_exit_static_inv_all ]
  106. [ boost_contract_build.subdir-run-cxx11 public_function :
  107. decl_exit_static_inv_ends ]
  108. [ boost_contract_build.subdir-run-cxx11 public_function :
  109. decl_exit_static_inv_mid ]
  110. [ boost_contract_build.subdir-run-cxx11 public_function :
  111. decl_exit_static_inv_none ]
  112. [ boost_contract_build.subdir-run-cxx11 public_function :
  113. decl_entry_inv_all ]
  114. [ boost_contract_build.subdir-run-cxx11 public_function :
  115. decl_entry_inv_ends ]
  116. [ boost_contract_build.subdir-run-cxx11 public_function :
  117. decl_entry_inv_mid ]
  118. [ boost_contract_build.subdir-run-cxx11 public_function :
  119. decl_entry_inv_none ]
  120. [ boost_contract_build.subdir-run-cxx11 public_function :
  121. decl_exit_inv_all ]
  122. [ boost_contract_build.subdir-run-cxx11 public_function :
  123. decl_exit_inv_ends ]
  124. [ boost_contract_build.subdir-run-cxx11 public_function :
  125. decl_exit_inv_mid ]
  126. [ boost_contract_build.subdir-run-cxx11 public_function :
  127. decl_exit_inv_none ]
  128. [ boost_contract_build.subdir-run-cxx11 public_function : access ]
  129. [ boost_contract_build.subdir-run-cxx11 public_function : ifdef ]
  130. [ boost_contract_build.subdir-run-cxx11 public_function : ifdef_macro ]
  131. [ boost_contract_build.subdir-run-cxx11 public_function : virtual ]
  132. [ boost_contract_build.subdir-run-cxx11 public_function : virtual_branch ]
  133. [ boost_contract_build.subdir-run-cxx11 public_function : virtual_sparse ]
  134. [ boost_contract_build.subdir-run-cxx11 public_function : virtual_access ]
  135. [ boost_contract_build.subdir-run-cxx11 public_function :
  136. virtual_access_multi ]
  137. [ boost_contract_build.subdir-run-cxx11 public_function : old_virtual ]
  138. [ boost_contract_build.subdir-run-cxx11 public_function : protected ]
  139. [ boost_contract_build.subdir-compile-fail public_function :
  140. protected_error ]
  141. [ boost_contract_build.subdir-run-cxx11 public_function : friend ]
  142. [ boost_contract_build.subdir-run-cxx11 public_function : throwing_pre ]
  143. [ boost_contract_build.subdir-run-cxx11 public_function : throwing_old ]
  144. [ boost_contract_build.subdir-run-cxx11 public_function : throwing_body ]
  145. [ boost_contract_build.subdir-run-cxx11 public_function :
  146. throwing_body_virtual ]
  147. [ boost_contract_build.subdir-run-cxx11 public_function :
  148. throwing_body_virtual_branch ]
  149. [ boost_contract_build.subdir-run-cxx11 public_function : throwing_post ]
  150. # No throwing_except test (as throwing twice calls terminate).
  151. [ boost_contract_build.subdir-run-cxx11 public_function : max_args0 :
  152. <define>BOOST_CONTRACT_MAX_ARGS=0 ]
  153. [ boost_contract_build.subdir-run-cxx11 public_function : max_args0_no_tva :
  154. <define>BOOST_CONTRACT_MAX_ARGS=0
  155. <define>BOOST_NO_CXX11_VARIADIC_TEMPLATES
  156. ]
  157. [ boost_contract_build.subdir-run-cxx11 public_function : max_args1 :
  158. <define>BOOST_CONTRACT_MAX_ARGS=1 ]
  159. [ boost_contract_build.subdir-run-cxx11 public_function : max_args1_no_tva :
  160. <define>BOOST_CONTRACT_MAX_ARGS=1
  161. <define>BOOST_NO_CXX11_VARIADIC_TEMPLATES
  162. ]
  163. [ boost_contract_build.subdir-run-cxx11 public_function : max_args2 :
  164. <define>BOOST_CONTRACT_MAX_ARGS=2 ]
  165. [ boost_contract_build.subdir-run-cxx11 public_function : max_args2_no_tva :
  166. <define>BOOST_CONTRACT_MAX_ARGS=2
  167. <define>BOOST_NO_CXX11_VARIADIC_TEMPLATES
  168. ]
  169. [ boost_contract_build.subdir-run-cxx11 public_function : max_args ]
  170. [ boost_contract_build.subdir-run-cxx11 public_function : max_args_no_tva :
  171. <define>BOOST_NO_CXX11_VARIADIC_TEMPLATES ]
  172. [ boost_contract_build.subdir-run-cxx11 public_function :
  173. max_bases ] # C++11 for BASES(...) variadic macros.
  174. [ boost_contract_build.subdir-run-cxx11 public_function : overload ]
  175. [ boost_contract_build.subdir-run-cxx11 public_function : overload_no_tva :
  176. <define>BOOST_NO_CXX11_VARIADIC_TEMPLATES ]
  177. [ boost_contract_build.subdir-compile-fail-cxx11 public_function :
  178. override_error ] # C++11 for BASES(...) variadic macros.
  179. [ boost_contract_build.subdir-run-cxx11 public_function : # C++11 for BASES.
  180. override_permissive : <define>BOOST_CONTRACT_PERMISSIVE ]
  181. [ boost_contract_build.subdir-run-cxx11 public_function : static ]
  182. [ boost_contract_build.subdir-run-cxx11 public_function : static_ifdef ]
  183. [ boost_contract_build.subdir-run-cxx11 public_function :
  184. static_ifdef_macro ]
  185. [ boost_contract_build.subdir-run-cxx11 public_function :
  186. static_throwing_pre ]
  187. [ boost_contract_build.subdir-run-cxx11 public_function :
  188. static_throwing_old ]
  189. [ boost_contract_build.subdir-run-cxx11 public_function :
  190. static_throwing_body ]
  191. [ boost_contract_build.subdir-run-cxx11 public_function :
  192. static_throwing_post ]
  193. # No throwing_except test (as throwing twice calls terminate).
  194. ;
  195. test-suite invariant :
  196. [ boost_contract_build.subdir-run-cxx11 invariant : decl_static_cv_const ]
  197. [ boost_contract_build.subdir-run-cxx11 invariant : decl_static_cv ]
  198. [ boost_contract_build.subdir-run-cxx11 invariant : decl_cv_const ]
  199. [ boost_contract_build.subdir-run-cxx11 invariant : decl_static_const ]
  200. [ boost_contract_build.subdir-run-cxx11 invariant : decl_static ]
  201. [ boost_contract_build.subdir-run-cxx11 invariant : decl_cv ]
  202. [ boost_contract_build.subdir-run-cxx11 invariant : decl_const ]
  203. [ boost_contract_build.subdir-run-cxx11 invariant : decl_nothing ]
  204. [ boost_contract_build.subdir-run invariant : ifdef ]
  205. [ boost_contract_build.subdir-run-cxx11 invariant : ifdef_macro ]
  206. [ boost_contract_build.subdir-compile-fail invariant :
  207. static_mutable_error ]
  208. [ boost_contract_build.subdir-run invariant : static_mutable_permissive :
  209. <define>BOOST_CONTRACT_PERMISSIVE ]
  210. [ boost_contract_build.subdir-compile-fail invariant : static_const_error ]
  211. [ boost_contract_build.subdir-run invariant : static_const_permissive :
  212. <define>BOOST_CONTRACT_PERMISSIVE ]
  213. [ boost_contract_build.subdir-compile-fail invariant :
  214. static_volatile_error ]
  215. [ boost_contract_build.subdir-run invariant : static_volatile_permissive :
  216. <define>BOOST_CONTRACT_PERMISSIVE ]
  217. [ boost_contract_build.subdir-compile-fail invariant : static_cv_error ]
  218. [ boost_contract_build.subdir-run invariant : static_cv_permissive :
  219. <define>BOOST_CONTRACT_PERMISSIVE ]
  220. [ boost_contract_build.subdir-compile-fail invariant : static_error ]
  221. [ boost_contract_build.subdir-run invariant : static_permissive :
  222. <define>BOOST_CONTRACT_PERMISSIVE ]
  223. [ boost_contract_build.subdir-compile-fail invariant : mutable_error ]
  224. [ boost_contract_build.subdir-run invariant : mutable_permissive :
  225. <define>BOOST_CONTRACT_PERMISSIVE ]
  226. [ boost_contract_build.subdir-compile-fail invariant : volatile_error ]
  227. [ boost_contract_build.subdir-run invariant : volatile_permissive :
  228. <define>BOOST_CONTRACT_PERMISSIVE ]
  229. ;
  230. test-suite function :
  231. [ boost_contract_build.subdir-run-cxx11 function : smoke ]
  232. [ boost_contract_build.subdir-run-cxx11 function : decl_pre_all ]
  233. [ boost_contract_build.subdir-run-cxx11 function : decl_pre_none ]
  234. [ boost_contract_build.subdir-run-cxx11 function : decl_post_all ]
  235. [ boost_contract_build.subdir-run-cxx11 function : decl_post_none ]
  236. [ boost_contract_build.subdir-run-cxx11 function : ifdef ]
  237. [ boost_contract_build.subdir-run-cxx11 function : ifdef_macro ]
  238. [ boost_contract_build.subdir-run-cxx11 function : throwing_pre ]
  239. [ boost_contract_build.subdir-run-cxx11 function : throwing_old ]
  240. [ boost_contract_build.subdir-run-cxx11 function : throwing_body ]
  241. [ boost_contract_build.subdir-run-cxx11 function : throwing_post ]
  242. # No throwing_except test (as throwing twice calls terminate).
  243. ;
  244. test-suite check :
  245. [ boost_contract_build.subdir-run-cxx11 check : decl_class ]
  246. [ boost_contract_build.subdir-run-cxx11 check : decl_macro ]
  247. [ boost_contract_build.subdir-run-cxx11 check : ifdef ]
  248. [ boost_contract_build.subdir-run-cxx11 check : ifdef_macro ]
  249. [ boost_contract_build.subdir-run-cxx11 check : audit :
  250. <define>BOOST_CONTRACT_AUDITS ]
  251. [ boost_contract_build.subdir-compile-fail-cxx11 check : audit_error ]
  252. [ boost_contract_build.subdir-run-cxx11 check : audit_disabled ]
  253. [ boost_contract_build.subdir-compile-fail-cxx11 check :
  254. audit_disabled_error ]
  255. [ boost_contract_build.subdir-run check : axiom ]
  256. [ boost_contract_build.subdir-compile-fail check : axiom_error ]
  257. ;
  258. test-suite result :
  259. [ boost_contract_build.subdir-run-cxx11 result : mixed_optional ]
  260. [ boost_contract_build.subdir-run-cxx11 result : mixed_optional_ref ]
  261. [ boost_contract_build.subdir-compile-fail-cxx11 result :
  262. type_mismatch_error ] # C++11 for BASES(...) variadic macros.
  263. ;
  264. test-suite old :
  265. [ boost_contract_build.subdir-run old : auto :
  266. [ requires cxx11_auto_declarations ] ]
  267. [ boost_contract_build.subdir-run-cxx11 old : no_macro ]
  268. [ boost_contract_build.subdir-run-cxx11 old : no_macro_if_copyable ]
  269. [ boost_contract_build.subdir-compile-fail old : no_make_old_error ]
  270. [ boost_contract_build.subdir-compile-fail old :
  271. no_make_old_if_copyable_error ]
  272. [ boost_contract_build.subdir-run-cxx11 old : if_copyable ]
  273. [ boost_contract_build.subdir-compile-fail-cxx11 old : if_copyable_error ]
  274. [ boost_contract_build.subdir-run-cxx11 old : if_copyable_macro ]
  275. [ boost_contract_build.subdir-run old : copyable_traits ]
  276. ;
  277. test-suite disable :
  278. [ boost_contract_build.subdir-run-cxx11 disable : nothing_for_pre_prog :
  279. <define>BOOST_CONTRACT_PRECONDITIONS_DISABLE_NO_ASSERTION ]
  280. [ boost_contract_build.subdir-run-cxx11 disable : other_assertions_prog ]
  281. [ boost_contract_build.subdir-lib-cxx11 disable : lib_a :
  282. <link>shared:<define>BOOST_CONTRACT_TEST_LIB_A_DYN_LINK ]
  283. [ boost_contract_build.subdir-lib-cxx11 disable : lib_b :
  284. <library>disable-lib_a
  285. <link>shared:<define>BOOST_CONTRACT_TEST_LIB_B_DYN_LINK
  286. ]
  287. [ boost_contract_build.subdir-run-cxx11 disable : other_assertions_lib :
  288. <library>disable-lib_a <library>disable-lib_b ]
  289. [ boost_contract_build.subdir-run-cxx11 disable : other_assertions_unit
  290. disable/lib_a.cpp disable/lib_b.cpp ]
  291. [ boost_contract_build.subdir-lib-cxx11 disable : lib_x :
  292. <define>BOOST_CONTRACT_NO_POSTCONDITIONS
  293. <define>BOOST_CONTRACT_NO_EXCEPTS
  294. <link>shared:<define>BOOST_CONTRACT_TEST_LIB_X_DYN_LINK
  295. ]
  296. [ boost_contract_build.subdir-lib-cxx11 disable : lib_y :
  297. <library>disable-lib_x
  298. <define>BOOST_CONTRACT_NO_POSTCONDITIONS
  299. <define>BOOST_CONTRACT_NO_EXCEPTS
  300. <link>shared:<define>BOOST_CONTRACT_TEST_LIB_Y_DYN_LINK
  301. ]
  302. [ boost_contract_build.subdir-run-cxx11 disable : no_post_except_lib :
  303. <library>disable-lib_x <library>disable-lib_y ]
  304. [ boost_contract_build.subdir-run-cxx11 disable : no_post_except_unit
  305. disable/lib_x.cpp disable/lib_y.cpp :
  306. <define>BOOST_CONTRACT_NO_POSTCONDITIONS
  307. <define>BOOST_CONTRACT_NO_EXCEPTS
  308. ]
  309. [ boost_contract_build.subdir-run disable : audit :
  310. <define>BOOST_CONTRACT_AUDITS ]
  311. [ boost_contract_build.subdir-compile-fail disable : audit_error ]
  312. [ boost_contract_build.subdir-run disable : audit_disabled ]
  313. [ boost_contract_build.subdir-compile-fail disable : audit_disabled_error ]
  314. [ boost_contract_build.subdir-run disable : axiom ]
  315. [ boost_contract_build.subdir-compile-fail disable : axiom_error ]
  316. ;
  317. test-suite specify :
  318. [ boost_contract_build.subdir-run-cxx11 specify : pre_old_post_except ]
  319. [ boost_contract_build.subdir-run-cxx11 specify : pre_old_post ]
  320. [ boost_contract_build.subdir-run-cxx11 specify : pre_old_except ]
  321. [ boost_contract_build.subdir-run-cxx11 specify : pre_post_except ]
  322. [ boost_contract_build.subdir-run-cxx11 specify : old_post_except ]
  323. [ boost_contract_build.subdir-run-cxx11 specify : pre_old ]
  324. [ boost_contract_build.subdir-run-cxx11 specify : pre_post ]
  325. [ boost_contract_build.subdir-run-cxx11 specify : pre_except ]
  326. [ boost_contract_build.subdir-run-cxx11 specify : old_post ]
  327. [ boost_contract_build.subdir-run-cxx11 specify : old_except ]
  328. [ boost_contract_build.subdir-run-cxx11 specify : post_except ]
  329. [ boost_contract_build.subdir-run-cxx11 specify : pre ]
  330. [ boost_contract_build.subdir-run-cxx11 specify : old ]
  331. [ boost_contract_build.subdir-run-cxx11 specify : post ]
  332. [ boost_contract_build.subdir-run-cxx11 specify : except ]
  333. [ boost_contract_build.subdir-run specify : nothing ]
  334. [ boost_contract_build.subdir-compile-fail-cxx11 specify :
  335. except_post_error ]
  336. [ boost_contract_build.subdir-compile-fail-cxx11 specify :
  337. except_old_error ]
  338. [ boost_contract_build.subdir-compile-fail-cxx11 specify :
  339. except_pre_error ]
  340. [ boost_contract_build.subdir-compile-fail-cxx11 specify : post_old_error ]
  341. [ boost_contract_build.subdir-compile-fail-cxx11 specify : post_pre_error ]
  342. [ boost_contract_build.subdir-compile-fail-cxx11 specify : old_pre_error ]
  343. [ boost_contract_build.subdir-run-cxx11 specify : missing_check :
  344. <define>BOOST_CONTRACT_ON_MISSING_CHECK_DECL=\"\{\ throw\ err()\;\ \}\"
  345. ]
  346. [ boost_contract_build.subdir-compile-fail specify : auto_error :
  347. [ requires cxx11_auto_declarations ] ]
  348. [ boost_contract_build.subdir-compile-fail-cxx11 specify : auto_pre_error :
  349. [ requires cxx11_auto_declarations ] ]
  350. [ boost_contract_build.subdir-compile-fail-cxx11 specify :
  351. auto_pre_old_error : [ requires cxx11_auto_declarations ] ]
  352. [ boost_contract_build.subdir-compile-fail-cxx11 specify :
  353. auto_pre_old_post_error : [ requires cxx11_auto_declarations ] ]
  354. [ boost_contract_build.subdir-compile-fail-cxx11 specify
  355. : auto_pre_old_post_except_error
  356. : [ requires cxx11_auto_declarations ]
  357. ]
  358. ;
  359. test-suite call_if :
  360. [ boost_contract_build.subdir-run-cxx11 call_if : true_ ]
  361. [ boost_contract_build.subdir-run-cxx11 call_if : false_ ]
  362. [ boost_contract_build.subdir-run-cxx11 call_if : true_void ]
  363. [ boost_contract_build.subdir-run-cxx11 call_if : false_void ]
  364. [ boost_contract_build.subdir-run-cxx11 call_if : equal_to ]
  365. [ boost_contract_build.subdir-run-cxx11 call_if : equal_to_cxx14 :
  366. [ requires cxx14_generic_lambdas ] ]
  367. [ boost_contract_build.subdir-run-cxx11 call_if : no_equal_condition_if ]
  368. [ boost_contract_build.subdir-run-cxx11 call_if : no_equal_call_if ]
  369. [ boost_contract_build.subdir-compile-fail-cxx11 call_if : no_equal_error ]
  370. ;