Commit graph

90 commits

Author SHA1 Message Date
John Newbery c9cc76dcaa [tests] Remove is_network_split from funtional test cases 2017-05-02 13:31:54 -04:00
Wladimir J. van der Laan 8f3e38477e
Merge #10169: [tests] Remove func test code duplication
2a52ae6 Remove duplicate method definitions in NodeConnCB subclasses (John Newbery)
52e15aa Adds helper functions to NodeConnCB (John Newbery)

Tree-SHA512: 2d7909eb85b3bde0fc3ebf133798eca21e561f4b2a2880937750820a42856cfb61fc94e30591c14ac13218bcfae0ebe7c5e8662a7b10f5b02470325c44a86cf1
2017-05-02 19:11:55 +02:00
Wladimir J. van der Laan faf2dea5ea
Merge #10234: [net] listbanned RPC and QT should show correct banned subnets
d6732d8 [tests] update disconnect_ban.py test case to work with listbanned (John Newbery)
77c54b2 [net] listbanned RPC and QT should show correct banned subnets (John Newbery)

Tree-SHA512: edd0e43377d456260d2697213c2829f8483630f3a668b6707d52605faefa610d951d10e6f22a95eff483cbd14faa8ac9b69fa7d3c0b5735c5f3df23fd71282e0
2017-05-02 18:41:58 +02:00
Wladimir J. van der Laan e2b99b1313
Merge #10294: [Wallet] unset change position when there is no change
7c58863 [Wallet] unset change position when there is no change on exact match (Gregory Sanders)

Tree-SHA512: ce8b9337e4132e32d80f954258d50938052c833a48e39431649d6adb16e3d18626a0ae5d300827e7fa397927fba72a1f066cb31af9b0a3ef7f1feb6024461626
2017-05-01 15:20:51 +02:00
Gregory Sanders 7c588637d4 [Wallet] unset change position when there is no change on exact match 2017-05-01 08:07:09 -04:00
MarcoFalke 492d22f929
Merge #10264: [test] Add tests for getconnectioncount, getnettotals and ping
85f950a [test] Add tests for getconnectioncount, getnettotals and ping (Jimmy Song)

Tree-SHA512: f9cccc749cd897a4e90400173d63da27798fe606ede216bdcfcce73848370327e010fa7ae70bd2974b24b3e688337e2ad18f0959ffed57cae9c0803456bab09a
2017-05-01 12:14:58 +02:00
Jimmy Song dd1ea59624 [test] Add gettxout call
Test gettxout as part of the wallet test.
Tests gettxout with a confirmed/unconfirmed tx with include_mempool flag on and off
2017-04-28 14:54:12 -07:00
Jimmy Song 85f950a5c4 [test] Add tests for getconnectioncount, getnettotals and ping
* Split run_test into 4 separate tests
* Add 2 tests, getconnectioncount and getnettotals
* getnettotals - Strategy of test is to get the network stats before and after a ping. The difference in bytes sent/received is the bytes needed for a ping/pong.
2017-04-28 14:21:30 -07:00
John Newbery d6732d832a [tests] update disconnect_ban.py test case to work with listbanned 2017-04-28 11:24:33 -04:00
Wladimir J. van der Laan e0a7e1994e
Merge #10225: [test] Add aborttrescan tests
ed60970 [test] Test abortrescan command. (Karl-Johan Alm)

Tree-SHA512: 7f617adba65a6df8fdc4b01432992926a06c4a05da4e657653436f7716301fa5d6249d77894a097737e7fb9e118925883f2425c639058b8973680339bb8e61b6
2017-04-25 16:10:50 +02:00
MarcoFalke 1b25b6df0f
Merge #10097: Move zmq test skipping logic into individual test case.
6803e09 Move zmq test skipping logic into individual test case. (John Newbery)

Tree-SHA512: 9d166b53e9acf386c4dafc860b38e2901b331a7505bba9714a2f4e3bdef68b0316c8b76fddbfb620835ddee549cf32fffb3a96a19b0799ad94f2553f55f19a35
2017-04-23 17:54:06 +02:00
MarcoFalke c530c15180
Merge #10023: [tests] remove maxblocksinflight.py (functionality covered by other test)
5f4bcf2 [tests] Remove maxblocksinflight testcase (John Newbery)

