Jamfile.v2 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435
  1. # (C) Copyright Edward Diener 2011,2012
  2. # Use, modification and distribution are subject to the Boost Software License,
  3. # Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
  4. # http://www.boost.org/LICENSE_1_0.txt).
  5. #
  6. # Tti testing Jamfile
  7. #
  8. import testing ;
  9. project tti_tests : requirements <warnings>on
  10. <toolset>gcc:<warnings>all
  11. <toolset>msvc:<warnings>all
  12. <toolset>gcc-4.3.0:<cxxflags>-Wno-variadic-macros
  13. <toolset>gcc-4.4.0:<cxxflags>-Wno-variadic-macros
  14. <toolset>gcc-4.4.7:<cxxflags>-Wno-variadic-macros
  15. <toolset>gcc-4.5.0:<cxxflags>-Wno-variadic-macros
  16. <toolset>gcc-4.5.0:<linkflags>"-Wl,--enable-auto-import"
  17. <toolset>gcc-4.5.2:<cxxflags>-Wno-variadic-macros
  18. <toolset>gcc-4.6.0:<cxxflags>-Wno-variadic-macros
  19. <toolset>gcc-4.6.1:<cxxflags>-Wno-variadic-macros
  20. <toolset>gcc-4.6.2:<cxxflags>-Wno-variadic-macros
  21. <toolset>gcc-4.6.3:<cxxflags>-Wno-variadic-macros
  22. <toolset>gcc-4.7.0:<cxxflags>-Wno-variadic-macros
  23. <toolset>gcc-4.7.2:<cxxflags>-Wno-variadic-macros
  24. ;
  25. #
  26. # Member functions composite syntax
  27. #
  28. alias ttimfsig
  29. :
  30. [ run test_has_member.cpp ]
  31. [ compile test_has_member_compile.cpp ]
  32. [ compile-fail test_has_member_fail.cpp ]
  33. [ compile-fail test_has_member_fail2.cpp ]
  34. [ compile-fail test_has_member_fail3.cpp ]
  35. ;
  36. #
  37. # Member functions composite syntax, cv-qualified
  38. #
  39. alias ttimfsigcv
  40. :
  41. [ run test_has_member_cv.cpp ]
  42. [ compile test_has_member_cv_compile.cpp ]
  43. [ compile-fail test_has_member_cv_fail.cpp ]
  44. [ compile-fail test_has_member_cv_fail2.cpp ]
  45. [ compile-fail test_has_member_cv_fail3.cpp ]
  46. [ compile-fail test_has_member_cv_fail4.cpp ]
  47. [ compile-fail test_has_member_cv_fail5.cpp ]
  48. ;
  49. #
  50. # Member data
  51. #
  52. alias ttimd
  53. :
  54. [ run test_has_mem_data.cpp ]
  55. [ run test_has_mem_data2.cpp ]
  56. [ compile test_has_mem_data_compile.cpp ]
  57. [ compile-fail test_has_mem_data_fail.cpp ]
  58. [ compile-fail test_has_mem_data_fail2.cpp ]
  59. [ compile-fail test_has_mem_data_fail3.cpp ]
  60. ;
  61. #
  62. # Member functions specific syntax
  63. #
  64. alias ttimfn
  65. :
  66. [ run test_has_mem_fun.cpp ]
  67. [ compile test_has_mem_fun_compile.cpp ]
  68. [ compile-fail test_has_mem_fun_fail.cpp ]
  69. [ compile-fail test_has_mem_fun_fail2.cpp ]
  70. [ compile-fail test_has_mem_fun_fail3.cpp ]
  71. ;
  72. #
  73. # Member functions specific syntax, cv-qualified
  74. #
  75. alias ttimfncv
  76. :
  77. [ run test_has_mem_fun_cv.cpp ]
  78. [ compile test_has_mem_fun_cv_compile.cpp ]
  79. [ compile-fail test_has_mem_fun_cv_fail.cpp ]
  80. [ compile-fail test_has_mem_fun_cv_fail2.cpp ]
  81. [ compile-fail test_has_mem_fun_cv_fail3.cpp ]
  82. [ compile-fail test_has_mem_fun_cv_fail4.cpp ]
  83. [ compile-fail test_has_mem_fun_cv_fail5.cpp ]
  84. [ compile-fail test_has_mem_fun_cv_fail6.cpp ]
  85. ;
  86. #
  87. # Static member functions composite syntax
  88. #
  89. alias ttismfsig
  90. :
  91. [ run test_has_static_member.cpp ]
  92. [ compile test_has_static_member_compile.cpp ]
  93. [ compile-fail test_has_static_member_fail.cpp ]
  94. [ compile-fail test_has_static_member_fail2.cpp ]
  95. ;
  96. #
  97. # Static member data
  98. #
  99. alias ttismd
  100. :
  101. [ run test_has_static_mem_data.cpp ]
  102. [ compile test_has_static_mem_data_compile.cpp ]
  103. [ compile-fail test_has_static_mem_data_fail.cpp ]
  104. [ compile-fail test_has_static_mem_data_fail2.cpp ]
  105. [ compile-fail test_has_static_mem_data_fail3.cpp ]
  106. ;
  107. #
  108. # Static member functions
  109. #
  110. alias ttismfn
  111. :
  112. [ run test_has_static_mem_fun.cpp ]
  113. [ compile test_has_static_mem_fun_compile.cpp ]
  114. [ compile-fail test_has_static_mem_fun_fail.cpp ]
  115. [ compile-fail test_has_static_mem_fun_fail2.cpp ]
  116. ;
  117. #
  118. # Member or static member data
  119. #
  120. alias ttidata
  121. :
  122. [ run test_has_data.cpp ]
  123. [ compile test_has_data_compile.cpp ]
  124. [ compile-fail test_has_data_fail.cpp ]
  125. [ compile-fail test_has_data_fail2.cpp ]
  126. [ compile-fail test_has_data_fail3.cpp ]
  127. [ compile-fail test_has_data_fail4.cpp ]
  128. [ compile-fail test_has_data_fail5.cpp ]
  129. [ compile-fail test_has_data_fail6.cpp ]
  130. ;
  131. #
  132. # Member or static member function
  133. #
  134. alias ttifun
  135. :
  136. [ run test_has_fun.cpp ]
  137. [ compile test_has_fun_compile.cpp ]
  138. [ compile-fail test_has_fun_fail.cpp ]
  139. [ compile-fail test_has_fun_fail2.cpp ]
  140. [ compile-fail test_has_fun_fail3.cpp ]
  141. [ compile-fail test_has_fun_fail4.cpp ]
  142. [ compile-fail test_has_fun_fail5.cpp ]
  143. ;
  144. #
  145. # Templates
  146. #
  147. alias ttitmp
  148. :
  149. [ run test_has_template.cpp : : : <define>BOOST_PP_VARIADICS=0 ]
  150. [ compile test_has_template_compile.cpp : <define>BOOST_PP_VARIADICS=0 ]
  151. [ compile-fail test_has_template_fail.cpp : <define>BOOST_PP_VARIADICS=0 ]
  152. [ compile-fail test_has_template_fail2.cpp : <define>BOOST_PP_VARIADICS=0 ]
  153. [ compile-fail test_has_template_fail3.cpp : <define>BOOST_PP_VARIADICS=0 ]
  154. [ compile-fail test_has_template_fail4.cpp : <define>BOOST_PP_VARIADICS=0 ]
  155. ;
  156. #
  157. # Templates, check params
  158. #
  159. alias ttitmpcp
  160. :
  161. [ run test_has_template_cp.cpp : : : <define>BOOST_PP_VARIADICS=0 ]
  162. [ compile test_has_template_cp_compile.cpp : <define>BOOST_PP_VARIADICS=0 ]
  163. [ compile-fail test_has_template_cp_fail.cpp : <define>BOOST_PP_VARIADICS=0 ]
  164. [ compile-fail test_has_template_cp_fail2.cpp : <define>BOOST_PP_VARIADICS=0 ]
  165. [ compile-fail test_has_template_cp_fail3.cpp : <define>BOOST_PP_VARIADICS=0 ]
  166. [ compile-fail test_has_template_cp_fail4.cpp : <define>BOOST_PP_VARIADICS=0 ]
  167. ;
  168. #
  169. # Type
  170. #
  171. alias ttity
  172. :
  173. [ run test_has_type.cpp ]
  174. [ compile test_has_type_compile.cpp ]
  175. [ compile-fail test_has_type_fail.cpp ]
  176. [ compile-fail test_has_type_fail2.cpp ]
  177. [ compile-fail test_has_type_fail3.cpp ]
  178. [ run test_has_type_ct.cpp ]
  179. [ compile test_has_type_ct_compile.cpp ]
  180. [ compile-fail test_has_type_ct_fail.cpp ]
  181. [ compile-fail test_has_type_ct_fail2.cpp ]
  182. [ compile-fail test_has_type_ct_fail3.cpp ]
  183. [ compile-fail test_has_type_ct_fail4.cpp ]
  184. [ compile-fail test_has_type_ct_fail5.cpp ]
  185. ;
  186. #
  187. # Nested type
  188. #
  189. alias ttimemty
  190. :
  191. [ run test_mem_type.cpp ]
  192. [ compile test_mem_type_compile.cpp ]
  193. ;
  194. #
  195. # All of tti, non-variadic macros
  196. #
  197. alias ttinovm : ttimfsig ttimfsigcv ttimd ttimfn ttimfncv ttismfsig ttismd ttismfn ttidata ttifun ttitmp ttitmpcp ttity ttimemty ;
  198. alias ttitmpv : :
  199. <toolset>gcc
  200. <toolset-gcc:version>3.4.2
  201. ;
  202. alias ttitmpv : :
  203. <toolset>gcc
  204. <toolset-gcc:version>3.4.5
  205. ;
  206. alias ttitmpv : :
  207. <toolset>gcc
  208. <toolset-gcc:version>4.1.2
  209. ;
  210. alias ttitmpv : :
  211. <toolset>gcc
  212. <toolset-gcc:version>4.2.1
  213. ;
  214. #
  215. # Templates, variadic macro
  216. #
  217. alias ttitmpv
  218. :
  219. [ run test_has_template.cpp : : :
  220. <toolset>gcc:<cxxflags>-std=c++0x
  221. <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
  222. <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
  223. <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
  224. <define>BOOST_PP_VARIADICS=1 :
  225. test_has_template_v ]
  226. [ compile test_has_template_compile.cpp :
  227. <toolset>gcc:<cxxflags>-std=c++0x
  228. <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
  229. <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
  230. <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
  231. <define>BOOST_PP_VARIADICS=1 :
  232. test_has_template_compile_v ]
  233. [ compile-fail test_has_template_fail.cpp :
  234. <toolset>gcc:<cxxflags>-std=c++0x
  235. <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
  236. <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
  237. <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
  238. <define>BOOST_PP_VARIADICS=1 :
  239. test_has_template_fail_v ]
  240. [ compile-fail test_has_template_fail2.cpp :
  241. <toolset>gcc:<cxxflags>-std=c++0x
  242. <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
  243. <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
  244. <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
  245. <define>BOOST_PP_VARIADICS=1 :
  246. test_has_template_fail2_v ]
  247. [ compile-fail test_has_template_fail3.cpp :
  248. <toolset>gcc:<cxxflags>-std=c++0x
  249. <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
  250. <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
  251. <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
  252. <define>BOOST_PP_VARIADICS=1 :
  253. test_has_template_fail3_v ]
  254. [ compile-fail test_has_template_fail4.cpp :
  255. <toolset>gcc:<cxxflags>-std=c++0x
  256. <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
  257. <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
  258. <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
  259. <define>BOOST_PP_VARIADICS=1 :
  260. test_has_template_fail4_v ]
  261. ;
  262. alias ttitmpcpv : :
  263. <toolset>gcc
  264. <toolset-gcc:version>3.4.2
  265. ;
  266. alias ttitmpcpv : :
  267. <toolset>gcc
  268. <toolset-gcc:version>3.4.5
  269. ;
  270. alias ttitmpcpv : :
  271. <toolset>gcc
  272. <toolset-gcc:version>4.1.2
  273. ;
  274. alias ttitmpcpv : :
  275. <toolset>gcc
  276. <toolset-gcc:version>4.2.1
  277. ;
  278. #
  279. # Templates, variadic macro, check params, non-variadic syntax
  280. #
  281. alias ttitmpcpv
  282. :
  283. [ run test_has_template_cp.cpp : : :
  284. <toolset>gcc:<cxxflags>-std=c++0x
  285. <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
  286. <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
  287. <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
  288. <define>BOOST_PP_VARIADICS=1 :
  289. test_has_template_cp_v ]
  290. [ compile test_has_template_cp_compile.cpp :
  291. <toolset>gcc:<cxxflags>-std=c++0x
  292. <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
  293. <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
  294. <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
  295. <define>BOOST_PP_VARIADICS=1 :
  296. test_has_template_cp_compile_v ]
  297. [ compile-fail test_has_template_cp_fail.cpp :
  298. <toolset>gcc:<cxxflags>-std=c++0x
  299. <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
  300. <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
  301. <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
  302. <define>BOOST_PP_VARIADICS=1 :
  303. test_has_template_cp_fail_v ]
  304. [ compile-fail test_has_template_cp_fail2.cpp :
  305. <toolset>gcc:<cxxflags>-std=c++0x
  306. <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
  307. <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
  308. <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
  309. <define>BOOST_PP_VARIADICS=1 :
  310. test_has_template_cp_fail2_v ]
  311. [ compile-fail test_has_template_cp_fail3.cpp :
  312. <toolset>gcc:<cxxflags>-std=c++0x
  313. <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
  314. <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
  315. <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
  316. <define>BOOST_PP_VARIADICS=1 :
  317. test_has_template_cp_fail3_v ]
  318. [ compile-fail test_has_template_cp_fail4.cpp :
  319. <toolset>gcc:<cxxflags>-std=c++0x
  320. <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
  321. <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
  322. <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
  323. <define>BOOST_PP_VARIADICS=1 :
  324. test_has_template_cp_fail4_v ]
  325. ;
  326. alias ttitmpcpvm : :
  327. <toolset>gcc
  328. <toolset-gcc:version>3.4.2
  329. ;
  330. alias ttitmpcpvm : :
  331. <toolset>gcc
  332. <toolset-gcc:version>3.4.5
  333. ;
  334. alias ttitmpcpvm : :
  335. <toolset>gcc
  336. <toolset-gcc:version>4.1.2
  337. ;
  338. alias ttitmpcpvm : :
  339. <toolset>gcc
  340. <toolset-gcc:version>4.2.1
  341. ;
  342. #
  343. # Templates, variadic macro, check params, variadic syntax
  344. #
  345. alias ttitmpcpvm
  346. :
  347. [ run test_vm_has_template_cp.cpp : : :
  348. <toolset>gcc:<cxxflags>-std=c++0x
  349. <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
  350. <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
  351. <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
  352. <define>BOOST_PP_VARIADICS=1 ]
  353. [ compile test_vm_has_template_cp_compile.cpp :
  354. <toolset>gcc:<cxxflags>-std=c++0x
  355. <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
  356. <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
  357. <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
  358. <define>BOOST_PP_VARIADICS=1 ]
  359. [ compile-fail test_vm_has_template_cp_fail.cpp :
  360. <toolset>gcc:<cxxflags>-std=c++0x
  361. <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
  362. <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
  363. <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
  364. <define>BOOST_PP_VARIADICS=1 ]
  365. [ compile-fail test_vm_has_template_cp_fail2.cpp :
  366. <toolset>gcc:<cxxflags>-std=c++0x
  367. <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
  368. <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
  369. <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
  370. <define>BOOST_PP_VARIADICS=1 ]
  371. [ compile-fail test_vm_has_template_cp_fail3.cpp :
  372. <toolset>gcc:<cxxflags>-std=c++0x
  373. <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
  374. <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
  375. <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
  376. <define>BOOST_PP_VARIADICS=1 ]
  377. [ compile-fail test_vm_has_template_cp_fail4.cpp :
  378. <toolset>gcc:<cxxflags>-std=c++0x
  379. <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
  380. <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
  381. <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
  382. <define>BOOST_PP_VARIADICS=1 ]
  383. ;
  384. #
  385. # Templates, non-variadic macro
  386. #
  387. alias ttitemplate : ttitmp ttitmpcp ;
  388. #
  389. # Templates, variadic macro
  390. #
  391. alias ttivm : ttitmpv ttitmpcpv ttitmpcpvm ;
  392. #
  393. # All templates
  394. #
  395. alias ttitemplate_all : ttitemplate ttivm ;
  396. #
  397. # All tests
  398. #
  399. alias tti : ttinovm ttivm ;