| # Boost serialization Library test Jamfile |
| |
| # (C) Copyright Robert Ramey 2002-2004. |
| # Use, modification, and distribution are subject to the |
| # Boost Software License, Version 1.0. (See accompanying file |
| # LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) |
| # |
| |
| project libs/serialization/test |
| : id serialization_test |
| : requirements <library>/boost/filesystem |
| ; |
| |
| # import rules for testing conditional on config file variables |
| import ../../config/checks/config : requires ; |
| |
| # import rules from the boost serialization test |
| import ../util/test : |
| run-template |
| run-invoke |
| run-winvoke |
| test-bsl-run-no-lib |
| test-bsl-run |
| test-bsl-run_archive |
| test-bsl-run_files |
| test-bsl-run_polymorphic_files |
| ; |
| |
| BOOST_ARCHIVE_LIST = [ modules.peek : BOOST_ARCHIVE_LIST ] ; |
| |
| lib dll_a |
| : |
| dll_a.cpp |
| ../build//boost_serialization |
| : |
| <link>shared |
| ; |
| |
| lib dll_polymorphic_base |
| : |
| dll_polymorphic_base.cpp |
| ../build//boost_serialization |
| : |
| <link>shared |
| ; |
| |
| lib dll_polymorphic_derived2 |
| : |
| dll_polymorphic_derived2.cpp |
| dll_polymorphic_base |
| ../build//boost_serialization |
| : |
| <link>shared |
| ; |
| |
| test-suite "serialization" : |
| [ test-bsl-run_files test_array : A : : [ requires cxx11_hdr_array ] ] # BOOST_NO_CXX11_HDR_ARRAY |
| [ test-bsl-run_files test_boost_array : A ] |
| [ test-bsl-run_files test_native_array : A ] |
| [ test-bsl-run_files test_binary ] |
| [ test-bsl-run_files test_class_info_save ] |
| [ test-bsl-run_files test_class_info_load ] |
| [ test-bsl-run_files test_bitset ] |
| [ test-bsl-run_files test_complex ] |
| [ test-bsl-run_files test_contained_class : A ] |
| [ test-bsl-run_files test_cyclic_ptrs : A ] |
| [ test-bsl-run_files test_delete_pointer ] |
| [ test-bsl-run_files test_deque : A ] |
| [ test-bsl-run_files test_derived ] |
| [ test-bsl-run_files test_derived_class : A ] |
| [ test-bsl-run_files test_derived_class_ptr : A ] |
| [ test-bsl-run_files test_diamond ] |
| [ test-bsl-run_files test_diamond_complex ] |
| [ test-bsl-run_files test_forward_list : A : : [ requires cxx11_hdr_forward_list ] ] # BOOST_NO_CXX11_HDR_FORWARD_LIST |
| [ test-bsl-run_files test_forward_list_ptrs : A : : [ requires cxx11_hdr_forward_list ] ] # BOOST_NO_CXX11_HDR_FORWARD_LIST |
| [ test-bsl-run_files test_helper_support ] |
| [ test-bsl-run_files test_interrupts ] |
| [ 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_multiple_ptrs : A ] |
| [ test-bsl-run_files test_multiple_inheritance ] |
| [ test-bsl-run_files test_new_operator : A ] |
| [ test-bsl-run_files test_optional ] |
| [ test-bsl-run_files test_non_intrusive ] |
| [ test-bsl-run_files test_non_default_ctor ] |
| [ test-bsl-run_files test_non_default_ctor2 ] |
| [ test-bsl-run_files test_null_ptr ] |
| [ test-bsl-run_files test_nvp : A ] |
| [ test-bsl-run_files test_object ] |
| [ test-bsl-run_files test_primitive ] |
| [ test-bsl-run_files test_priority_queue : A ] |
| [ test-bsl-run_files test_queue : A ] |
| [ test-bsl-run_files test_recursion : A ] |
| [ test-bsl-run_files test_registered ] |
| [ test-bsl-run_files test_set : A ] |
| [ test-bsl-run_files test_set_hashed : A : : [ requires hash ] ] # BOOST_HAS_HASH |
| [ test-bsl-run_files test_set_unordered : A : : [ requires cxx11_hdr_unordered_set ] ] # BOOST_NO_CXX11_HDR_UNORDERED_SET |
| [ 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_unregistered ] |
| [ test-bsl-run_files test_unique_ptr ] |
| [ test-bsl-run_files test_valarray ] |
| [ test-bsl-run_files test_variant : A ] |
| [ test-bsl-run_files test_vector : A ] |
| [ test-bsl-run_files test_shared_ptr ] |
| [ test-bsl-run_files test_shared_ptr_multi_base ] |
| [ test-bsl-run_files test_shared_ptr_132 : : : [ requires auto_ptr ] ] # BOOST_NO_AUTO_PTR |
| |
| [ test-bsl-run_polymorphic_files test_polymorphic : test_polymorphic_A A ] |
| [ test-bsl-run_polymorphic_files test_polymorphic2 : test_polymorphic2imp ] |
| [ test-bsl-run_polymorphic_files test_p_helper ] |
| |
| # this test should pass with both shared and static linking. But B2 get's mixed up with static linking |
| # so we'll just run the shared version of the test, which is the one that we're most interested |
| # in anyway. |
| [ test-bsl-run_polymorphic_files test_dll_exported : polymorphic_derived1 : dll_polymorphic_base dll_polymorphic_derived2 : <link>static:<build>no ] |
| |
| [ test-bsl-run_polymorphic_files test_no_rtti : polymorphic_base polymorphic_derived1 polymorphic_derived2 ] |
| [ test-bsl-run_polymorphic_files test_exported : polymorphic_base polymorphic_derived1 polymorphic_derived2 ] |
| |
| # should compile |
| [ compile test_strong_typedef.cpp ] |
| ; |
| |
| if ! $(BOOST_ARCHIVE_LIST) { |
| test-suite "serialization2" : |
| [ 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_simple : : dll_a : <link>static:<build>no ] |
| # [ test-bsl-run test_dll_plugin : : dll_derived2 : <link>static:<build>no <target-os>linux:<linkflags>-ldl ] |
| |
| [ test-bsl-run test_private_ctor ] |
| [ test-bsl-run test_reset_object_address : A ] |
| [ test-bsl-run test_void_cast ] |
| [ test-bsl-run test_mult_archive_types ] |
| [ test-bsl-run test_iterators ] |
| [ test-bsl-run test_iterators_base64 ] |
| [ test-bsl-run test_smart_cast ] |
| [ test-bsl-run test_codecvt_null ] |
| [ test-bsl-run test_singleton ] |
| [ test-bsl-run test_singleton_inherited ] |
| [ test-bsl-run test_singleton_plain ] |
| |
| # [ test-bsl-run test_z ] |
| |
| # should fail compilation |
| [ compile-fail test_not_serializable.cpp ] |
| [ compile-fail test_traits_fail.cpp ] |
| [ compile-fail test_const_load_fail1.cpp ] |
| [ compile-fail test_const_load_fail2.cpp ] |
| [ compile-fail test_const_load_fail3.cpp ] |
| [ compile-fail test_const_load_fail1_nvp.cpp ] |
| [ compile-fail test_const_load_fail2_nvp.cpp ] |
| [ compile-fail test_const_load_fail3_nvp.cpp ] |
| [ compile-fail test_check.cpp ] |
| |
| # should compile with a warning message |
| [ compile test_static_warning.cpp ] |
| [ compile test_const_save_warn1.cpp ] |
| [ compile test_const_save_warn2.cpp ] |
| [ compile test_const_save_warn3.cpp ] |
| |
| # note - library unable to detect these errors for now |
| #[ compile test_const_save_warn1_nvp.cpp ] |
| #[ compile test_const_save_warn2_nvp.cpp ] |
| #[ compile test_const_save_warn3_nvp.cpp ] |
| |
| # should compile |
| [ compile test_traits_pass.cpp ] |
| [ compile test_const_pass.cpp ] |
| ; |
| } |
| |