Tree-SHA512: 827c8b12f4b52684a973bbfc508c5906e640572e22a96b9420a7aea86ad8d4aa4d6fcc2bb091f747e2fdd18c897e0456baff254bd5e3ceaf721bd3f09a2fd60b
2017-04-23 17:43:08 +02:00
MarcoFalke 2723bcdce3
Merge #10224: [test] Add test for getaddednodeinfo
bc53752 Tests: Add simple test for getaddednodeinfo (Jimmy Song)

Tree-SHA512: d2f8a384fb994b83f881b585db70e7cf57980821074126d254960cb67988a40672ffde065d0ccd9a90f9e3b395d8cd33695c796ecb4b54f69fe74ee2bf7497a6
2017-04-23 17:04:46 +02:00
Wladimir J. van der Laan 5352e5e75d
Merge #10223: Tests: Refactor to create witness script creation function
c39a6b9 Tests: Refactor to create witness script creation function (Jimmy Song)

Tree-SHA512: 1dde621c811ea1a2719acb9a9b84825d3f520234da7fc4045da13754d4a6e6736de2fd508a2b6e64226ad95c7e634bf76d36bd0dcd1b37c63e7b1e172ee0816c
2017-04-21 17:29:40 +02:00
Wladimir J. van der Laan f3db4c6013
Merge #10229: Tests: Add test for getdifficulty
821dd5e Tests: Add test for getdifficulty (Jimmy Song)

Tree-SHA512: 3da78c4f88efdaab8374582cda606620beb2f1e9a93119a72b67572702c17c36b68c3abf9d466e8c7fb8ba9e8afa9a172e454c553df10d3054f19b3282d3097b
2017-04-21 17:12:30 +02:00
Karl-Johan Alm ed60970c83
[test] Test abortrescan command. 2017-04-21 12:51:50 +09:00
Jimmy Song bc53752616 Tests: Add simple test for getaddednodeinfo
* net.py test adds a node and sees if it's in the getaddednodeinfo call
* flake8 fixes
2017-04-20 11:29:21 -07:00
Jimmy Song c39a6b9ec8 Tests: Refactor to create witness script creation function
* Refactor blocktools.py so that witness script creation is its own function
* Changed p2p-segwit to use new function
2017-04-20 11:28:45 -07:00
John Newbery 6803e09e6e Move zmq test skipping logic into individual test case.
This commit uses the new skip test funcationality added in
232b6665bc to skip the zmq tests if the
python zmq module is not available or if bitcoind has been built without
zmq support.

This removes the zmq-specific logic from test_runner.py. In general it's
better if test_runner.py has no knowledge of special cases for
individual tests and is a general purpose test runner.
2017-04-20 11:25:33 -04:00
Wladimir J. van der Laan a987def4f6
Merge #10143: [net] Allow disconnectnode RPC to be called with node id
d54297f [tests] disconnect_ban: add tests for disconnect-by-nodeid (John Newbery)
5cc3ee2 [tests] disconnect_ban: remove dependency on urllib (John Newbery)
12de2f2 [tests] disconnect_ban: use wait_until instead of sleep (John Newbery)
2077fda [tests] disconnect_ban: add logging (John Newbery)
395561b [tests] disconnectban test - only use two nodes (John Newbery)
e367ad5 [tests] rename nodehandling to disconnectban (John Newbery)
d6564a2 [tests] fix nodehandling.py flake8 warnings (John Newbery)
23e6e64 Allow disconnectnode() to be called with node id (John Newbery)

