Jamfile.v2 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. # Boost serialization Library test Jamfile
  2. # (C) Copyright Robert Ramey 2002-2004.
  3. # Use, modification, and distribution are subject to the
  4. # Boost Software License, Version 1.0. (See accompanying file
  5. # LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  6. #
  7. project libs/serialization/test
  8. : id serialization_test
  9. : requirements <library>/boost/filesystem
  10. ;
  11. # import rules for testing conditional on config file variables
  12. import ../../config/checks/config : requires ;
  13. # import rules from the boost serialization test
  14. import ../util/test :
  15. run-template
  16. run-invoke
  17. run-winvoke
  18. test-bsl-run-no-lib
  19. test-bsl-run
  20. test-bsl-run_archive
  21. test-bsl-run_files
  22. test-bsl-run_polymorphic_files
  23. ;
  24. BOOST_ARCHIVE_LIST = [ modules.peek : BOOST_ARCHIVE_LIST ] ;
  25. lib dll_a
  26. :
  27. dll_a.cpp
  28. ../build//boost_serialization
  29. :
  30. <link>shared
  31. ;
  32. lib dll_polymorphic_base
  33. :
  34. dll_polymorphic_base.cpp
  35. ../build//boost_serialization
  36. :
  37. <link>shared
  38. ;
  39. lib dll_polymorphic_derived2
  40. :
  41. dll_polymorphic_derived2.cpp
  42. dll_polymorphic_base
  43. ../build//boost_serialization
  44. :
  45. <link>shared
  46. ;
  47. test-suite "serialization" :
  48. [ test-bsl-run_files test_array : A : : [ requires cxx11_hdr_array ] ] # BOOST_NO_CXX11_HDR_ARRAY
  49. [ test-bsl-run_files test_boost_array : A ]
  50. [ test-bsl-run_files test_native_array : A ]
  51. [ test-bsl-run_files test_binary ]
  52. [ test-bsl-run_files test_class_info_save ]
  53. [ test-bsl-run_files test_class_info_load ]
  54. [ test-bsl-run_files test_bitset ]
  55. [ test-bsl-run_files test_complex ]
  56. [ test-bsl-run_files test_contained_class : A ]
  57. [ test-bsl-run_files test_cyclic_ptrs : A ]
  58. [ test-bsl-run_files test_delete_pointer ]
  59. [ test-bsl-run_files test_deque : A ]
  60. [ test-bsl-run_files test_derived ]
  61. [ test-bsl-run_files test_derived_class : A ]
  62. [ test-bsl-run_files test_derived_class_ptr : A ]
  63. [ test-bsl-run_files test_diamond ]
  64. [ test-bsl-run_files test_diamond_complex ]
  65. [ test-bsl-run_files test_forward_list : A : : [ requires cxx11_hdr_forward_list ] ] # BOOST_NO_CXX11_HDR_FORWARD_LIST
  66. [ test-bsl-run_files test_forward_list_ptrs : A : : [ requires cxx11_hdr_forward_list ] ] # BOOST_NO_CXX11_HDR_FORWARD_LIST
  67. [ test-bsl-run_files test_helper_support ]
  68. [ test-bsl-run_files test_interrupts ]
  69. [ test-bsl-run_files test_list : A ]
  70. [ test-bsl-run_files test_list_ptrs : A ]
  71. [ test-bsl-run_files test_map : A ]
  72. [ test-bsl-run_files test_map_hashed : A : : [ requires hash ] ] # BOOST_HAS_HASH
  73. [ test-bsl-run_files test_map_unordered : A : : [ requires cxx11_hdr_unordered_map ] ] # BOOST_NO_CXX11_HDR_UNORDERED_MAP
  74. [ test-bsl-run_files test_map_boost_unordered : A ]
  75. [ test-bsl-run_files test_mi ]
  76. [ test-bsl-run_files test_multiple_ptrs : A ]
  77. [ test-bsl-run_files test_multiple_inheritance ]
  78. [ test-bsl-run_files test_non_intrusive ]
  79. [ test-bsl-run_files test_non_default_ctor ]
  80. [ test-bsl-run_files test_non_default_ctor2 ]
  81. [ test-bsl-run_files test_null_ptr ]
  82. [ test-bsl-run_files test_nvp : A ]
  83. [ test-bsl-run_files test_object ]
  84. [ test-bsl-run_files test_primitive ]
  85. [ test-bsl-run_files test_priority_queue : A ]
  86. [ test-bsl-run_files test_queue : A ]
  87. [ test-bsl-run_files test_recursion : A ]
  88. [ test-bsl-run_files test_registered ]
  89. [ test-bsl-run_files test_set : A ]
  90. [ test-bsl-run_files test_set_hashed : A : : [ requires hash ] ] # BOOST_HAS_HASH
  91. [ test-bsl-run_files test_set_unordered : A : : [ requires cxx11_hdr_unordered_set ] ] # BOOST_NO_CXX11_HDR_UNORDERED_SET
  92. [ test-bsl-run_files test_set_boost_unordered : A ]
  93. [ test-bsl-run_files test_simple_class : A ]
  94. [ test-bsl-run_files test_simple_class_ptr : A ]
  95. [ test-bsl-run_files test_slist : A : : [ requires slist ] ] # BOOST_HAS_SLIST ]
  96. [ test-bsl-run_files test_slist_ptrs : A : : [ requires slist ] ] # BOOST_HAS_SLIST ] ]
  97. [ test-bsl-run_files test_split ]
  98. [ test-bsl-run_files test_stack : A ]
  99. [ test-bsl-run_files test_tracking ]
  100. [ test-bsl-run_files test_unregistered ]
  101. [ test-bsl-run_files test_unique_ptr ]
  102. [ test-bsl-run_files test_valarray ]
  103. [ test-bsl-run_files test_variant : A ]
  104. [ test-bsl-run_files test_vector : A ]
  105. [ test-bsl-run_files test_new_operator : A ]
  106. [ test-bsl-run_files test_optional ]
  107. [ test-bsl-run_files test_shared_ptr ]
  108. [ test-bsl-run_files test_shared_ptr_multi_base ]
  109. [ test-bsl-run_files test_shared_ptr_132 : : : [ requires auto_ptr ] ] # BOOST_NO_AUTO_PTR
  110. [ test-bsl-run_polymorphic_files test_polymorphic : test_polymorphic_A A ]
  111. [ test-bsl-run_polymorphic_files test_polymorphic2 : test_polymorphic2imp ]
  112. [ test-bsl-run_polymorphic_files test_p_helper ]
  113. # this test should pass with both shared and static linking. But B2 get's mixed up with static linking
  114. # so we'll just run the shared version of the test, which is the one that we're most interested
  115. # in anyway.
  116. [ test-bsl-run_polymorphic_files test_dll_exported : polymorphic_derived1 : dll_polymorphic_base dll_polymorphic_derived2 : <link>static:<build>no ]
  117. [ test-bsl-run_polymorphic_files test_no_rtti : polymorphic_base polymorphic_derived1 polymorphic_derived2 ]
  118. [ test-bsl-run_polymorphic_files test_exported : polymorphic_base polymorphic_derived1 polymorphic_derived2 ]
  119. # should compile
  120. [ compile test_strong_typedef.cpp ]
  121. ;
  122. if ! $(BOOST_ARCHIVE_LIST) {
  123. test-suite "serialization2" :
  124. [ test-bsl-run test_inclusion ]
  125. [ test-bsl-run test_inclusion2 ]
  126. # boost build has the feature that the building if libraries vs dll is automatic
  127. # in that dependent libraries are built the same way - shared/static - that
  128. # the application is. On some platforms (e.g windows) this is required to avoid
  129. # problems of linking incompatible versions of the runtime library. So
  130. # we suppress tests of our dlls when using static libraries
  131. [ test-bsl-run test_dll_simple : : dll_a : <link>static:<build>no ]
  132. # [ test-bsl-run test_dll_plugin : : dll_derived2 : <link>static:<build>no <target-os>linux:<linkflags>-ldl ]
  133. [ test-bsl-run test_private_ctor ]
  134. [ test-bsl-run test_reset_object_address : A ]
  135. [ test-bsl-run test_void_cast ]
  136. [ test-bsl-run test_mult_archive_types ]
  137. [ test-bsl-run test_iterators ]
  138. [ test-bsl-run test_iterators_base64 ]
  139. [ test-bsl-run test_smart_cast ]
  140. [ test-bsl-run test_codecvt_null ]
  141. [ test-bsl-run test_singleton ]
  142. [ test-bsl-run test_singleton_inherited ]
  143. [ test-bsl-run test_singleton_plain ]
  144. # [ test-bsl-run test_z ]
  145. # should fail compilation
  146. [ compile-fail test_not_serializable.cpp ]
  147. [ compile-fail test_traits_fail.cpp ]
  148. [ compile-fail test_const_load_fail1.cpp ]
  149. [ compile-fail test_const_load_fail2.cpp ]
  150. [ compile-fail test_const_load_fail3.cpp ]
  151. [ compile-fail test_const_load_fail1_nvp.cpp ]
  152. [ compile-fail test_const_load_fail2_nvp.cpp ]
  153. [ compile-fail test_const_load_fail3_nvp.cpp ]
  154. [ compile-fail test_check.cpp ]
  155. # should compile with a warning message
  156. [ compile test_static_warning.cpp ]
  157. [ compile test_const_save_warn1.cpp ]
  158. [ compile test_const_save_warn2.cpp ]
  159. [ compile test_const_save_warn3.cpp ]
  160. # note - library unable to detect these errors for now
  161. #[ compile test_const_save_warn1_nvp.cpp ]
  162. #[ compile test_const_save_warn2_nvp.cpp ]
  163. #[ compile test_const_save_warn3_nvp.cpp ]
  164. # should compile
  165. [ compile test_traits_pass.cpp ]
  166. [ compile test_const_pass.cpp ]
  167. ;
  168. }