Commit Graph

1346 Commits

Author SHA1 Message Date
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