import testing ;
import feature : feature ;
use-project /torrent : .. ;
lib libtorrent_test
: # sources
main.cpp
test.cpp
setup_transfer.cpp
dht_server.cpp
udp_tracker.cpp
peer_server.cpp
bittorrent_peer.cpp
print_alerts.cpp
web_seed_suite.cpp
swarm_suite.cpp
test_utils.cpp
settings.cpp
make_torrent.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
/torrent//torrent
on
@warnings
: # default build
shared
: # user-requirements
shared:TORRENT_LINK_TEST_SHARED
.
;
explicit libtorrent_test ;
lib advapi32 : : Advapi32 ;
project
: requirements
on
libtorrent_test
/torrent//torrent
# C4127: conditional expression is constant
msvc:/wd4127
# C4309: 'conversion' : truncation of constant value
msvc:/wd4309
# C4310: cast truncates constant value
msvc:/wd4310
# C4268: 'identifier' : 'const' static/global data initialized
# with compiler generated default constructor fills the object with zeros
msvc:/wd4268
@warnings
on
: default-build
multi
on
full
shared
on
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 ;
exe test_natpmp : test_natpmp.cpp
: # requirements
/torrent//torrent
on
@warnings
: # default-build
multi
on
full
shared
on
on
;
exe enum_if : enum_if.cpp
: # requirements
/torrent//torrent
on
@warnings
: # default-build
multi
on
full
shared
on
on
;
install stage_enum_if : enum_if : . ;
explicit test_natpmp ;
explicit enum_if ;
explicit stage_enum_if ;
run
test_primitives.cpp
test_io.cpp
test_create_torrent.cpp
test_packet_buffer.cpp
test_timestamp_history.cpp
test_bloom_filter.cpp
test_identify_client.cpp
test_merkle.cpp
test_resolve_links.cpp
test_heterogeneous_queue.cpp
test_ip_voter.cpp
test_sliding_average.cpp
test_socket_io.cpp
test_part_file.cpp
test_peer_list.cpp
test_torrent_info.cpp
test_time.cpp
test_file_storage.cpp
test_peer_priority.cpp
test_threads.cpp
test_tailqueue.cpp
test_bandwidth_limiter.cpp
test_buffer.cpp
test_bencoding.cpp
test_bdecode.cpp
test_http_parser.cpp
test_xml.cpp
test_ip_filter.cpp
test_hasher.cpp
test_block_cache.cpp
test_peer_classes.cpp
test_settings_pack.cpp
test_fence.cpp
test_dos_blocker.cpp
test_stat_cache.cpp
test_enum_net.cpp
test_linked_list.cpp
test_stack_allocator.cpp
test_file_progress.cpp
test_generate_peer_id.cpp
test_alloca.cpp ;
run test_listen_socket.cpp
: : : openssl:/torrent//ssl
openssl:/torrent//crypto ;
run test_piece_picker.cpp ;
run test_dht.cpp
test_dht_storage.cpp
test_direct_dht.cpp
test_hasher512.cpp
: : : openssl:/torrent//ssl
openssl:/torrent//crypto ;
run test_string.cpp test_utf8.cpp ;
run test_sha1_hash.cpp ;
run test_span.cpp ;
run test_bitfield.cpp ;
run test_crc32.cpp ;
run test_ffs.cpp ;
run test_ed25519.cpp ;
run test_gzip.cpp ;
run test_receive_buffer.cpp ;
run test_alert_manager.cpp ;
run test_alert_types.cpp ;
run test_magnet.cpp ;
run test_storage.cpp ;
run test_session.cpp ;
run test_session_params.cpp ;
run test_read_piece.cpp ;
run test_remove_torrent.cpp ;
run test_flags.cpp ;
run test_file.cpp ;
run test_fast_extension.cpp ;
run test_privacy.cpp ;
run test_recheck.cpp ;
run test_read_resume.cpp ;
run test_resume.cpp ;
run test_ssl.cpp : :
: openssl:/torrent//ssl
openssl:/torrent//crypto ;
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_no_peers.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_remap_files.cpp ;
run test_utp.cpp ;
run test_auto_unchoke.cpp ;
run test_http_connection.cpp : :
: openssl:/torrent//ssl
openssl:/torrent//crypto
;
run test_torrent.cpp ;
run test_transfer.cpp ;
run test_time_critical.cpp ;
run test_pex.cpp ;
run test_priority.cpp ;
# turn these tests into simulations
run test_upnp.cpp ;
run test_lsd.cpp ;
explicit test_lsd ;
# these are the tests run on appveyor, while the flapping ones are being
# transitioned into simulations
alias win-tests :
test_primitives
test_string
test_dht
test_sha1_hash
test_span
test_bitfield
test_crc32
test_pe_crypto
test_remap_files
test_auto_unchoke
test_torrent
test_transfer
test_time_critical
test_pex
test_priority
test_storage
test_session
test_read_piece
test_file
test_fast_extension
test_recheck
test_resume
test_tracker
test_checking
test_gzip
test_piece_picker
test_ffs
test_ed25519
test_session_params
;
explicit win-tests ;
alias arm-tests :
test_sha1_hash
test_bitfield
test_crc32
test_ffs
test_ed25519
;
explicit arm-tests ;