Commit Graph

1664 Commits

Author SHA1 Message Date
Arvid Norberg 20b41ad0b9 Threads (#671)
use std::thread, std::mutex, std::condition_variable instead of pulling them in from boost.asio internals.
2016-04-30 18:54:23 -04:00
Arvid Norberg 4e97bf556c use override and final keywords (unconditionally) (#668)
use override and final keywords instead of macros.
2016-04-30 11:05:54 -04:00
Arvid Norberg f856b6bbe3 dial up cppcheck (#663)
increase cppcheck coverage and make sure there are no warnings
2016-04-30 00:24:45 -04:00
arvidn 05626e0b0f fix test rename_file 2016-04-29 23:57:26 -04:00
arvidn 36a5a11ee2 merge fix 2016-04-29 23:34:25 -04:00
Arvid Norberg 84a35f5265 clean up settings_pack (#665) 2016-04-29 12:01:33 -04:00
Arvid Norberg 95e348bef7 fix name clash with 'thread' on freebsd (#664) 2016-04-29 12:00:39 -04:00
Arvid Norberg d93bf9096d attempt to fix race condition in udp_tracker in test framework (#660) 2016-04-28 23:13:49 -04:00
Arvid Norberg c3e1e405b2 remove variadic template emulation for c++98, and introduce emplace_back to heterogeneous_queue as well, to avoid all moves of alert objects (#658) 2016-04-28 10:30:29 -04:00
Alden Torres d08bbbc0cc Added asserts related to total_size in create_torrent (#642) 2016-04-26 00:37:47 -04:00
Arvid Norberg 3c785b96fc Merge pull request #268 from ssiloti/dht-ipv6
Support DHT over IPv6
2016-04-25 19:19:48 -04:00
Andrei Kurushin 62eb956c54 fix x64 build with VS2015 UP2 compiler (#640)
fix VS2015 compiler warnings for: address-model=64, deprecated-functions=on, link=shared
2016-04-25 17:22:09 -04:00
Steven Siloti 2d9a6b76f1 use asio::protcol instead of an enum/bool 2016-04-24 15:18:47 -07:00
Steven Siloti 43be11177b Add dual stack DHT node simulation tests 2016-04-24 14:26:57 -07:00
Steven Siloti 2abd9867ce IPv6 DHT support
Fixes #110
2016-04-24 14:26:57 -07:00
Steven Siloti 356d2506bd extend dht_observer to support IPv6 external addresses 2016-04-24 14:26:57 -07:00
arvidn dec093dc1a Merge branch 'RC_1_1' 2016-04-24 15:41:28 -04:00
Arvid Norberg 7251575d98 This patch does: (#633)
1. simplifies and regularizies creation of listen sockets based on the listen
   interfaces setting.
2. simplifies and improves the behavior of UDP sockets, which are now explicitly
   opened per listen interface
3. transitions udp tracker, DHT and uTP socket manager over to using the new
   udp sockets
4. greatly simplified udp_socket to only wrap a single underlying socket (as
   opposed to one IPv4 and IPv6 socket)
5. improved behavior of bind-to-device
6. introduce an array_view type to make udp packet passing code simpler
7. simplify and make setting of DF flag more robust
8. simplify and regularize port mapping of listen sockets
2016-04-24 15:26:28 -04:00
Alden Torres 6171c911a0 Added assert for total_size in create_torrent (#636) 2016-04-22 13:51:06 -04:00
arvidn 04a3c04075 merged RC_1_1 into master 2016-04-20 08:08:05 -04:00
Arvid Norberg 2bd8622f4b fix missing EXPORT annotation of functions in the test utility library (#631) 2016-04-20 07:51:25 -04:00
Andrei Kurushin c41ab094be fix release build with VS2015 UP2 compiler warnings for: examples, test, tools (#627)
fix release build with VS2015 UP2 compiler warnings for: examples, test, tools
2016-04-20 00:45:32 -04:00
arvidn d17ae19391 Merge branch 'RC_1_1' 2016-04-11 02:08:06 -04:00
arvidn 2921caf95e fix msvc test build. make test framework robust to tmpfile() failing. add missing files and tests to makefile 2016-04-10 20:46:51 -04:00
arvidn 5ebb7d203b Makefile fix 2016-04-10 15:10:29 -04:00
arvidn 08edf43b3f fix to documentation generation to exclude private functions. fix makefile errors 2016-04-09 00:33:26 -04:00
arvidn 867b83ccda merged RC_1_1 into master 2016-04-08 02:20:24 -04:00
arvidn 6bc5de5903 fail correctly when move_storage is called to move into its own directory 2016-04-02 10:03:31 -04:00
arvidn f662d86458 fix merge issue in test_storage.cpp 2016-03-30 02:06:10 -04:00
arvidn fd4a46342f merge RC_1_1 into master 2016-03-30 00:33:29 -04:00
Arvid Norberg a5af3b0dc5 Merge pull request #563 from arvidn/no-compact-1.1
remove remaining references to storage_mode_compact
2016-03-20 23:20:19 -04:00
arvidn b16f43132b Merge branch 'RC_1_1' 2016-03-20 20:39:49 -04:00
Arvid Norberg ee2d7a039d Merge pull request #562 from arvidn/coalesce-reads-1.1
make coalesce reads and coalesce writes actually work
2016-03-20 20:25:51 -04:00
arvidn f5c112eefc remove remaining references to storage_mode_compact (since it's been deprecated for quite a while now, and no longer implemented) 2016-03-20 18:25:24 -04:00
arvidn 2dd28c1708 just use malloc/free in test_storage (instead of page_aligned_allocator). file no longer requires alignment 2016-03-20 17:00:49 -04:00
arvidn 0095aa084f make coalesce reads and coalesce writes actually work 2016-03-20 16:34:19 -04:00
arvidn 96e2693d13 merge RC_1_1 into master 2016-03-19 16:02:46 -04:00
arvidn f7c9062019 deprecate more parts of explicit cache as well as fixing typos of TORRENT_NO_DEPRECATE preprocessor tests 2016-03-19 07:54:29 -04:00
Arvid Norberg 50f7c88cee Merge pull request #554 from arvidn/tracker-next-test-1.1
convert tracker try-next test to be a simulation (and deterministic)
2016-03-18 19:49:18 -04:00
arvidn d3df16cd12 convert tracker try-next test to be a simulation (and deterministic) 2016-03-18 14:38:45 -04:00
arvidn 3c98868f6c deprecate explicit cache feature 2016-03-18 12:15:03 -04:00
arvidn ff44af2854 fix test_torrent on windows 2016-03-17 08:18:29 -04:00
arvidn f79a9c7adf merged RC_1_1 into master 2016-03-16 19:59:53 -04:00
Arvid Norberg 82d177472e Merge pull request #541 from arvidn/fix-test-transfer-1.1
improve message from listen_failed_alert
2016-03-14 21:43:34 -04:00
arvidn 921cbeebed add option to delete just the partfile when removing a torrent 2016-03-14 08:26:39 -04:00
arvidn fb85e5e60f improve message from listen_failed_alert. Post listen_failed_alert for every failure, including the ones that are re-tried 2016-03-13 16:18:44 -04:00
arvidn 6d85c7c5f0 merge RC_1_1 into master 2016-03-08 01:10:48 -05:00
arvidn f5d5ac4f3a fix bug where disk cache was wiped out after completion file-checking. factor out sim test utilities and reuse them in the regression test 2016-03-06 21:44:38 -05:00
arvidn 442979c318 support filtering which parts of session state are loaded by load_state() 2016-03-06 16:35:49 -05:00
arvidn 26f88bb12d add receive_buffer unit test and some more cleanup and asserts 2016-03-05 00:14:00 -05:00
arvidn 84eafac1e2 add more slack to test_recheck, as it has been failing on and off on travis 2016-03-02 21:38:20 -05:00
arvidn 8ffa76842c fix test_upnp build 2016-02-28 01:18:27 -05:00
arvidn 587e888152 fix bug in torrent_info::rename_file 2016-02-27 10:20:23 -05:00
arvidn 2fd8047308 merged RC_1_1 2016-02-24 21:22:39 -05:00
arvidn e5ccb63375 fix build with openssl and deprecated functions disabled 2016-02-24 02:07:27 -05:00
arvidn dcd6af6473 more fixing of test_transfer proxy tests 2016-02-24 00:03:56 -05:00
arvidn d748a59029 attempt to fix test_transfer 2016-02-23 19:13:14 -05:00
arvidn d599bef0ee add unit test for read_resume_data 2016-02-20 13:26:21 -05:00
arvidn 516db1fc97 fix python binding 2016-02-20 12:51:06 -05:00
arvidn c9d7e54d7b make tests pass 2016-02-20 12:50:52 -05:00
arvidn b496eff206 reduce noise in output from test_resume 2016-02-20 02:00:07 -05:00
arvidn 8135ea326f rename async_check_fastresume to async_check_files, and make it take an add_torrent_params object instead of bencoded resume data 2016-02-20 02:00:07 -05:00
arvidn 6d77000ab0 deprecate ssl_listen setting. instead ssl sockets are specified by an 's' suffix of the port in listen_interfaces. 2016-02-12 15:46:12 -05:00
arvidn 3842a0a197 Merge branch 'RC_1_1' 2016-02-12 15:43:13 -05:00
arvidn 126ce22cb9 Merge branch 'RC_1_1' 2016-02-10 02:10:02 -05:00
arvidn ceb0ac6148 fix issue in socket binding and back-port ssl test reliability fix 2016-02-10 02:09:12 -05:00
arvidn d91054b8f1 forward port fix to ip_voter from RC_1_0 2016-02-09 19:09:53 -05:00
arvidn 4f40f84a7e Merge branch 'RC_1_1' 2016-02-08 15:28:34 -05:00
arvidn dd48faa8d4 minor debug logging issue in test facility wait-for-alert and fix minor shutdown issue with udp_socket packet subscription 2016-02-08 02:05:00 -05:00
Steven Siloti ad9d50c6b8 add make_torrent to Makefile.am 2016-02-06 19:46:19 -08:00
arvidn 660647b590 improve abstraction level of stats cache and fix test 2016-02-06 15:51:00 -05:00
arvidn ae7058e119 remove the timestamps and file sizes from the resume data. This makes saving resume data alot cheaper, since it doesn't have to go via the disk thread. It also removes an old-standing API usage issue where there was easily a race condition introduced between saving resume data and pausing a torrent. 2016-02-06 15:50:55 -05:00
arvidn 3a4f957b63 Merge branch 'RC_1_1' 2016-02-02 02:02:24 -05:00
arvidn 88b7e3768f add sim test for optimistic unchoke round-robin distribution 2016-02-01 20:28:30 -05:00
arvidn 9f1b27cf5f Merge branch 'RC_1_1' 2016-01-30 01:47:19 -05:00
arvidn efe32c6a0e rewrite most of web_peer_connection::on_receive to make it a lot simpler and fix edge cases with pad-files 2016-01-28 01:58:33 -05:00
arvidn 3153521367 merged RC_1_1 into master 2016-01-21 23:59:30 -05:00
arvidn 0cb35d714c fix test in test_storage 2016-01-20 19:38:18 -05:00
Arvid Norberg a80c4f4777 Merge pull request #397 from arvidn/dht-rate-limit
move the DHT rate limiter into the dht_tracker class
2016-01-18 15:39:37 -05:00
arvidn 06b52f1421 some cleanup of the dht_socket_interface and fix tests and simulations to build with the dht disabled 2016-01-18 14:34:42 -05:00
arvidn 4cbbb0620e only strip trailing dots and spaces from filenames on windows 2016-01-18 13:07:04 -05:00
arvidn 13f03ce38a print the actual stats in session_stats_alert::message() and make parse_session_stats.py parse the alert output. add stats_metric objects for all performance counters 2016-01-12 23:34:37 -05:00
Steven Siloti ab7ef98b01 ensure all immutable items are stored at least once
If num_peers is set to 1 then the item will never be stored. Bump the
minimum value to 2 so that announce_immutable_items stores all items
at least once.
2016-01-12 19:32:02 -08:00
arvidn 651b473908 add unit test for routing_table::update_node_id 2016-01-11 23:47:27 -05:00
Alden Torres 0f442f59f3 Avoid pass IPv6 address to current implementation of DHT while adding a node 2016-01-09 18:46:19 -05:00
Luca Bruno 15ef71303a
autotools: fix `make check` running
Signed-off-by: Luca Bruno <lucab@debian.org>
2016-01-04 14:28:05 +01:00
Luca Bruno 6feab20733
test: fix enum_if compilation
Signed-off-by: Luca Bruno <lucab@debian.org>
2016-01-04 14:27:39 +01:00
Luca Bruno 73c950b99b
test: fix test_lsd compilation
Signed-off-by: Luca Bruno <lucab@debian.org>
2016-01-04 14:25:49 +01:00
arvidn 66c14e968b disable disk-full test, because it's flaky 2016-01-03 13:30:32 -05:00
arvidn 07ddb010c5 split buckets when exceeding the next bucket's size, to make sure we split before risking discarding nodes because the next bucket is smaller 2016-01-02 00:45:44 -05:00
arvidn 01e6b93854 simplify and improve unit test for distance_exp. make some immutable variables const in the DHT implementation. instead of waking up periodically just to check if it's time to refresh the DHT secret key, set the timer to only wake up to refresh the key. If we don't have a DHT observer (to ask for our external IP) or if we don't know our external IP, don't generate a node ID based on 0.0.0.0, just generate a random ID instead. Simplified and improved node replacement logic in the routing table a little bit 2016-01-01 16:42:37 -05:00
Arvid Norberg ffb78f0378 Merge pull request #312 from ssiloti/export-verify-message
export verify_message and incoming_error
2015-12-30 22:51:38 -05:00
Steven Siloti ac01ccc43a add templated wrapper around verify_message
It was too easy to forget to update the ret and size parameters
when the size of desec changed. With this change we now automatically
get the size of desc and enforce that ret has the same size.

It would be nice if we could use bdecode_node ret[static Size] from C99
but that is not widely supported.
2015-12-29 20:35:36 -08:00
arvidn 197ca4e06d transition http proxy test for http_connection to the sim 2015-12-22 00:45:16 -05:00
Arvid Norberg 03e90d45d8 Merge pull request #339 from arvidn/dht-storage-test
extend the unit test of dht_storage
2015-12-20 02:02:56 -05:00
arvidn 3460f203f3 extend testing of sanitize_append_path_element 2015-12-19 20:11:22 -05:00
arvidn d7b435ec25 speed up test 2015-12-19 14:59:37 -05:00
arvidn 15ec839d33 extend the unit test of dht_storage 2015-12-19 02:09:06 -05:00
arvidn 121b686a39 add set_web_seeds to torrent_info 2015-12-12 18:36:15 -05:00
Arvid Norberg 550b0bb047 Merge pull request #313 from arvidn/setup-swarm-cleanup
clean up setup-swarm simulation utility to be more flexible
2015-12-12 14:07:26 -05:00
arvidn d505f93d7a port sim tests to use the new setup_swarm API 2015-12-12 00:41:47 -05:00
arvidn 54bf83739d fix assert in bdecode assert for strings with prefixes of 6 or more digits 2015-12-12 00:19:13 -05:00
arvidn 8732863a9a another fix to receiving malformed DHT error message 2015-12-03 01:08:27 -05:00
arvidn 550d75dab9 fix warning 2015-11-30 22:59:34 -05:00
arvidn eb8add0e57 fix missing include 2015-11-30 22:26:10 -05:00
arvidn 12dde0f415 actually add a test to the unit test 2015-11-30 19:07:35 -05:00
arvidn 7540a6e5cc correctly check incoming DHT error messages 2015-11-30 18:02:00 -05:00
arvidn fd3b53604c add new piece picker logging alert category 2015-11-29 08:25:55 -05:00
arvidn a8e31fd8ca add first coverage of test_transfer as a proper sim 2015-11-28 00:59:39 -05:00
arvidn 06b648203f clean up use of error categories 2015-11-24 00:50:51 -05:00
arvidn eed17f0bc1 remove the cases from non-sim test that are covered by the new http_connection sim test 2015-11-24 00:39:02 -05:00
arvidn e3dad98fbe fix an old use of posix_category. make http_connection translate IPs into proper endpoints when connecting over socks (instead of passing the IP on as a hostname string). add test coverage 2015-11-24 00:39:02 -05:00
arvidn 174e0aeb46 fix semantics of socks5_stream and http_connection to make them not close themselves. Add socks5 and socks4 proxy coverage in test_http_connection 2015-11-24 00:39:01 -05:00
Thomas Yuan c005c937fd Merge almost same functions. 2015-11-22 22:02:37 -05:00
Steven Siloti 1f13343a70 const correctness 2015-11-22 10:02:26 -08:00
Thomas Yuan ab70ad3e05 fix comments and unit test 2015-11-20 00:06:08 -05:00
Thomas Yuan 194ad410dc Make dht_put_alert more accurate. 2015-11-20 00:06:08 -05:00
arvidn 07574117ad add test for readwritev and experiment with SEH handler in test 2015-11-19 17:58:56 -05:00
arvidn 964031c070 factor out readwritev to a free function, to allow unit testing of it 2015-11-19 17:58:55 -05:00
Steven Siloti 08632aa5f7 add unit test to check for multiple calls to done() 2015-11-09 20:47:33 -08:00
arvidn 0c435b42b2 add some more slack to one of the unit tests 2015-11-08 16:26:58 -05:00
arvidn a138b2daa9 handle receiving an invalid request 2015-11-07 14:58:08 -05:00
arvidn 00090b8284 fix typo in test_checking, introduced by recent error_code in torrent_status patch 2015-11-07 01:01:07 -05:00
arvidn ebb9fdaf54 add error_code to torrent_status instead of error string 2015-11-05 20:43:23 -05:00
arvidn ee714306be forward port IPv6 IP address resolution in URLs fix 2015-11-01 17:26:45 -05:00
arvidn 475fd61b4b update ssl certificate for tests 2015-10-25 10:29:42 -04:00
arvidn ee395bd772 attempt to update SSL certificate for unit test 2015-10-18 01:21:03 -04:00
arvidn 08e2bf7835 mark up some more functions with override and silence a few more warnings in boost headers 2015-10-17 10:02:37 -04:00
arvidn 2b9cd9bfde fix build 2015-10-03 12:27:01 -04:00
arvidn c798e388a9 forward port fix to proxy_peer_connections to master 2015-10-03 11:20:10 -04:00
Arvid Norberg b785e789b6 Merge pull request #199 from arvidn/parse-magnet-fix
fix bug in parse_magnet_uri and improve unit test
2015-10-03 02:09:34 -04:00
arvidn c1955ecb18 fix bug in parse_magnet_uri and improve unit test 2015-10-02 23:24:17 -04:00
Alden Torres 62b24d8b67 Add set_dht_storage to session API. 2015-10-02 09:00:07 -04:00
arvidn a00e5aa6c7 forward port patch to have resume data web seeds override .torrent file web seeds, and a flag to merge them 2015-09-30 00:41:41 -04:00
arvidn 5da511f140 now that force-started torrents aren't affected by the auto-manager, they need to be explicitly kicked when entering checking state (it would be nice if all this could be done through set_state()) 2015-09-29 20:49:38 -04:00
Steven Siloti aa94f26b26 test_dht: use named parameter pattern for passing message arguments
The number of optional parameters for send_dht_request was already beyond
ridiculous and the addition of the 'want' argument pushed me over the top.
2015-09-27 19:16:24 -07:00
Alden Torres 197a443465 Fix of dht_storage_counters::peers counter. 2015-09-24 10:50:04 -04:00
Alden Torres 25ed70b977 Create dht_storage_counters to avoid internal counter in future public API. 2015-09-21 07:46:23 -04:00
arvidn b628692223 separate out announce_entry and torrent_status into their own headers 2015-09-18 08:08:08 -04:00
Alden Torres e2d682275a Implementing and using new dht storage interface 2015-09-16 08:30:27 -04:00
arvidn bdb2801c10 fix typos in appveyor.yml. attempt to cut down build times 2015-09-11 23:13:27 -04:00
Arvid Norberg 4b36900e8b Merge pull request #148 from thomas-yuan/invalid_node_id_test
Add unit test for invalid node-id. (shouldn't be added to routing table)
2015-09-10 00:12:13 -04:00
arvidn 9f4cfb6ac3 split up test_tracker unit tests 2015-09-09 23:54:43 -04:00
Thomas Yuan cfee70b350 unit test: a node with invalid node-id shouldn't be added to routing table. 2015-09-09 15:36:07 -04:00
Thomas Yuan 94a2c3131f Add unit test for DHT read_only nodes. 2015-09-08 11:03:27 -04:00
arvidn 7437171f9a disable test_ssl on travis osx 2015-09-06 22:55:41 -04:00
arvidn 68abd7a44d move out test_alert_manager from the main test (as it actually sleeps). also add some debug logging to it 2015-09-06 22:55:41 -04:00
arvidn 17c5759829 disable warning for unused command line argument and fix warnings. remove redundant travis build config. use new preprocessor on clang to avoid warnings 2015-09-06 22:55:41 -04:00
arvidn cb65694578 fix const correctness in xml_parse(). update unit tests rss and upnp to use new signature for parser callback 2015-09-06 00:38:33 -04:00
arvidn 43ee75ce02 only post listen_succeeded_alert once all sockets have succeeded, since we may re-open previously successful ones if a later one fails 2015-09-05 22:14:04 -04:00
Arvid Norberg 281c215998 Merge pull request #119 from arvidn/hard_links
add simple unit test for creating hard links
2015-08-31 07:31:23 -04:00
arvidn c1f9d6edc3 fix typo 2015-08-31 00:19:58 -04:00
arvidn b4381aa646 add unit test for linked_list 2015-08-30 23:34:49 -04:00
arvidn b0a395aa61 remove unused includes from test 2015-08-30 21:51:32 -04:00
arvidn 0e3e3ea793 add simple unit test for creating hard links 2015-08-30 20:14:55 -04:00
arvidn e3591c3a1c attempt to log more and potentially fix wait_for_downloading in unit tests 2015-08-30 08:52:58 -04:00
arvidn 8830d61cca exclude test_utp to be run on appveyor 2015-08-30 08:52:58 -04:00
arvidn 434be2bd83 add more logging around the test failure 2015-08-30 08:52:58 -04:00
arvidn 1142903d90 add unit test for new tracker proxy option 2015-08-30 01:50:33 -04:00
arvidn 0d9d632465 initial support for disabling proxy for tracker connections 2015-08-29 19:44:54 -04:00
arvidn d5f9f613ef attempt to fix tracker test on windows 2015-08-29 19:43:27 -04:00
arvidn 0ee4e46b49 attempt to fix tracker test 2015-08-29 17:57:49 -04:00
arvidn 769e407f6a fix tracker test 2015-08-29 17:13:40 -04:00
arvidn 0f760d3fb4 expand tracker unit test to assert the session correctly receives the right peers 2015-08-29 16:04:35 -04:00
arvidn 5757b0ad13 polish some behavior when setting piece and file priorities for torrents with no metadata. Fix the initialization order of peers once we do get the metadata 2015-08-29 10:21:15 -04:00
arvidn 6012306557 add more asserts for the size of the bitfields peers send 2015-08-27 21:48:52 -04:00
arvidn d1768b9c4c extend settings_pack unit test 2015-08-24 18:48:43 +02:00
arvidn 666b6dc788 split out some more tests from test_primitives 2015-08-24 17:40:29 +02:00
arvidn be2b1d3991 split the dht test into a few parts (still need more splitting) 2015-08-23 09:23:51 +02:00
arvidn e7b8b6da49 forward port DHT routing table fix from RC_1_0 2015-08-22 15:51:28 +02:00
arvidn d43af6e3b7 remove functionality to initiate MTU based on the MTU on the nic (this is error prone and has questionable value) 2015-08-22 08:09:09 +02:00
arvidn 7d2d9dd9c1 don't destruct sessions in global destructors 2015-08-20 22:11:04 +02:00
arvidn 0de5cf8adc attempt to fix windows build 2015-08-20 02:22:03 +02:00
arvidn ffa870d280 fixed some GCC warnings 2015-08-20 01:33:20 +02:00
arvidn bd177a857f make tailequeue a template, introduce type safety, remove old-style casts 2015-08-19 15:22:05 +02:00
arvidn 8d8c049d9e fix warnings and invalid defines in disk_io_thread.cpp 2015-08-18 07:55:50 -04:00
arvidn f6b86dc4b5 add typesafety to piece_picker torrent_peer pointers. and fix a few incorrect uses 2015-08-18 04:25:13 -04:00
Arvid Norberg 7627607af0 Merge pull request #86 from ssiloti/test-direct-dht
add test for direct DHT requests
2015-08-17 09:02:51 -04:00
arvidn eecdd3121d fix some build warnings 2015-08-17 09:01:43 -04:00
Steven Siloti 8ae5a29492 don't try to test direct DHT when extensions are disabled
Also make some changes to improve the robustness of port binding
2015-08-15 16:47:43 -07:00
Steven Siloti efbf3bd361 add test for direct DHT requests 2015-08-15 14:37:06 -07:00
arvidn 225b82d9a0 move test_trackers_extensions over to a simulation and some minor metadata extension and tracker re-announce fixes 2015-08-13 23:07:04 -04:00
arvidn 2c89fa40e2 fix up i2p merge 2015-08-13 22:22:20 -04:00
Arvid Norberg 68bc4f2cf4 Merge pull request #12 from mlt/wip/i2p
Few i2p fixes
2015-08-13 21:55:27 -04:00
arvidn 24b20a59cd remove some randomness from the unit tests 2015-08-13 02:06:30 -04:00
Steven Siloti 86fd8c3048 enable arbitrary direct dht requests and extension dht requests
If you're wondering why I used an alert for handling responses but not requests,
it's because the former was easy to do that way but the latter would have
involved some major refactoring or kludging. The DHT node is written with the
(IMO reasonable) assumption that all responses will be generated immediately, so
there was no way to easily accommodate getting a response asynchronously via
an alert.
2015-08-10 20:33:04 -07:00
Arvid Norberg 0dd4ff4f3c Merge pull request #78 from ssiloti/test_dht-fix
Test dht fix
2015-08-10 23:25:16 -04:00
Steven Siloti 2d9cf0f8b3 use test_name rather than __LINE__ for hidden test structs
When building tests from mutliple files together, the line number the test is
declared on is not guaranteed to be unique. If two tests happen to be on the
same line, one of them will not be run. You will then go crazy trying to figure
out why seemingly unrelated changes make the problem go away.
2015-08-10 20:05:16 -07:00
Steven Siloti 29ba738876 fix_dht mutable get test 2015-08-10 20:05:04 -07:00
arvidn 874bfcc89e transitioned test_super_seeding to a simulation (and remove the live test for test_swarm, which already has been transitioned to a simulation) 2015-08-10 10:18:36 -04:00
arvidn a75699eff1 move test_metadata_extension to a simulation instead of a live test 2015-08-10 09:17:41 -04:00
arvidn a3dbbd6a37 transition the test_pe_crypto system tests to be simulation 2015-08-10 06:57:51 -04:00
arvidn e38f461197 disable another flapping test on appveyor/windows 2015-08-09 18:23:01 -04:00
arvidn d977f2e68f attempt to make appveyor happy 2015-08-09 17:54:10 -04:00
arvidn 6068418def fix and re-enable simulations 2015-08-09 00:56:37 -04:00
Arvid Norberg 27c5a28637 Merge pull request #70 from thomas-yuan/master
Call callback function immediately when get data for mutable data.
2015-08-08 21:51:18 -04:00
Thomas e51b61870a Call callback function immediately when get mutable data. 2015-08-08 20:28:53 -04:00
arvidn a854fed12b simplify Jamfile by determining whether to use boost from source or from system installed version based on the BOOST_ROOT environment variable. This removes the build feature boost=source/boost=system 2015-08-08 19:18:05 -04:00
arvidn 3963d47385 fix shared linking against libtorrent_test 2015-08-08 18:13:43 -04:00
Dāvis 24b7fd48a6 Remove extra `\` in test/Makefile.am 2015-08-08 16:51:29 +03:00
arvidn 50925d7652 fix some more warnings 2015-08-08 02:48:01 -04:00
arvidn 46803b75f8 support building libtorrent in simulation mode (using libsimulator, which is a git submodule) 2015-08-07 21:31:59 -04:00
arvidn fb34607313 fix crash when loading a resume file where all files have priority 0 (and the torrent finishes before having downloaded anything) and add unit test for this case 2015-08-05 20:13:58 -04:00
arvidn 8473696d62 fix typo in previos commit 2015-08-02 15:54:42 -04:00
arvidn bb64887f30 merge total wanted fix from RC_1_0 2015-08-02 15:18:21 -04:00
arvidn 990aabe36f fix warnings and no-deprecated functions build 2015-08-01 19:55:36 -04:00
arvidn 52b4aed466 merge bdecode patch from RC_1_0. an empty string now produces an error rather than an empty bdecoded struct 2015-07-30 21:29:22 -04:00
arvidn 53360a5d4d add some slack to test_recheck 2015-07-28 19:18:15 -04:00
arvidn 580519fc19 disable irrelevant features in test_checking 2015-07-28 08:04:51 -04:00
arvidn f34f09ca58 merge more lenient utf8 conversion from RC_1_0 2015-07-27 08:59:38 -07:00
arvidn 105c105867 merge seed mode test and fixes from RC_1_0 2015-07-27 00:01:19 -07:00
Arvid Norberg 742548b69c Merge pull request #49 from ssiloti/plugin-exported-api
Only use exported types in the plugin api
2015-07-25 15:53:22 -07:00
Steven Siloti e6b3df3696 pass torrent_handle by const ref in the plugin api 2015-07-25 09:57:55 -07:00
arvidn 40c7596da9 merge loading of piece priorities from resume data fix from RC_1_0 2015-07-24 22:34:53 -07:00
Steven Siloti fbc67b4e21 switch to torrent_handle in plugin api 2015-07-23 19:52:23 -07:00
Arvid Norberg a1b73317ce Merge pull request #37 from jpetso/master
Progress towards a workable CMake build
2015-07-20 09:49:37 -07:00
Jakob Petsovits 991f0c2a45 Rename test_bdecode_performance to bdecode_benchmark, fix CMake issues.
It's not a test as such, since it's got its own main() that takes
arguments, doesn't return a result that can be directly compared
against expected results, and doesn't make use of the test_common
infrastructure.

The CMake build attempts to build all files named test_*.cpp with
test_common, whose main() and load_file() symbols clash with those
that the benchmark provides. Instead of making an exception, let's
rename it to something that doesn't start with "test_". Its usage
message even claims it's called bdecode_benchmark, so we use that.

Also, complete the file listing for test_common in CMake and use
an OBJECT pseudo-library there instead of STATIC. It's just as good
and jives better with having symbols provided by the executable.
(Follow-up patch in the works to provide Asio symbols that way.)

test_natpmp is a proper test but doesn't currently build,
so exclude it from the build for now.
2015-07-17 20:59:39 -04:00
Jakob Petsovits 79947dbd2a Remove the last bits of TORRENT_DHT_VERBOSE_LOGGING. 2015-07-17 20:13:14 -04:00
Jakob Petsovits 2a22ecfcce Remove unused mentions of non-existent class. 2015-07-17 20:13:14 -04:00
Jakob Petsovits b0f06504fb Avoid a clash of exported symbols, put them into anonymous namespaces. 2015-07-17 20:11:05 -04:00
arvidn 7a3cabfe12 fixed some resume issues, specifically around file priorities and override resume data 2015-07-16 21:56:06 -04:00
Jakob Petsovits 277917ec6a Avoid more warnings when building tests. 2015-07-16 14:55:14 -04:00
Jakob Petsovits cf9a009fb8 Avoid warnings when building tests. 2015-07-16 14:55:05 -04:00
arvidn 94e41538b6 fix SSL web-seed test 2015-07-16 00:44:03 -04:00
Mikhail Titov bfb3602634 Test compact i2p response 2015-07-14 14:13:11 -05:00
Mikhail Titov 007a580207 Options to use lowercase base32 encoding without padding 2015-07-14 12:41:12 -05:00
Arvid Norberg 6241958aee Merge pull request #27 from Chocobo1/py2
Project cleanup
2015-07-12 10:58:30 -04:00
Chocobo1 a59d1d3240 Add/fix shebang in python scripts, add execute permission (linux), remove whitespace/tabs at end of line 2015-07-12 14:24:01 +08:00
arvidn 2739def57f minor cleanups. use libtorrent typedefs for asio. failing to bind IPv6 UDP socket is no longer fatal. removed some redundant listen_failed_alerts 2015-07-11 23:01:27 -04:00
Chocobo1 e8a02b85b8 Remove duplicate 2015-07-11 15:45:18 +08:00
Arvid Norberg bbe51268d3 Merge pull request #23 from Chocobo1/igd_version
Add support for IGD version 2
2015-07-10 19:20:51 -04:00
Chocobo1 329d797342 Add test case for igd_version 2015-07-09 20:11:24 +08:00
Chocobo1 70fa9098a8 Fix error when building test_file_progress, missed in e2784df 2015-07-09 20:11:23 +08:00
arvidn 82bb923096 fix python typo 2015-07-08 00:05:13 -04:00
arvidn c5614b691f export file_progress class when building unit tests. fix to web_server.py (used for unit tests) 2015-07-07 23:46:33 -04:00
arvidn e2784df13c factor out file progress tracking from the torrent class 2015-06-28 22:47:11 -04:00
arvidn b4c3c40380 simplify settings in test_priority.cpp 2015-06-27 16:16:18 -04:00
arvidn 3b83c5418c attempt to make starting proxy server for tests more reliable 2015-06-24 20:51:23 -04:00
arvidn 9fc4968dc4 attempt to make start_web_server more robust in the tests 2015-06-22 23:55:47 -04:00
arvidn 8528a74828 fix bug in test_http_connection 2015-06-21 23:06:08 -04:00
arvidn 08016494a9 split up test_http_connection into smaller test cases 2015-06-21 12:41:50 -04:00
arvidn d704c00615 disable test_random. 2015-06-21 02:28:15 -04:00
arvidn 7d2deb01db split up test_storage into smaller test cases to improve output on failures 2015-06-20 22:34:44 -04:00
arvidn 3755a77a64 attempt to trouble shoot missing backtraces on linux 2015-06-20 16:36:23 -04:00
arvidn adc63d2b88 improve random entropy when picking port for web_server in test 2015-06-20 14:11:03 -04:00
arvidn e5f68dafc9 split up test_ssl into smaller test cases to improve output on failure 2015-06-20 12:46:40 -04:00
arvidn 2321bfe5fa fix shared linking of tests 2015-06-20 12:08:49 -04:00
arvidn 8cf9357aa8 move test main into test library to avoid redundant recompiling and hopefully speed up the testing a bit 2015-06-20 11:08:26 -04:00
arvidn 1450a692e4 fix test_identify_client build with deprecated functions turned off 2015-06-19 23:54:38 -04:00
arvidn e4bc4fc115 improve reliability of test_tracker 2015-06-19 01:43:09 -04:00
arvidn a500ff57be improve logging of the choker and reliability of the test_auto_unchoke 2015-06-19 01:43:09 -04:00
arvidn 8959971dd3 merge http scrape fix from RC_1_0 2015-06-18 01:05:36 -04:00
arvidn 184a1aa422 split up the tests in test_pe_crypto into multiple test cases, to improve output on failure 2015-06-17 21:55:27 -04:00
arvidn ab2d187001 attempt to make test_utp and swarm_suite more reliable 2015-06-17 19:36:26 -04:00
arvidn 0a67a2dd67 fix test_web_seed_chunked 2015-06-17 18:05:27 -04:00
arvidn 27c5da9a31 attempt to make test_tracker a bit more reliable 2015-06-17 01:34:26 -04:00
arvidn f7de7abec0 separate some more test cases to improve test output 2015-06-17 00:50:58 -04:00
arvidn 8d408c4c86 add shortcut in async resolver for raw IPs. 2015-06-16 23:45:05 -04:00
arvidn ee6847293f attempt to make test_tracker more reliable by disabling unnecessary features 2015-06-16 01:31:06 -04:00
arvidn c1913a97f3 attempt to make setup_transfer more reliable by waiting for torrents to transition to downloading state before connecting peers 2015-06-15 22:00:02 -04:00
arvidn bd2bcf12bc fix bug on write-only disk errors (it's not supposed to stop the torrent) 2015-06-15 02:27:09 -04:00
arvidn 3c74ab01a4 disable local peer discovery in test_privacy, to avoid finding random peers, polluting the test 2015-06-14 22:05:27 -04:00
arvidn 4224310c6f disable tests of extensions when they are disabled by the build config 2015-06-14 21:19:27 -04:00
arvidn e4e46241a8 fix reliability of swarm tests 2015-06-14 16:41:32 -04:00
arvidn 5cb095f6d2 support using 0 disk threads (to perform disk I/O in network thread) 2015-06-14 16:00:04 -04:00
arvidn db76ba759d improve some tests 2015-06-14 15:48:11 -04:00
arvidn 99c0542289 add option to not redirect output from tests 2015-06-13 18:52:17 -04:00
arvidn cfb96f2a35 fix silly typo 2015-06-10 21:39:14 -04:00
arvidn 5e5e31cf9a fix test privacy to not destruct session, potentially, after other global destructors 2015-06-10 21:10:22 -04:00
arvidn 0d6e65ec24 improve reliability of some of the unit tests 2015-06-10 01:22:01 -04:00
arvidn 6e68429117 split out test_upnp as its own test 2015-06-09 23:04:33 -04:00
arvidn 3f3b7d494c disable some redundant features in tests to make them not interfere with the test itself 2015-06-07 17:54:08 -04:00
arvidn 72d3bc0b8e split up test_fast_extension into multiple test cases 2015-06-07 15:31:34 -04:00
arvidn 025d1857c1 disable some more tests that aren't reliable yet 2015-06-07 09:29:42 -04:00
arvidn d997181524 split up super seeding unit test 2015-06-07 09:27:23 -04:00
arvidn ac04ee5ef3 fix typo in settings_pack 2015-06-07 09:23:04 -04:00
arvidn 9957c00def disable test_priority for now 2015-06-06 14:59:04 -04:00
arvidn 9af8841244 remove some unnecessary asio typedefs in the libtorrent namespace, just pull ip::tcp and ip::udp 2015-06-06 13:49:18 -04:00
arvidn 09a01a777a simplified test_priority 2015-06-06 12:10:43 -04:00
arvidn b5a477d7fd split up some more tests into smaller test cases for easier diagnosing 2015-06-06 02:42:23 -04:00
arvidn 7d2708405b split up test_privacy to more easily identify failures (and to suppress output from successfult tests) 2015-06-06 02:23:56 -04:00
arvidn 41533205be drop support for boost 1.35 and fix some more references to the asio namespace 2015-06-06 02:10:53 -04:00
arvidn 389ffc622c don't pull in the asio namespace in libtorrent. refer to it by boost::asio 2015-06-06 01:24:25 -04:00
arvidn 48bc00cbb7 attempt to make unit tests more deterministic 2015-06-05 23:02:07 -04:00
arvidn 15dd15d0d6 fix no-deprecated build. extend .travis.yml to build the 3 test configurations too. rename README to README.rst 2015-06-05 02:31:52 -04:00
arvidn 393f98f9ee fix gcc build of test_dos_blocker. update README and travis.yml 2015-06-04 21:58:02 -04:00
Arvid Norberg 5cc701df54 improve test_tracker 2015-06-03 02:37:59 +00:00
Arvid Norberg d8c0632c78 add some bdecoding unit tests 2015-06-02 03:06:48 +00:00
Arvid Norberg 5d6cba438d merged changes from RC_1_0 2015-06-02 01:14:52 +00:00
Arvid Norberg e35d8d3933 fix unit test 2015-05-31 17:28:37 +00:00
Arvid Norberg f6eb3e8c74 test names 2015-05-31 17:16:44 +00:00
Arvid Norberg b0eabd532c some test fixes 2015-05-31 16:14:46 +00:00
Arvid Norberg c8443d0c7c msvc fixes 2015-05-31 12:21:16 +00:00
Arvid Norberg 84849f3afd some msvc fixes 2015-05-30 21:46:59 +00:00
Arvid Norberg d9813ca56d split up file unit tests into smaller pieces 2015-05-30 21:10:34 +00:00
Arvid Norberg 3073be4bbd fix ip_voter test and try to narrow down flapping in test heterogeneous test 2015-05-30 18:42:04 +00:00
Arvid Norberg 2714e3d4ba fix ip_voter unit test 2015-05-30 18:28:09 +00:00
Arvid Norberg f9c9d0ad0d merge small unit tests to make running the tests quicker. expand the test framework a bit. add ax_boost_random.m4 script to link against boost.random correctly from makefile. 2015-05-30 04:31:23 +00:00
Arvid Norberg e44c8e9002 optimize logging of DHT packets by deferring copying and printing, to only do it if the alert category is enabled 2015-05-28 20:36:22 +00:00
Arvid Norberg 647a6dba54 moved some tests to the correct place and factor out some tests from test_primitives.cpp in order to be able to track test coverage better 2015-05-27 21:27:41 +00:00
Arvid Norberg 027789b475 fix test_primitives build 2015-05-23 02:00:38 +00:00
Arvid Norberg 9856a1fe0c break out more tests from test_primitives 2015-05-23 01:38:47 +00:00
Arvid Norberg 607e708bc4 fix warnings 2015-05-19 03:13:49 +00:00
Arvid Norberg 051ca6b22c fix warnings 2015-05-18 05:32:18 +00:00
Arvid Norberg 9ee98b3ed1 fix build warnings 2015-05-18 05:04:55 +00:00
Arvid Norberg 71ee44ae5e fix build issue, some warnings 2015-05-17 23:32:13 +00:00
Arvid Norberg b480f40a98 fix linux build and update code coverage script 2015-05-17 21:00:47 +00:00
Arvid Norberg be60dfc0a9 minor whitespace cleanup 2015-05-17 18:59:35 +00:00
Arvid Norberg 58ae099cf8 clean up disk_io_job a bit to avoid old-style casts 2015-05-16 20:41:37 +00:00
Arvid Norberg 99de70604a remove dht-verbose logging build configuration. tie it to the main logging configuration (which now is on by default) and make it less costly when dht logging alerts are disabled 2015-05-16 19:29:49 +00:00
Arvid Norberg 12c9d3de26 fix more warnings 2015-05-16 18:35:47 +00:00
Arvid Norberg 6a87dc7d84 fix some warnings 2015-05-16 16:24:11 +00:00
Arvid Norberg 72e0e331a5 fix SSL build 2015-05-11 05:30:59 +00:00
Arvid Norberg 0029ac62a8 add unit test for extract_peer_info 2015-05-10 18:24:38 +00:00
Arvid Norberg ca577796d3 fix test build 2015-05-10 05:25:31 +00:00
Arvid Norberg 0358badb82 remove test print 2015-05-10 05:12:24 +00:00
Arvid Norberg ca581f2258 rename dht::node_impl -> dht::node, since this hasn't been a pimpl for quite a while 2015-05-09 19:00:22 +00:00
Arvid Norberg 6557910c7f remove the DHT's last dependency on session_impl 2015-05-09 18:06:02 +00:00
Arvid Norberg 202b4921b6 merged changes from RC_1_0 2015-05-08 04:28:24 +00:00
Arvid Norberg 5dc00969f8 fix more warninigs 2015-05-06 02:13:03 +00:00
Arvid Norberg 4f216dece3 factor out strings of peer logs to be enums instead, in peer_log_alert 2015-05-03 02:53:54 +00:00
Arvid Norberg f0336017d1 fix gcc warnings and missing header files in makefiles 2015-04-26 00:51:44 +00:00
Arvid Norberg 821e34c795 fix examples build. fix print formatting bugs. fix some gcc warnings 2015-04-25 04:22:51 +00:00
Arvid Norberg f7e4f83469 separate out session_stats into its own header. silences warning and cleans up 2015-04-25 02:12:02 +00:00
Arvid Norberg 3bf9fa8fca move out merkle functions into their own file and test 2015-04-24 06:06:41 +00:00
Arvid Norberg 3ea67e2bf5 move time_now_string out to the unit test library (basically unused in libtorrent itself) 2015-04-24 03:48:08 +00:00
Arvid Norberg f5629eb403 cleanup and fixing of more warnings 2015-04-21 00:23:00 +00:00
Arvid Norberg 60d1b8fa7c fix gcc build 2015-04-18 21:21:22 +00:00
Arvid Norberg 1faf2e201f inversed TORRENT_LOGGING build config to enable logging by default. It's now disabled by TORRENT_DISABLE_LOGGING 2015-04-17 01:15:33 +00:00
Arvid Norberg a4d99188ba test_peer_list extension 2015-04-16 23:11:37 +00:00
Arvid Norberg 8200f33925 fix gcc build issue in test_peer_list 2015-04-13 00:50:55 +00:00
Arvid Norberg daacbbfbb4 extend test_peer_list 2015-04-12 22:29:41 +00:00
Arvid Norberg 208fbe8545 extend test_peer_list 2015-04-12 06:39:16 +00:00
Arvid Norberg b148f21314 fix typo in test 2015-04-12 02:54:43 +00:00
Arvid Norberg 8e6efd7fea fix 2015-04-12 00:39:07 +00:00
Arvid Norberg 55a9e98dd0 extend test_alert_manager and clean up test_fast_extension and extend a little bit 2015-04-12 00:14:07 +00:00
Arvid Norberg 6f839a6d66 extend some unit tests. primarily test_alert_manager and fixed a bug in alert_manager 2015-04-11 22:02:30 +00:00
Arvid Norberg baaeac7809 extend some unit tests. primarily test_alert_manager and fixed a bug in alert_manager 2015-04-11 18:44:43 +00:00
Arvid Norberg b3e061ca94 clean up of some test and fix warnings 2015-04-11 15:25:24 +00:00
Arvid Norberg 5838073691 fix bug in test_priority 2015-04-05 23:16:01 +00:00
Arvid Norberg 2a3a34bf8d fix warnings in alert_manager and fix test_resolve_links for windows 2015-04-04 19:11:14 +00:00
Arvid Norberg d019f3d4c3 fix linux python build and test_ssl build 2015-04-04 18:03:55 +00:00
Arvid Norberg fb597ca4b3 symbols export fix and test_ssl fix 2015-04-04 13:31:33 +00:00
Arvid Norberg 721d93cb28 fix typos and msvc build issues 2015-04-04 04:50:20 +00:00
Arvid Norberg 013ed36f09 landed alert_queue feature branch into trunk 2015-04-03 20:15:48 +00:00
Arvid Norberg 663aa7b546 remove outdated todo comment 2015-03-28 21:42:37 +00:00
Arvid Norberg 837e709628 deprecate RSS API 2015-03-28 17:31:27 +00:00
Arvid Norberg 0aece517ce fix some undefined behavior in tests. and fix test_file_storage 2015-03-22 05:31:55 +00:00
Arvid Norberg 9af3066b56 fix file collision logic in torrent_info 2015-03-21 16:55:23 +00:00
Arvid Norberg ccc7e45406 landed mutable torrents branch in trunk 2015-03-21 00:12:40 +00:00