import-search /boost/config/checks ; import config : requires ; import ac ; # Configure openssl if it hasn't been done yet using openssl ; # Use these requirements as both regular and usage requirements across all tests local requirements = /boost/redis//boost_redis BOOST_ASIO_NO_DEPRECATED=1 BOOST_ASIO_DISABLE_BOOST_ARRAY=1 BOOST_ASIO_DISABLE_BOOST_BIND=1 BOOST_ASIO_DISABLE_BOOST_DATE_TIME=1 BOOST_ASIO_DISABLE_BOOST_REGEX=1 BOOST_ALLOW_DEPRECATED=1 # we need to test deprecated fns _CRT_SECURE_NO_WARNINGS=1 # suppress MSVC warnings msvc:"/bigobj" windows:_WIN32_WINNT=0x0601 [ requires cxx14_constexpr cxx14_generic_lambdas cxx14_initialized_lambda_captures cxx14_aggregate_nsdmi cxx14_return_type_deduction cxx17_hdr_charconv cxx17_hdr_optional cxx17_hdr_string_view cxx17_hdr_variant cxx17_std_apply cxx17_structured_bindings ] [ ac.check-library /openssl//ssl : /openssl//ssl/shared : no ] [ ac.check-library /openssl//crypto : /openssl//crypto/shared : no ] /boost/test//boost_unit_test_framework/off ; # Helper library lib redis_test_common : boost_redis.cpp common.cpp sansio_utils.cpp : requirements $(requirements) : usage-requirements $(requirements) ; # B2 runs tests in parallel, and some tests rely on having exclusive # access to a Redis server, so we only run the ones that don't require a DB server. local tests = test_low_level test_request test_serialization test_low_level_sync_sans_io test_any_adapter test_log_to_file test_conn_logging test_exec_fsm test_exec_one_fsm test_writer_fsm test_reader_fsm test_sentinel_resolve_fsm test_receive_fsm test_run_fsm test_connect_fsm test_compose_setup_request test_setup_adapter test_multiplexer test_parse_sentinel_response test_update_sentinel_list test_flat_tree test_generic_flat_response test_read_buffer test_subscription_tracker ; # Build and run the tests for local test in $(tests) { run $(test).cpp redis_test_common/static : target-name $(test) ; }