diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 1c2dec79..4c739c4a 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -85,8 +85,10 @@ run unordered/copy_tests.cpp : : : BOOST_UNORDERED_USE_MOVE : bmove_copy run unordered/move_tests.cpp : : : BOOST_UNORDERED_USE_MOVE : bmove_move ; run unordered/assign_tests.cpp : : : BOOST_UNORDERED_USE_MOVE : bmove_assign ; +path-constant BOOST_UNORDERED_TEST_DIR : . ; + run unordered/serialization_tests.cpp - : + : $(BOOST_UNORDERED_TEST_DIR) : : BOOST_UNORDERED_ENABLE_SERIALIZATION_COMPATIBILITY_V0 off # Boost.Serialization headers are not warning-free diff --git a/test/unordered/serialization_tests.cpp b/test/unordered/serialization_tests.cpp index 2e1ed200..0cd25b11 100644 --- a/test/unordered/serialization_tests.cpp +++ b/test/unordered/serialization_tests.cpp @@ -105,6 +105,9 @@ namespace { } } + // used by legacy_serialization_test, passed as argv[1] + const char* test_dir="."; + using test::default_generator; std::pair< @@ -175,8 +178,8 @@ namespace { for(int i = 0; i < sizeof(sizes)/sizeof(sizes[0]); ++i) { char filename[1024]; std::sprintf( - filename, "./legacy_archives/%s_%d.%s", - lc.second, (int)sizes[i], la.second); + filename, "%s/legacy_archives/%s_%d.%s", + test_dir, lc.second, (int)sizes[i], la.second); std::ifstream ifs(filename); Archive ia(ifs); Container c; @@ -215,4 +218,12 @@ namespace { #endif } -RUN_TESTS() +int main(int argc, char* argv[]) +{ + if (argc > 1) test_dir = argv[1]; + + BOOST_UNORDERED_TEST_COMPILER_INFO() + ::test::get_state().run_tests(); + return boost::report_errors(); +} +