import testing ;
import feature : feature ;

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

use-project /libsimulator : libsimulator ;

# TODO: create another library with the libtorrent simulator utilities
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
	: default-build
	<threading>multi
	<invariant-checks>full
	<debug-iterators>on
	<picker-debugging>on
	;

alias libtorrent-sims :
	[ run test_socks5.cpp ]
	[ run test_checking.cpp ]
	[ run test_optimistic_unchoke.cpp ]
	[ run test_transfer.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_trackers_extension.cpp ]
	[ run test_tracker.cpp ]
	[ run test_ip_filter.cpp ]
	[ run test_fast_extensions.cpp ]
	[ run test_file_pool.cpp ]
	;