Tree-SHA512: a371bb05a24a91cdb16a7ac4fbb091d5d3bf6554b29bd69d74522cb7523d3f1c5b1989d5e7b03f3fc7369fb727098dd2a549de551b731dd480c121d9517d3576
2017-04-20 11:47:22 +02:00
Jimmy Song 821dd5e3e1 Tests: Add test for getdifficulty
Test added to blockchain.py as adding a new test to reduce test run time.
2017-04-19 14:53:44 -07:00
John Newbery d54297f1a8 [tests] disconnect_ban: add tests for disconnect-by-nodeid 2017-04-19 13:47:56 -04:00
John Newbery 5cc3ee24d2 [tests] disconnect_ban: remove dependency on urllib 2017-04-19 13:47:56 -04:00
John Newbery 12de2f252c [tests] disconnect_ban: use wait_until instead of sleep 2017-04-19 13:47:56 -04:00
John Newbery 2077fdacd3 [tests] disconnect_ban: add logging 2017-04-19 13:47:56 -04:00
John Newbery 395561becf [tests] disconnectban test - only use two nodes 2017-04-19 13:47:56 -04:00
John Newbery e367ad5b44 [tests] rename nodehandling to disconnectban 2017-04-19 13:47:56 -04:00
John Newbery d6564a26f4 [tests] fix nodehandling.py flake8 warnings 2017-04-19 13:47:56 -04:00
John Newbery 2a52ae63bf Remove duplicate method definitions in NodeConnCB subclasses
All Node classes in individual test cases subclass from NodeConnCB. Many
have duplicate definitions for methods that are defined in the base
class. This commit removes those duplicate definitions.

This commit removes ~290 lines of duplicate code.
2017-04-18 17:20:09 -04:00
John Newbery 52e15aa4d0 Adds helper functions to NodeConnCB
This commit adds some helper functions to NodeConnCB which are useful
for many tests:

- NodeConnCB now keeps track of the number of each message type that
it's received and the most recent message of each type. Many tests
assert on the most recent block, tx or reject message.
- NodeConnCB now keeps track of its connection state by setting a
connected boolean in on_open() and on_close()
- NodeConnCB now has wait_for_block, wait_for_getdata,
wait_for_getheaders, wait_for_inv and wait_for_verack methods

I have updated the individual test cases to make sure that there are no
namespace problems that cause them to fail with these new definitions.
Future commits will remove the duplicate code.
2017-04-18 15:25:01 -04:00
MarcoFalke 9111df9673
Merge #10219: Tests: Order Python Tests Differently
637706d Tests: Put Extended tests first when they're included (Jimmy Song)

Tree-SHA512: 0a720b2443b3e65f4ad548ecdf822468460fc4f4ecf32385dd79511a01c9ea4c94f0bf765ca593705b19baee1bae254dfcc3952da64b9c51d75b7da7abcdcd28
2017-04-18 09:26:43 +02:00
Jimmy Song 637706dc9e Tests: Put Extended tests first when they're included
* Added documentation in tests/README.md about enabling wallet, utils and daemon.
* Change ordering to make the long-running EXTENDED_TESTS go first.
2017-04-17 15:20:35 -07:00
MarcoFalke d86bb075bf
Merge #10197: [tests] Functional test warnings
08e51c1 [tests] Remove cache directory by default when running test_runner (John Newbery)
c85b080 [test] add warnings to test_runner (John Newbery)

Tree-SHA512: 537a8a258e410102708d1e02893f3f45abe7a3a3290536249381a7dc55d74ca78322804bf34178dec1461ec1c29d8f8358c5901ddd1633f8b301b95bcbb6ce6d
2017-04-17 22:17:22 +02:00
John Newbery a97ed80f97 [tests] test_runner - check unicode 2017-04-17 14:16:43 -04:00
John Newbery 08e51c1c03 [tests] Remove cache directory by default when running test_runner 2017-04-17 10:31:55 -04:00
John Newbery c85b080cc7 [test] add warnings to test_runner 2017-04-17 10:31:55 -04:00
John Newbery 5f4bcf28ef [tests] Remove maxblocksinflight testcase
maxblocksinflight tested that a node would not send get_data messages
for more than 16 new blocks at the same time. bitcoin core no longer
responds to block invs with get_data, since it does headers-first
sync'ing. This test was therefore testing nothing and can be removed.

