Commit Graph

1336 Commits

Author SHA1 Message Date
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 0cb35d714c fix test in test_storage 2016-01-20 19:38:18 -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