import testing ; import feature : feature ; use-project /torrent : .. ; exe test_natpmp : test_natpmp.cpp /torrent//torrent : multi on full ; exe enum_if : enum_if.cpp /torrent//torrent : multi on full ; exe bdecode_benchmark : test_bdecode_performance.cpp /torrent//torrent : release ; explicit test_natpmp ; explicit enum_if ; explicit bdecode_benchmark ; rule link_test ( properties * ) { local result ; if shared in $(properties) { result += libtorrent_test/shared ; } else { result += libtorrent_test/static ; } return $(result) ; } rule link_libtorrent ( properties * ) { local result ; if shared in $(properties) { result += /torrent//torrent/shared/on/shared/on ; } else { result += /torrent//torrent/static/on/static/on ; } return $(result) ; } lib libtorrent_test : # sources setup_transfer.cpp dht_server.cpp udp_tracker.cpp peer_server.cpp web_seed_suite.cpp swarm_suite.cpp : # requirements # this is used to determine whether # symbols are exported or imported shared:TORRENT_BUILDING_TEST_SHARED shared:ED25519_BUILD_DLL ../ed25519/src windows:advapi32 @link_libtorrent : # default build shared on : # user-requirements shared:TORRENT_LINK_TEST_SHARED ; explicit libtorrent_test ; lib advapi32 : : Advapi32 ; project : requirements main.cpp @link_test @link_libtorrent : default-build multi full on shared on ; feature launcher : none valgrind : composite ; feature.compose valgrind : "valgrind --tool=memcheck -v --num-callers=20 --read-var-info=yes --track-origins=yes --error-exitcode=222 --suppressions=valgrind_suppressions.txt" on ; test-suite libtorrent : [ run test_crc32.cpp ] [ run test_resume.cpp ] [ run test_sliding_average.cpp ] [ run test_socket_io.cpp ] [ run test_random.cpp ] [ run test_utf8.cpp ] [ run test_gzip.cpp ] [ run test_bitfield.cpp ] [ run test_recheck.cpp ] [ run test_stat_cache.cpp ] [ run test_part_file.cpp ] [ run test_peer_list.cpp ] [ run test_torrent_info.cpp ] [ run test_time.cpp ] [ run test_file_storage.cpp ] [ run test_priority.cpp ] [ run test_peer_priority.cpp ] [ run test_file.cpp ] [ run test_privacy.cpp ] [ run test_threads.cpp ] [ run test_tailqueue.cpp ] [ run test_rss.cpp ] [ run test_bandwidth_limiter.cpp ] [ run test_buffer.cpp ] [ run test_piece_picker.cpp ] [ run test_bencoding.cpp ] [ run test_bdecode.cpp ] [ run test_fast_extension.cpp ] [ run test_primitives.cpp ] [ run test_http_parser.cpp ] [ run test_packet_buffer.cpp ] [ run test_string.cpp ] [ run test_magnet.cpp ] [ run test_xml.cpp ] [ run test_ip_filter.cpp ] [ run test_hasher.cpp ] [ run test_dht.cpp ] [ run test_block_cache.cpp ] [ run test_peer_classes.cpp ] [ run test_settings_pack.cpp ] [ run test_fence.cpp ] [ run test_storage.cpp ] [ run test_session.cpp ] [ run test_upnp.cpp ] [ run test_read_piece.cpp ] [ run test_ssl.cpp ] [ run test_tracker.cpp ] [ run test_checking.cpp ] [ run test_url_seed.cpp ] [ run test_web_seed.cpp ] [ run test_web_seed_redirect.cpp ] [ run test_web_seed_socks4.cpp ] [ run test_web_seed_socks5.cpp ] [ run test_web_seed_socks5_pw.cpp ] [ run test_web_seed_http.cpp ] [ run test_web_seed_http_pw.cpp ] [ run test_web_seed_chunked.cpp ] [ run test_web_seed_ban.cpp ] [ run test_pe_crypto.cpp ] [ run test_dos_blocker.cpp ] [ run test_remap_files.cpp ] [ run test_utp.cpp ] [ run test_auto_unchoke.cpp ] [ run test_http_connection.cpp ] [ run test_torrent.cpp ] [ run test_transfer.cpp ] [ run test_metadata_extension.cpp ] [ run test_trackers_extension.cpp ] [ run test_time_critical.cpp ] [ run test_super_seeding.cpp ] [ run test_swarm.cpp ] [ run test_lsd.cpp ] [ run test_pex.cpp ] ;