the sendheaders test script tests that bitcoin will not send get_headers
for more than 16 blocks simultaneously.
2017-04-13 11:48:02 -04:00
Wladimir J. van der Laan e96462fbec tests: Fix test_runner return value in case of skipped test
Currently test_runner reports an error if a test case is skipped.
This is not how it should be, only failed tests should cause it to fail.
2017-04-11 19:49:34 +02:00
Wladimir J. van der Laan e19586a8a9
Merge #10135: [p2p] Send the correct error code in reject messages
5d08c9c Send the correct error code in reject messages (John Newbery)

Tree-SHA512: 0cd3ef3ae202584b138cc0bbfba4125635822e0c5a755fb9276a604b39286959ab22dabc3104aa5d7e71358cd69d965de2a333ff04bf3e8ed43cf0296ac01264
2017-04-10 14:44:22 +02:00
MarcoFalke 88799ea1b1
Merge #10124: [test] Suppress test logging spam
45ce471 Reduce spammy test logging (John Newbery)

Tree-SHA512: 64b2ce29fb62a4e738840bbaf93563559451c2ef078ba66ecfc1dbe34adefea61ad2ad2d768444cb2e0b30cb3cbe47e38ed818d4c91f7723a3d1ba9fdd0043f9
2017-04-08 12:34:31 +02:00
John Newbery 45ce471ab0 Reduce spammy test logging
This commit reduces spammy logging by the test framework. It truncates
logging send/receive message in mininode to 500 characters.  mininode
was previously logging the entire message sent received, which can be up
to 1MB for a full block.
2017-04-07 22:16:41 -04:00
John Newbery d80baaa514 fixup - align summary row correctly and make colors/glyphs globals 2017-04-07 09:15:29 -04:00
John Newbery bb92d839d5 [tests] Add unicode symbols for tests passing/failing/skipping 2017-04-06 13:31:47 -04:00
John Newbery 63062bda1a [tests] color test results and sort alphabetically 2017-04-05 18:36:37 -04:00
Suhas Daftuar ba7dd8bf6f Test prioritisetransaction and ancestor fee state
There is already a similar test for descendant fee state.
2017-04-03 15:48:55 -04:00
Wladimir J. van der Laan ebfd653798
Merge #10077: [qa] Add setnetworkactive smoke test
fa697b7 [qa] Add setnetworkactive smoke test (MarcoFalke)

Tree-SHA512: 7205bae16f551e93383987392702e6853cfb06d4448735815fa116385cbf5deb6c4a8f521efdd43cf3cc59fede3b3d1ffe74e662890b74bcc21b5c13ce1f20b7
2017-04-02 15:39:26 +02:00
MarcoFalke 12af74b289
Merge #10072: Remove sources of unreliablility in extended functional tests
a4fd89f Make forknotify.py more robust (John Newbery)
1f3d78b Wait for connection to open in bip9-softforks.py (John Newbery)

Tree-SHA512: de7d0002ee62ad97059b6f6c89b11f6e9901e3b4164ef6906bcd61e4ca499c277d9034784755966e5baf599869fad611b0b18f5547a384ceb5b7db3cc5bbd132
2017-04-02 12:52:31 +02:00
John Newbery 5d08c9c579 Send the correct error code in reject messages 2017-03-31 14:22:25 -04:00
John Newbery 6a18bb9a36 [tests] sync_with_ping should assert that ping hasn't timed out
sync_with_ping currently returns false if the timeout expires, and it is
the caller's responsibility to fail the test. However, none of the tests
currently assert on sync_with_ping()'s return code. This commit adds an
assert to sync_with_ping so the test will fail if the timeout expires.

This commit also removes all the duplicate implementations of
sync_with_ping() from the individual tests.
2017-03-30 08:39:12 -04:00
John Newbery 6426716a99 Add send_await_disconnect() method to p2p-compactblocks.py
p2p-compactblocks was incorrectly using sync_with_ping() when sending in
invalid block. The node would disconnect us and never respond to the
ping, so the sync_with_ping would just time out after 30 seconds and
continue with the test.

This commit adds a send_await_disconnect() method that sends the
message, and then waits for the node to disconnect us. In this commit
I've added the method to p2p-compactblocks.py, but a future commit could
move it to mininode since it could be useful more generally.

This commit reduces the p2p-compactblock runtime by 30 seconds.
2017-03-30 08:39:12 -04:00