project libs/serialization/test
: id serialization_test
: requirements <source>/boost/filesystem
+ : requirements <source>/boost/system
;
# import rules for testing conditional on config file variables
;
BOOST_ARCHIVE_LIST = [ modules.peek : BOOST_ARCHIVE_LIST ] ;
-
-lib dll_a_lib
+
+lib a
:
dll_a.cpp
../build//boost_serialization
:
+ <link>shared:<define>BOOST_SERIALIZATION_DYN_LINK=1
;
-
-lib dll_base_lib
- :
- dll_base.cpp
- ../build//boost_serialization
- :
- ;
-
-lib dll_derived2_lib
+lib polymorphic_derived2
:
- dll_derived2.cpp
- dll_base_lib
- ../build//boost_serialization
- :
- ;
-
-lib dll_polymorphic_derived2_lib
- :
- polymorphic_derived2.cpp
+ polymorphic_derived2.cpp
+ polymorphic_base.cpp
../build//boost_serialization
:
+ <link>shared:<define>BOOST_SERIALIZATION_DYN_LINK=1
;
test-suite "serialization" :
[ test-bsl-run_files test_list : A ]
[ test-bsl-run_files test_list_ptrs : A ]
[ test-bsl-run_files test_map : A ]
+ [ test-bsl-run_files test_map_hashed : A : : [ requires hash ] ] # BOOST_HAS_HASH
[ test-bsl-run_files test_map_unordered : A : : [ requires cxx11_hdr_unordered_map ] ] # BOOST_NO_CXX11_HDR_UNORDERED_MAP
[ test-bsl-run_files test_map_boost_unordered : A ]
[ test-bsl-run_files test_mi ]
[ test-bsl-run_files test_set_boost_unordered : A ]
[ test-bsl-run_files test_simple_class : A ]
[ test-bsl-run_files test_simple_class_ptr : A ]
+ [ test-bsl-run_files test_slist : A : : [ requires slist ] ] # BOOST_HAS_SLIST ]
+ [ test-bsl-run_files test_slist_ptrs : A : : [ requires slist ] ] # BOOST_HAS_SLIST ] ]
[ test-bsl-run_files test_split ]
[ test-bsl-run_files test_stack : A ]
[ test-bsl-run_files test_tracking ]
[ test-bsl-run_files test_optional ]
[ test-bsl-run_files test_shared_ptr ]
[ test-bsl-run_files test_shared_ptr_multi_base ]
- [ test-bsl-run_files test_shared_ptr_132 ]
+ [ test-bsl-run_files test_shared_ptr_132 : : : [ requires auto_ptr ] ] # BOOST_NO_AUTO_PTR
[ test-bsl-run_polymorphic_archive test_polymorphic : test_polymorphic_A A ]
[ test-bsl-run_polymorphic_archive test_polymorphic2 : test_polymorphic2imp ]
[ test-bsl-run_polymorphic_archive test_polymorphic_helper ]
+
+ # should compile
+ [ compile test_strong_typedef.cpp ]
;
if ! $(BOOST_ARCHIVE_LIST) {
test-suite "serialization2" :
- [ test-bsl-run-no-lib test_inclusion ]
- [ test-bsl-run test_dll_exported : : dll_polymorphic_derived2_lib ]
- [ test-bsl-run test_dll_simple : : dll_a_lib ]
- [ compile test_dll_plugin.cpp ]
- # Running the following test requires that the test know the directory
- # in which the dll is stored. I don't know how to extract this from bjam
- # [ test-bsl-run test_dll_plugin : : dll_polymorphic_derived2_lib ]
+ [ test-bsl-run test_inclusion ]
+ [ test-bsl-run test_inclusion2 ]
+ # boost build has the feature that the building if libraries vs dll is automatic
+ # in that dependent libraries are built the same way - shared/static - that
+ # the application is. On some platforms (e.g windows) this is required to avoid
+ # problems of linking incompatible versions of the runtime library. So
+ # we suppress tests of our dlls when using static libraries
+ [ test-bsl-run test_dll_exported : : polymorphic_derived2 : <link>static:<build>no ]
+ # [ test-bsl-run test_dll_plugin : : polymorphic_derived2 : <link>static:<build>no <target-os>linux:<linkflags>-ldl ]
+ [ test-bsl-run test_dll_simple : : a : ]
[ test-bsl-run test_private_ctor ]
[ test-bsl-run test_reset_object_address : A ]
[ test-bsl-run test_void_cast ]
[ test-bsl-run test_iterators ]
[ test-bsl-run test_iterators_base64 ]
[ test-bsl-run test_smart_cast ]
- [ test-bsl-run test_utf8_codecvt
- :
- :
- : <dependency>../../config/test/all//BOOST_NO_STD_WSTREAMBUF
- ]
- [ test-bsl-run test_codecvt_null
- : ../src/codecvt_null
- :
- : <dependency>../../config/test/all//BOOST_NO_STD_WSTREAMBUF
- ]
+ [ test-bsl-run test_codecvt_null ]
- #[ test-bsl-run test_z ]
+ # [ test-bsl-run test_z ]
# should fail compilation
[ compile-fail test_not_serializable.cpp ]