Jamfile 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305
  1. #==============================================================================
  2. # Copyright (c) 2003-2006 Joel de Guzman
  3. # Copyright (c) 2014-2015 John Fletcher
  4. #
  5. # Use, modification and distribution is subject to the Boost Software
  6. # License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
  7. # http://www.boost.org/LICENSE_1_0.txt)
  8. #==============================================================================
  9. # bring in rules for testing
  10. import testing ;
  11. import os ;
  12. import ../../config/checks/config : requires ;
  13. if [ os.environ CI ]
  14. {
  15. CI_DEFINES = <define>CI_SKIP_KNOWN_FAILURE=1 ;
  16. CI_DEFINES += <define>RUNNING_ON_TRAVIS=1 ; # for backward compatibility
  17. CI_DEFINES += <define>RUNNING_ON_APPVEYOR=1 ; # for backward compatibility
  18. }
  19. project
  20. : requirements
  21. <toolset>msvc:<define>_SCL_SECURE_NO_DEPRECATE
  22. <toolset>msvc:<define>_SCL_SECURE_NO_WARNINGS
  23. <toolset>msvc:<define>_CRT_SECURE_NO_DEPRECATE
  24. <toolset>msvc:<define>_CRT_SECURE_NO_WARNINGS
  25. $(CI_DEFINES)
  26. ;
  27. local multi-threading = <library>/boost/thread
  28. <threading>multi <define>BOOST_ALL_NO_LIB=1 ;
  29. test-suite phoenix_core :
  30. [ run core/custom_terminal.cpp ]
  31. [ run core/intel_test.cpp ]
  32. [ run core/primitives_tests.cpp ]
  33. ;
  34. test-suite phoenix_stdlib :
  35. [ run stdlib/cmath.cpp ]
  36. ;
  37. test-suite phoenix_operator :
  38. [ run operator/arithmetic_tests.cpp ]
  39. [ run operator/bitwise_tests.cpp ]
  40. [ run operator/comparison_tests.cpp ]
  41. [ run operator/if_else_tests.cpp ]
  42. [ run operator/io_tests.cpp ]
  43. [ run operator/logical_tests.cpp ]
  44. [ run operator/misc_binary_tests.cpp ]
  45. [ run operator/self_tests.cpp ]
  46. [ run operator/unary_tests.cpp ]
  47. [ run operator/member.cpp ]
  48. ;
  49. test-suite phoenix_object :
  50. [ run object/cast_tests.cpp ]
  51. [ run object/new_delete_tests.cpp ]
  52. ;
  53. test-suite phoenix_function :
  54. [ run function/adapt_function.cpp ]
  55. [ run function/function_tests.cpp ]
  56. [ run function/lazy_argument_tests.cpp ]
  57. # [ run function/lazy_compose_tests.cpp ]
  58. # [ run function/lazy_fold_tests.cpp ]
  59. [ run function/lazy_list_tests.cpp ]
  60. [ run function/lazy_list2_tests.cpp ]
  61. [ run function/lazy_list3_tests.cpp ]
  62. [ run function/lazy_make_pair_tests.cpp ]
  63. # [ run function/lazy_ptr_tests.cpp ]
  64. # [ run function/lazy_scan_tests.cpp ]
  65. [ run function/lazy_templated_struct_tests.cpp ]
  66. # [ run function/lazy_thunk_tests.cpp ]
  67. [ run function/lazy_operator_tests.cpp ]
  68. # [ run function/function_tests_phx2.cpp ]
  69. ;
  70. test-suite phoenix_bind :
  71. [ run bind/bind_function_tests.cpp ]
  72. [ run bind/bind_function_object_tests.cpp ]
  73. # [ run bind/bind_function_object_tests_phx2.cpp ]
  74. [ run bind/bind_member_function_tests.cpp ]
  75. [ run bind/bind_member_variable_tests.cpp ]
  76. [ run bind/bug5782.cpp ]
  77. ;
  78. test-suite phoenix_statement :
  79. [ run statement/if_tests.cpp ]
  80. [ run statement/loops_tests.cpp ]
  81. [ run statement/switch_tests.cpp ]
  82. [ run statement/exceptions.cpp ]
  83. [ run statement/bug5715.cpp ]
  84. ;
  85. test-suite phoenix_container :
  86. [ run container/container_tests1a.cpp ]
  87. [ run container/container_tests1b.cpp ]
  88. [ run container/container_tests2a.cpp ]
  89. [ run container/container_tests2b.cpp ]
  90. [ run container/container_tests3a.cpp ]
  91. [ run container/container_tests3b.cpp ]
  92. [ run container/container_tests4a.cpp ]
  93. [ run container/container_tests4b.cpp ]
  94. [ run container/container_tests5a.cpp ]
  95. [ run container/container_tests5b.cpp ]
  96. [ run container/container_tests6a.cpp ]
  97. [ run container/container_tests6b.cpp ]
  98. [ run container/container_tests7a.cpp ]
  99. [ run container/container_tests7b.cpp ]
  100. [ run container/container_tests8a.cpp ]
  101. [ run container/container_tests8b.cpp : : : [ requires cxx11_hdr_unordered_map ] ]
  102. [ run container/container_tests9a.cpp : : : [ requires cxx11_hdr_unordered_map ] ]
  103. [ run container/container_tests9b.cpp : : : [ requires cxx11_hdr_unordered_map ] ]
  104. [ run container/container_tests10a.cpp : : : [ requires cxx11_hdr_unordered_map ] ]
  105. [ run container/container_tests10b.cpp : : : [ requires cxx11_hdr_unordered_map ] ]
  106. [ run container/container_tests11a.cpp : : : [ requires cxx11_hdr_unordered_set ] ]
  107. [ run container/container_tests11b.cpp : : : [ requires cxx11_hdr_unordered_set ] ]
  108. [ run container/container_tests12a.cpp : : : [ requires cxx11_hdr_unordered_set ] ]
  109. [ run container/container_tests12b.cpp : : : [ requires cxx11_hdr_unordered_set ] ]
  110. ;
  111. test-suite phoenix_scope :
  112. [ run scope/lambda_tests1.cpp ]
  113. [ run scope/lambda_tests2.cpp ]
  114. [ run scope/lambda_tests3.cpp ]
  115. [ run scope/lambda_tests4.cpp ]
  116. [ run scope/lambda_tests5.cpp ]
  117. [ run scope/lambda_tests6.cpp ]
  118. [ run scope/lambda_tests7.cpp ]
  119. [ run scope/lambda_tests8.cpp ]
  120. [ run scope/lambda_tests9.cpp ]
  121. [ run scope/lambda_tests10.cpp ]
  122. [ run scope/lambda_tests11.cpp ]
  123. [ run scope/lambda_tests12.cpp ]
  124. [ run scope/lambda_tests13.cpp ]
  125. [ run scope/lambda_tests14.cpp ]
  126. [ run scope/lambda_tests15.cpp ]
  127. [ run scope/lambda_tests16.cpp ]
  128. [ run scope/lambda_tests17.cpp ]
  129. [ run scope/lambda_tests18.cpp ]
  130. [ run scope/lambda_tests19.cpp ]
  131. [ run scope/lambda_tests20.cpp ]
  132. [ run scope/lambda_tests21.cpp ]
  133. [ run scope/lambda_tests22.cpp ]
  134. [ run scope/lambda_tests23.cpp ]
  135. # [ run scope/lambda_tests_phx2.cpp ]
  136. [ run scope/let_tests.cpp ]
  137. [ run scope/let_tests_113.cpp ]
  138. # [ run scope/let_tests_113a.cpp ]
  139. [ run scope/let_tests_157.cpp ]
  140. # [ run scope/let_tests_157a.cpp ]
  141. [ run scope/let_tests_rest.cpp ]
  142. [ run scope/more_lambda_tests.cpp ]
  143. [ run scope/more_let_tests.cpp ]
  144. # [ run scope/more_let_tests1.cpp ]
  145. # [ run scope/more_let_tests2a.cpp ]
  146. # [ run scope/more_let_tests2b.cpp ]
  147. [ run scope/dynamic_tests.cpp ]
  148. [ run scope/bug3289.cpp ]
  149. [ run scope/bug8298.cpp ]
  150. [ compile-fail scope/bug8298f.cpp ]
  151. [ run scope/bug_000008.cpp : : : $(multi-threading) ]
  152. ;
  153. test-suite phoenix_algorithm :
  154. [ run algorithm/for_each.cpp ]
  155. [ run algorithm/for_each2.cpp ]
  156. [ run algorithm/for_test.cpp ]
  157. [ run algorithm/for_test2.cpp ]
  158. [ run algorithm/iteration.cpp ]
  159. [ run algorithm/transformation1.cpp ]
  160. [ run algorithm/transformation2.cpp ]
  161. [ run algorithm/transformation3.cpp ]
  162. [ run algorithm/transformation4.cpp ]
  163. [ run algorithm/querying.cpp ]
  164. [ run algorithm/querying_find.cpp ]
  165. [ run algorithm/querying2.cpp ]
  166. [ run algorithm/querying_find2.cpp ]
  167. ;
  168. test-suite phoenix_boost_bind_compatibility :
  169. [ run boost_bind_compatibility/bind_and_or_test.cpp ]
  170. [ run boost_bind_compatibility/bind_const_test.cpp ]
  171. [ run boost_bind_compatibility/bind_cv_test.cpp ]
  172. [ run boost_bind_compatibility/bind_dm_test.cpp ]
  173. # [ run boost_bind_compatibility/bind_dm1_test.cpp ]
  174. [ run boost_bind_compatibility/bind_dm2_test.cpp ]
  175. [ run boost_bind_compatibility/bind_dm3_test.cpp ]
  176. [ run boost_bind_compatibility/bind_eq_test.cpp ]
  177. [ run boost_bind_compatibility/bind_eq2_test.cpp ]
  178. [ run boost_bind_compatibility/bind_eq3_test.cpp ]
  179. [ run boost_bind_compatibility/bind_fn2_test.cpp ]
  180. [ run boost_bind_compatibility/bind_function_test.cpp ]
  181. [ run boost_bind_compatibility/bind_interoperation_test.cpp ]
  182. [ run boost_bind_compatibility/bind_mf2_test.cpp ]
  183. [ run boost_bind_compatibility/bind_not_test.cpp ]
  184. [ run boost_bind_compatibility/bind_placeholder_test.cpp ]
  185. [ run boost_bind_compatibility/bind_ref_test.cpp ]
  186. [ run boost_bind_compatibility/bind_rel_test.cpp ]
  187. [ run boost_bind_compatibility/bind_rvalue_test.cpp ]
  188. [ run boost_bind_compatibility/bind_rv_sp_test.cpp ]
  189. # [ run boost_bind_compatibility/bind_rv_sp1_test.cpp ]
  190. # [ run boost_bind_compatibility/bind_rv_sp2_test.cpp ]
  191. # [ run boost_bind_compatibility/bind_rv_sp3_test.cpp ]
  192. # [ run boost_bind_compatibility/bind_rv_sp4_test.cpp ]
  193. # [ run boost_bind_compatibility/bind_rv_sp5_test.cpp ]
  194. # [ run boost_bind_compatibility/bind_rv_sp6_test.cpp ]
  195. # [ run boost_bind_compatibility/bind_rv_sp7_test.cpp ]
  196. [ run boost_bind_compatibility/bind_stateful_test.cpp ]
  197. [ run boost_bind_compatibility/bind_test.cpp ]
  198. # [ run boost_bind_compatibility/bind_void_dm_test.cpp ]
  199. ;
  200. test-suite phoenix_regression :
  201. [ run regression/bug4853.cpp ]
  202. [ run regression/bug5626.cpp ]
  203. [ run regression/bug5824.cpp ]
  204. # [ run regression/bug5875.cpp ]
  205. [ run regression/bug5968.cpp ]
  206. [ run regression/bug6040.cpp ]
  207. [ run regression/bug6268.cpp ]
  208. [ run regression/bug7165.cpp ]
  209. [ compile-fail regression/bug7166.cpp ]
  210. [ run regression/bug7624.cpp ]
  211. [ compile regression/from_array.cpp ]
  212. [ run regression/actor_assignment.cpp ]
  213. ;
  214. test-suite phoenix_include :
  215. [ run include/bind.cpp ]
  216. [ run include/core.cpp ]
  217. [ run include/function.cpp ]
  218. [ run include/fusion.cpp ]
  219. [ run include/object.cpp ]
  220. [ run include/operator.cpp ]
  221. [ run include/scope.cpp ]
  222. # [ run include/spirit.cpp ]
  223. # [ run include/spirit_no_specialize.cpp ]
  224. [ run include/statement.cpp ]
  225. [ run include/stl.cpp ]
  226. [ run include/version.cpp ]
  227. [ run include/bind/bind_member_function.cpp ]
  228. [ run include/bind/bind_member_variable.cpp ]
  229. [ run include/core/actor.cpp ]
  230. [ run include/core/argument.cpp ]
  231. [ run include/core/arity.cpp ]
  232. [ run include/core/debug.cpp ]
  233. [ run include/core/domain.cpp ]
  234. [ run include/core/environment.cpp ]
  235. [ run include/core/expression.cpp ]
  236. [ run include/core/function_equal.cpp ]
  237. [ run include/core/is_actor.cpp ]
  238. [ run include/core/is_nullary.cpp ]
  239. [ run include/core/limits.cpp ]
  240. [ run include/core/meta_grammar.cpp ]
  241. [ run include/core/nothing.cpp ]
  242. [ run include/core/reference.cpp ]
  243. [ run include/core/terminal.cpp ]
  244. # [ run include/core/bug7730.cpp ]
  245. [ run include/core/value.cpp ]
  246. [ run include/core/visit_each.cpp ]
  247. [ run include/function/function.cpp : : : : function_function ]
  248. [ run include/function/lazy_headers.cpp ]
  249. [ run include/fusion/at.cpp ]
  250. [ run include/object/const_cast.cpp ]
  251. [ run include/object/construct.cpp ]
  252. [ run include/object/delete.cpp ]
  253. [ run include/object/dynamic_cast.cpp ]
  254. [ run include/object/new.cpp ]
  255. [ run include/object/reinterpret_cast.cpp ]
  256. [ run include/object/static_cast.cpp ]
  257. [ run include/operator/arithmetic.cpp ]
  258. [ run include/operator/bitwise.cpp ]
  259. [ run include/operator/comparison.cpp ]
  260. [ run include/operator/if_else.cpp ]
  261. [ run include/operator/io.cpp ]
  262. [ run include/operator/logical.cpp ]
  263. [ run include/operator/member.cpp : : : : operator_member ]
  264. [ run include/operator/self.cpp ]
  265. [ run include/scope/dynamic.cpp ]
  266. [ run include/scope/lambda.cpp ]
  267. [ run include/scope/let.cpp ]
  268. [ run include/scope/local_variable.cpp ]
  269. [ run include/scope/scoped_environment.cpp ]
  270. [ run include/scope/this.cpp ]
  271. [ run include/statement/do_while.cpp ]
  272. [ run include/statement/for.cpp ]
  273. [ run include/statement/if.cpp ]
  274. [ run include/statement/sequence.cpp ]
  275. [ run include/statement/switch.cpp ]
  276. [ run include/statement/throw.cpp ]
  277. [ run include/statement/try_catch.cpp ]
  278. [ run include/statement/while.cpp ]
  279. [ run include/stl/algorithm.cpp ]
  280. [ run include/stl/container.cpp ]
  281. [ run include/stl/container/container.cpp : : : : container_container ]
  282. [ run include/stl/algorithm/iteration.cpp : : : : include_iteration ]
  283. [ run include/stl/algorithm/querying.cpp : : : : include_querying ]
  284. [ run include/stl/algorithm/transformation.cpp ]
  285. [ run include/support/iterate.cpp ]
  286. [ run include/support/preprocessor/round.cpp ]
  287. ;