Commit graph

85 commits

Author SHA1 Message Date
Gregory Sanders
7c588637d4 [Wallet] unset change position when there is no change on exact match 2017-05-01 08:07:09 -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
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
Wladimir J. van der Laan
de301b0488
Merge #10130: bitcoin-tx input verification (awemany, jnewbery)
19ecd1e Add tests for bitcoin-tx input checking (John Newbery)
21704f6 Check stderr when testing bitcoin-tx (John Newbery)
eb66bf9 bitcoin-tx: Fix missing range check (Awemany)

Tree-SHA512: 08c6153cf7dd5e0ecd23e24d81af4c0f17534d484179dd91dcd78d42df14c91284341d31cc695469a64c507bce72c34231748b7cabb7df8f1051d228fb0a62c5
2017-03-31 10:21:38 +02:00
John Newbery
19ecd1e2e1 Add tests for bitcoin-tx input checking 2017-03-30 16:37:53 -04:00
John Newbery
21704f6334 Check stderr when testing bitcoin-tx 2017-03-30 16:37:53 -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
MarcoFalke
8ac8041286
Merge #10109: Remove SingleNodeConnCB
159fe88 Remove SingleNodeConnCB (John Newbery)

Tree-SHA512: 2fc3d060f4ac9445e657134919a871c46987d53eb98d23a858ee9515fc997be7a81923f08f2a37d07d123b55b912ae82ffa0f820d16297b044ab24dcf0788a8a
2017-03-30 09:23:15 +02:00
Wladimir J. van der Laan
f34cdcbd80
Merge #9294: Use internal HD chain for change outputs (hd split)
4115af7 Fix rebase issue where pwalletMain was used instead of pwallet Ser./Deser. nInternalChainCounter as last element (Jonas Schnelli)
9382f04 Do not break backward compatibility during wallet encryption (Jonas Schnelli)
1df08d1 Add assertion for CanSupportFeature(FEATURE_HD_SPLIT) (Jonas Schnelli)
cd468d0 Define CWallet::DeriveNewChildKey() as private (Jonas Schnelli)
ed79e4f Optimize GetOldestKeyPoolTime(), return as soon as we have both oldest keys (Jonas Schnelli)
771a304 Make sure we set the wallets min version to FEATURE_HD_SPLIT at the very first point (Jonas Schnelli)
1b3b5c6 Slightly modify fundrawtransaction.py test (change getnewaddress() into getrawchangeaddress()) (Jonas Schnelli)
003e197 Remove FEATURE_HD_SPLIT bump TODO (Jonas Schnelli)
d9638e5 Overhaul the internal/external key derive switch (Jonas Schnelli)
1090502 Fix superfluous cast and code style nits in RPC wallet-hd.py test (Jonas Schnelli)
58e1483 CKeyPool avoid "catch (...)" in SerializationOp (Jonas Schnelli)
e138876 Only show keypoolsize_hd_internal if HD split is enabled (Jonas Schnelli)
add38d9 GetOldestKeyPoolTime: if HD & HD Chain Split is enabled, response max(oldest-internal-key, oldest-external-key) (Jonas Schnelli)
dd526c2 Don't switch to HD-chain-split during wallet encryption of non HD-chain-split wallets (Jonas Schnelli)
79df9df Switch to 100% for the HD internal keypool size (Jonas Schnelli)
bcafca1 Make sure we always generate one keypool key at minimum (Jonas Schnelli)
d0a627a Fix issue where CDataStream->nVersion was taken a CKeyPool record version (Jonas Schnelli)
9af8f00 Make sure we hand out keypool keys if HD_SPLIT is not enabled (Jonas Schnelli)
469a47b Make sure ReserveKeyFromKeyPool only hands out internal keys if HD_SPLIT is supported (Jonas Schnelli)
05a9b49 Fix wrong keypool internal size in RPC getwalletinfo help (Jonas Schnelli)
01de822 Removed redundant IsLocked() check in NewKeyPool() (Jonas Schnelli)
d59531d Immediately return setKeyPool's size if HD or HD_SPLIT is disabled or not supported (Jonas Schnelli)
02592f4 [Wallet] split the keypool in an internal and external part (Jonas Schnelli)

Tree-SHA512: 80d355d5e844b48c3163b56c788ab8b5b5285db0ceeb19858a3ef517d5a702afeca21dbae526d7b8fb4101c2a745af1d92bf557c40cf516780f17992bf678c1a
2017-03-29 12:51:06 +02:00
John Newbery
a4fd89fddb Make forknotify.py more robust
forknotify would intermittently fail because the alert file was not
being written fast enough. This commit adds a timeout so the test does
not fail immediately.
2017-03-28 16:22:19 -04:00
John Newbery
1f3d78b4e0 Wait for connection to open in bip9-softforks.py
bip9-sofforks.py stop-starts the bitcoind node twice during the test
run, but it doesn't wait for the connection from mininode to open before
continuing with the test. This leads to race conditions where the test
can fail getblocktemplate() because it has no p2p connections.
2017-03-28 16:15:38 -04:00
John Newbery
159fe88abf Remove SingleNodeConnCB
This commit merges the NodeConnCB and SingleNodeConnCB into a single
class (called NodeConnCB). The original intent for the NodeConnCB was to
be able to have a python 'mininode' connect to multiple running
bitcoinds. This has never been used and can be achieved more easily by
having multiple NodeConns backed by a common datastore if it is ever
needed.

The changes in mininode.py are just code moves (and merging the two
classes into a single class). The code changes in the individual test
cases are changing the subclasses to subclass from NodeConnCB instead of
SingleNodeConnCB. There is a lot of duplicate code in the subclasses
that can be removed in future commits.
2017-03-28 14:16:21 -04:00
practicalswift
85de9d474b Remove call to gettransaction(...) where the result is unused 2017-03-28 15:19:52 +02:00
practicalswift
bd02422332 Remove accidental trailing semicolons in Python code 2017-03-28 15:19:19 +02:00