import testing ;
import feature : feature ;

use-project /torrent : .. ;
use-project /libtorrent_test : ../test ;

use-project /libsimulator : libsimulator ;

project
	: requirements
	<simulator>on
	<export-extra>on
	<library>/torrent//torrent
	<library>/libtorrent_test//libtorrent_test
	<source>setup_swarm.cpp
	<source>setup_dht.cpp
	<source>create_torrent.cpp
	<source>utils.cpp
	<source>disk_io.cpp
	<source>transfer_sim.cpp
	<toolset>msvc:<cxxflags>/wd4275
	<toolset>msvc:<cxxflags>/wd4005
	<toolset>msvc:<cxxflags>/wd4268
	: default-build
	<threading>multi
	<invariant-checks>full
	<asserts>on
	<picker-debugging>on
	<cxxstd>14
	<crypto>built-in
	;

run test_pause.cpp ;
run test_socks5.cpp ;
run test_checking.cpp ;
run test_optimistic_unchoke.cpp ;
run test_transfer.cpp ;
run test_transfer_matrix.cpp ;
run test_http_connection.cpp ;
run test_web_seed.cpp ;
run test_auto_manage.cpp ;
run test_torrent_status.cpp ;
run test_swarm.cpp ;
run test_session.cpp ;
run test_super_seeding.cpp ;
run test_utp.cpp ;
run test_dht.cpp ;
run test_dht_bootstrap.cpp ;
run test_dht_storage.cpp ;
run test_pe_crypto.cpp ;
run test_metadata_extension.cpp ;
run test_tracker.cpp ;
run test_thread_pool.cpp ;
run test_ip_filter.cpp ;
run test_dht_rate_limit.cpp ;
run test_fast_extensions.cpp ;
run test_v2.cpp ;
# TODO figure out what to do with this
# since v2 support was added re-mapped files are required to be piece aligned
# but test_file_pool requires mapping more files than there are pieces
#run test_file_pool.cpp ;
run test_save_resume.cpp ;
run test_error_handling.cpp ;
run test_timeout.cpp ;
run test_peer_connection.cpp ;

