Jamfile 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413
  1. # Boost regression-testing Jamfile
  2. # (C) Copyright David Abrahams 2002. Permission to copy, use, modify, sell and
  3. # distribute this software is granted provided this copyright notice appears in
  4. # all copies. This software is provided "as is" without express or implied
  5. # warranty, and with no claim as to its suitability for any purpose.
  6. subproject status ;
  7. # bring in the rules for testing
  8. SEARCH on testing.jam = $(BOOST_BUILD_PATH) ;
  9. include testing.jam ;
  10. # Note that the Compiler Status Report HTML generator scans
  11. # these rule invocations to find test type (compile, run, etc.)
  12. # That program is quite stupid and needs help, including test names
  13. # (if supplied) which are unambiguous, not the same as a .cpp file
  14. # name, and preceded and followed by a space. The .cpp file name must
  15. # be given on the same line as the test type.
  16. #
  17. # If the line with the test type includes the comment
  18. # "# compiler_status<always_show_run_output>" then
  19. # run output will be displayed even if the test passes.
  20. {
  21. # look in BOOST_ROOT for sources first, just in this Jamfile
  22. local SEARCH_SOURCE = $(BOOST_ROOT) $(SEARCH_SOURCE) ;
  23. test-suite "bind"
  24. : [ run libs/bind/bind_test.cpp <lib>../libs/test/build/test_exec_monitor ]
  25. [ run libs/bind/mem_fn_test.cpp ]
  26. [ run libs/bind/mem_fn_void_test.cpp ]
  27. [ run libs/bind/mem_fn_derived_test.cpp ]
  28. ;
  29. test-suite config
  30. : [ run libs/config/test/config_test.cpp <lib>../libs/test/build/test_exec_monitor
  31. : #args
  32. : #input-files
  33. : #requirements
  34. <threading>multi
  35. ]
  36. [ run libs/config/test/config_info.cpp ] # compiler_status<always_show_run_output>
  37. [ run libs/config/test/limits_test.cpp <lib>../libs/test/build/test_exec_monitor ]
  38. ;
  39. run libs/any/any_test.cpp ;
  40. run libs/array/array1.cpp ;
  41. test-suite concept_check
  42. : [ compile libs/concept_check/concept_check_test.cpp ]
  43. [ compile libs/concept_check/class_concept_check_test.cpp ]
  44. [ link-fail libs/concept_check/concept_check_fail_expected.cpp ]
  45. [ link-fail libs/concept_check/class_concept_fail_expected.cpp ]
  46. ;
  47. test-suite conversion
  48. : [ run libs/conversion/cast_test.cpp ]
  49. [ run libs/conversion/lexical_cast_test.cpp ]
  50. ;
  51. run libs/crc/crc_test.cpp <lib>../libs/test/build/test_exec_monitor ;
  52. test-suite dynamic_bitset
  53. : [ run libs/dynamic_bitset/dyn_bitset_unit_tests1.cpp <lib>../libs/test/build/test_exec_monitor ]
  54. [ run libs/dynamic_bitset/dyn_bitset_unit_tests2.cpp <lib>../libs/test/build/test_exec_monitor ]
  55. [ run libs/dynamic_bitset/dyn_bitset_unit_tests3.cpp <lib>../libs/test/build/test_exec_monitor ]
  56. ;
  57. test-suite function
  58. : [ run libs/function/test/deprecated_syntax_test.cpp <lib>../libs/test/build/test_exec_monitor ]
  59. [ run libs/function/test/function_test.cpp <lib>../libs/test/build/test_exec_monitor ]
  60. [ run libs/function/test/function_n_test.cpp <lib>../libs/test/build/test_exec_monitor ]
  61. [ run libs/function/test/allocator_test.cpp <lib>../libs/test/build/test_exec_monitor ]
  62. [ run libs/function/test/stateless_test.cpp <lib>../libs/test/build/test_exec_monitor ]
  63. [ compile-fail libs/function/test/function_test_fail1.cpp <lib>../libs/test/build/test_exec_monitor ]
  64. [ compile-fail libs/function/test/function_test_fail2.cpp <lib>../libs/test/build/test_exec_monitor ]
  65. ;
  66. run libs/functional/function_test.cpp ;
  67. run libs/graph/test/graph.cpp ;
  68. test-suite integer
  69. : [ run libs/integer/cstdint_test.cpp ]
  70. [ run libs/integer/integer_test.cpp <lib>../libs/test/build/test_exec_monitor ]
  71. [ run libs/integer/integer_traits_test.cpp <lib>../libs/test/build/test_exec_monitor ]
  72. ;
  73. run
  74. libs/io/test/ios_state_test.cpp <lib>../libs/test/build/test_exec_monitor # sources
  75. : # args
  76. : # input-files
  77. : <runtime-link>static # requirements (static runtime required by Metrowerks)
  78. ;
  79. test-suite lambda
  80. : [ run libs/lambda/test/bind_tests_simple.cpp <lib>../libs/test/build/test_exec_monitor ]
  81. [ run libs/lambda/test/bind_tests_advanced.cpp <lib>../libs/test/build/test_exec_monitor ]
  82. [ run libs/lambda/test/bind_tests_simple_f_refs.cpp <lib>../libs/test/build/test_exec_monitor ]
  83. [ run libs/lambda/test/bll_and_function.cpp <lib>../libs/test/build/test_exec_monitor ]
  84. [ run libs/lambda/test/cast_test.cpp <lib>../libs/test/build/test_exec_monitor ]
  85. [ run libs/lambda/test/constructor_tests.cpp <lib>../libs/test/build/test_exec_monitor ]
  86. [ run libs/lambda/test/control_structures.cpp <lib>../libs/test/build/test_exec_monitor ]
  87. [ run libs/lambda/test/exception_test.cpp <lib>../libs/test/build/test_exec_monitor ]
  88. [ run libs/lambda/test/extending_rt_traits.cpp <lib>../libs/test/build/test_exec_monitor ]
  89. [ run libs/lambda/test/is_instance_of_test.cpp <lib>../libs/test/build/test_exec_monitor ]
  90. [ run libs/lambda/test/member_pointer_test.cpp <lib>../libs/test/build/test_exec_monitor ]
  91. [ run libs/lambda/test/operator_tests_simple.cpp <lib>../libs/test/build/test_exec_monitor ]
  92. [ run libs/lambda/test/phoenix_control_structures.cpp <lib>../libs/test/build/test_exec_monitor ]
  93. [ run libs/lambda/test/switch_construct.cpp <lib>../libs/test/build/test_exec_monitor ]
  94. ;
  95. test-suite math
  96. : [ run libs/math/test/common_factor_test.cpp <lib>../libs/test/build/test_exec_monitor ]
  97. [ run libs/math/octonion/octonion_test.cpp <lib>../libs/test/build/test_exec_monitor ]
  98. [ run libs/math/quaternion/quaternion_test.cpp <lib>../libs/test/build/test_exec_monitor ]
  99. [ run libs/math/special_functions/special_functions_test.cpp <lib>../libs/test/build/test_exec_monitor ]
  100. ;
  101. run libs/pool/test/test_pool_alloc.cpp <lib>../libs/test/build/test_exec_monitor ;
  102. test-suite rational
  103. : [ run libs/rational/rational_example.cpp ]
  104. [ run libs/rational/rational_test.cpp ]
  105. ;
  106. test-suite random
  107. : [ run libs/random/random_test.cpp <lib>../libs/test/build/test_exec_monitor ]
  108. [ run libs/random/random_demo.cpp ]
  109. ;
  110. run libs/utility/addressof_test.cpp <lib>../libs/test/build/test_exec_monitor ;
  111. run libs/utility/ref_test.cpp <lib>../libs/test/build/test_exec_monitor ;
  112. {
  113. local test-dir = $(BOOST_ROOT)$(SLASH)libs$(SLASH)regex$(SLASH)test$(SLASH)regress$(SLASH) ;
  114. local test-files = $(test-dir)tests.txt
  115. # dwa -- not sure if this is generally applicable
  116. # $(test-dir)test1252.txt
  117. ;
  118. test-suite regex
  119. : [ run libs/regex/test/regress/parse.cpp libs/regex/test/regress/regress.cpp libs/regex/test/regress/tests.cpp
  120. <lib>../libs/regex/build/boost_regex$(SUFLIB)
  121. <lib>../libs/test/build/prg_exec_monitor
  122. :
  123. $(test-files)
  124. :
  125. :
  126. <define>BOOST_REGEX_NO_LIB=1
  127. <define>BOOST_REGEX_STATIC_LINK=1
  128. :
  129. regress ]
  130. [ run libs/regex/test/regress/parse.cpp libs/regex/test/regress/regress.cpp libs/regex/test/regress/tests.cpp
  131. <lib>../libs/regex/build/boost_regex$(SUFLIB)
  132. <lib>../libs/test/build/prg_exec_monitor
  133. :
  134. $(test-files)
  135. :
  136. :
  137. <define>BOOST_REGEX_NO_LIB=1
  138. <define>TEST_UNICODE=1
  139. <define>BOOST_REGEX_STATIC_LINK=1
  140. :
  141. wregress ]
  142. [ run libs/regex/test/c_compiler_checks/posix_api_check.c
  143. <lib>../libs/regex/build/boost_regex$(SUFLIB)
  144. <lib>../libs/test/build/prg_exec_monitor
  145. :
  146. :
  147. :
  148. <define>BOOST_REGEX_NO_LIB=1
  149. <define>BOOST_REGEX_STATIC_LINK=1
  150. :
  151. posix_api_check_c ]
  152. [ run libs/regex/test/c_compiler_checks/wide_posix_api_check.c
  153. <lib>../libs/regex/build/boost_regex$(SUFLIB)
  154. :
  155. :
  156. :
  157. <define>BOOST_REGEX_NO_LIB=1
  158. <define>BOOST_REGEX_STATIC_LINK=1
  159. :
  160. wide_posix_api_check_c ]
  161. [ run libs/regex/test/c_compiler_checks/posix_api_check.cpp
  162. <lib>../libs/regex/build/boost_regex$(SUFLIB)
  163. :
  164. :
  165. :
  166. <define>BOOST_REGEX_NO_LIB=1
  167. <define>BOOST_REGEX_STATIC_LINK=1
  168. ]
  169. [ run libs/regex/test/c_compiler_checks/wide_posix_api_check.cpp
  170. <lib>../libs/regex/build/boost_regex$(SUFLIB)
  171. :
  172. :
  173. :
  174. <define>BOOST_REGEX_NO_LIB=1
  175. <define>BOOST_REGEX_STATIC_LINK=1
  176. ]
  177. ;
  178. }
  179. test-suite signals
  180. : [ run libs/signals/test/dead_slot_test.cpp
  181. <lib>../libs/test/build/test_exec_monitor
  182. <lib>../libs/signals/build/boost_signals$(SUFLIB) ]
  183. [ run libs/signals/test/deletion_test.cpp
  184. <lib>../libs/test/build/test_exec_monitor
  185. <lib>../libs/signals/build/boost_signals$(SUFLIB) ]
  186. [ run libs/signals/test/ordering_test.cpp
  187. <lib>../libs/test/build/test_exec_monitor
  188. <lib>../libs/signals/build/boost_signals$(SUFLIB) ]
  189. [ run libs/signals/test/signal_n_test.cpp
  190. <lib>../libs/test/build/test_exec_monitor
  191. <lib>../libs/signals/build/boost_signals$(SUFLIB) ]
  192. [ run libs/signals/test/signal_test.cpp
  193. <lib>../libs/test/build/test_exec_monitor
  194. <lib>../libs/signals/build/boost_signals$(SUFLIB) ]
  195. [ run libs/signals/test/trackable_test.cpp
  196. <lib>../libs/test/build/test_exec_monitor
  197. <lib>../libs/signals/build/boost_signals$(SUFLIB) ]
  198. ;
  199. test-suite smart_ptr
  200. : [ run libs/smart_ptr/smart_ptr_test.cpp <lib>../libs/test/build/test_exec_monitor ]
  201. [ run libs/smart_ptr/shared_ptr_test.cpp <lib>../libs/test/build/test_exec_monitor ]
  202. [ compile-fail libs/smart_ptr/shared_ptr_assign_fail.cpp ]
  203. ;
  204. test-suite static_assert
  205. : [ compile libs/static_assert/static_assert_test.cpp ]
  206. [ compile-fail libs/static_assert/static_assert_test_fail_1.cpp ]
  207. [ compile-fail libs/static_assert/static_assert_test_fail_2.cpp ]
  208. [ compile-fail libs/static_assert/static_assert_test_fail_3.cpp ]
  209. [ compile-fail libs/static_assert/static_assert_test_fail_4.cpp ]
  210. [ compile-fail libs/static_assert/static_assert_test_fail_5.cpp ]
  211. [ compile-fail libs/static_assert/static_assert_test_fail_6.cpp ]
  212. [ compile-fail libs/static_assert/static_assert_test_fail_7.cpp ]
  213. [ link-fail libs/static_assert/static_assert_test_fail_8.cpp ]
  214. ;
  215. {
  216. local threadmon ;
  217. local thread-sources ;
  218. local thread-requirements ;
  219. if $(NT)
  220. {
  221. threadmon = <dll>../libs/thread/build/boost_threadmon ;
  222. }
  223. thread-sources = <lib>../libs/thread/build/boost_thread
  224. <lib>../libs/test/build/unit_test_framework
  225. $(threadmon)
  226. ;
  227. thread-requirements = <threading>multi ;
  228. test-suite threads
  229. : [ run libs/thread/test/test_thread.cpp $(thread-sources)
  230. : #args
  231. : #input-files
  232. : $(thread-requirements)
  233. ]
  234. [ run libs/thread/test/test_mutex.cpp $(thread-sources)
  235. : #args
  236. : #input-files
  237. : $(thread-requirements)
  238. ]
  239. [ run libs/thread/test/test_condition.cpp $(thread-sources)
  240. : #args
  241. : #input-files
  242. : $(thread-requirements)
  243. ]
  244. [ run libs/thread/test/test_tss.cpp $(thread-sources)
  245. : #args
  246. : #input-files
  247. : $(thread-requirements)
  248. ]
  249. [ run libs/thread/test/test_once.cpp $(thread-sources)
  250. : #args
  251. : #input-files
  252. : $(thread-requirements)
  253. ]
  254. [ run libs/thread/test/test_xtime.cpp $(thread-sources)
  255. : #args
  256. : #input-files
  257. : $(thread-requirements)
  258. ]
  259. ;
  260. }
  261. compile libs/timer/timer_test.cpp ;
  262. test-suite tokenizer
  263. : [ run libs/tokenizer/examples.cpp <lib>../libs/test/build/test_exec_monitor ]
  264. [ run libs/tokenizer/simple_example_1.cpp ]
  265. [ run libs/tokenizer/simple_example_2.cpp ]
  266. [ run libs/tokenizer/simple_example_3.cpp ]
  267. [ run libs/tokenizer/simple_example_4.cpp ]
  268. [ run libs/tokenizer/simple_example_5.cpp ]
  269. ;
  270. test-suite type_traits
  271. : [ run libs/type_traits/tests/alignment_test.cpp <lib>../libs/test/build/prg_exec_monitor ]
  272. [ run libs/type_traits/tests/arithmetic_traits_test.cpp <lib>../libs/test/build/prg_exec_monitor ]
  273. [ run libs/type_traits/tests/composite_traits_test.cpp <lib>../libs/test/build/prg_exec_monitor ]
  274. [ run libs/type_traits/tests/cv_traits_test.cpp <lib>../libs/test/build/prg_exec_monitor ]
  275. [ run libs/type_traits/tests/function_traits_test.cpp <lib>../libs/test/build/test_exec_monitor ]
  276. [ run libs/type_traits/tests/is_function_test.cpp <lib>../libs/test/build/prg_exec_monitor ]
  277. [ run libs/type_traits/tests/is_convertible_test.cpp <lib>../libs/test/build/prg_exec_monitor ]
  278. [ run libs/type_traits/tests/is_same_test.cpp <lib>../libs/test/build/prg_exec_monitor ]
  279. [ run libs/type_traits/tests/object_type_traits_test.cpp <lib>../libs/test/build/prg_exec_monitor ]
  280. [ run libs/type_traits/tests/transform_traits_test.cpp <lib>../libs/test/build/prg_exec_monitor ]
  281. ;
  282. run libs/utility/call_traits_test.cpp : -u ;
  283. compile-fail libs/utility/checked_delete_test.cpp ;
  284. run libs/utility/compressed_pair_test.cpp <lib>../libs/test/build/test_exec_monitor : -u ;
  285. test-suite iterator_adaptors
  286. : [ run libs/utility/counting_iterator_test.cpp : # args
  287. : # input files
  288. : # requirements
  289. # borland warns incorrectly in this case, so often that
  290. # successful compilation is prevented.
  291. <borland><*><cxxflags>"-w-8091 -w-8092"
  292. ]
  293. [ run libs/utility/iterator_adaptor_test.cpp ]
  294. [ compile-fail libs/utility/iter_adaptor_fail_expected1.cpp ]
  295. [ compile-fail libs/utility/iter_adaptor_fail_expected2.cpp ]
  296. [ run libs/utility/transform_iterator_test.cpp ]
  297. [ run libs/utility/indirect_iterator_test.cpp ]
  298. [ run libs/utility/iter_traits_gen_test.cpp ]
  299. [ run libs/utility/iterator_adaptor_examples.cpp ]
  300. [ run libs/utility/counting_iterator_example.cpp ]
  301. [ run libs/utility/filter_iterator_example.cpp ]
  302. [ run libs/utility/fun_out_iter_example.cpp ]
  303. [ run libs/utility/indirect_iterator_example.cpp ]
  304. [ run libs/utility/projection_iterator_example.cpp ]
  305. [ run libs/utility/reverse_iterator_example.cpp ]
  306. [ run libs/utility/transform_iterator_example.cpp ]
  307. ;
  308. run libs/utility/iterator_traits_test.cpp ;
  309. run libs/utility/iterators_test.cpp <lib>../libs/test/build/test_exec_monitor ;
  310. compile-fail libs/utility/noncopyable_test.cpp ;
  311. run libs/utility/numeric_traits_test.cpp ;
  312. run libs/utility/operators_test.cpp <lib>../libs/test/build/test_exec_monitor ;
  313. run libs/utility/tie_example.cpp ;
  314. run libs/utility/binary_search_test.cpp <lib>../libs/test/build/test_exec_monitor ;
  315. test-suite multi_array
  316. : [ run libs/multi_array/test/constructors.cpp <lib>../libs/test/build/test_exec_monitor ]
  317. [ run libs/multi_array/test/access.cpp <lib>../libs/test/build/test_exec_monitor ]
  318. [ run libs/multi_array/test/compare.cpp <lib>../libs/test/build/test_exec_monitor ]
  319. [ run libs/multi_array/test/iterators.cpp <lib>../libs/test/build/test_exec_monitor ]
  320. [ run libs/multi_array/test/slice.cpp <lib>../libs/test/build/test_exec_monitor ]
  321. [ run libs/multi_array/test/assign.cpp <lib>../libs/test/build/test_exec_monitor ]
  322. [ run libs/multi_array/test/index_bases.cpp <lib>../libs/test/build/test_exec_monitor ]
  323. [ run libs/multi_array/test/storage_order.cpp <lib>../libs/test/build/test_exec_monitor ]
  324. [ run libs/multi_array/test/reshape.cpp <lib>../libs/test/build/test_exec_monitor ]
  325. [ run libs/multi_array/test/range1.cpp <lib>../libs/test/build/test_exec_monitor ]
  326. [ run libs/multi_array/test/idxgen1.cpp <lib>../libs/test/build/test_exec_monitor ]
  327. [ run libs/multi_array/test/stl_interaction.cpp <lib>../libs/test/build/test_exec_monitor ]
  328. [ compile libs/multi_array/test/concept_checks.cpp ]
  329. [ compile-fail libs/multi_array/test/fail_cbracket.cpp ]
  330. [ compile-fail libs/multi_array/test/fail_cdata.cpp ]
  331. [ compile-fail libs/multi_array/test/fail_citerator.cpp ]
  332. [ compile-fail libs/multi_array/test/fail_cparen.cpp ]
  333. [ compile-fail libs/multi_array/test/fail_criterator.cpp ]
  334. [ compile-fail libs/multi_array/test/fail_csubarray.cpp ]
  335. [ compile-fail libs/multi_array/test/fail_csubarray2.cpp ]
  336. [ compile-fail libs/multi_array/test/fail_csubarray3.cpp ]
  337. [ compile-fail libs/multi_array/test/fail_cview.cpp ]
  338. [ compile-fail libs/multi_array/test/fail_cview2.cpp ]
  339. [ compile-fail libs/multi_array/test/fail_cview3.cpp ]
  340. [ compile-fail libs/multi_array/test/fail_ref_cbracket.cpp ]
  341. [ compile-fail libs/multi_array/test/fail_ref_cdata.cpp ]
  342. [ compile-fail libs/multi_array/test/fail_ref_citerator.cpp ]
  343. [ compile-fail libs/multi_array/test/fail_ref_cparen.cpp ]
  344. [ compile-fail libs/multi_array/test/fail_ref_criterator.cpp ]
  345. [ compile-fail libs/multi_array/test/fail_ref_csubarray.cpp ]
  346. [ compile-fail libs/multi_array/test/fail_ref_csubarray2.cpp ]
  347. [ compile-fail libs/multi_array/test/fail_ref_csubarray3.cpp ]
  348. [ compile-fail libs/multi_array/test/fail_ref_cview.cpp ]
  349. [ compile-fail libs/multi_array/test/fail_ref_cview2.cpp ]
  350. [ compile-fail libs/multi_array/test/fail_ref_cview3.cpp ]
  351. ;
  352. }
粤ICP备19079148号