Commit Graph

410 Commits

Author SHA1 Message Date
Wladimir J. van der Laan d3dfc6d7e1
Merge pull request #7320
fa1cb1a [qa] Test walletpassphrase timeout (MarcoFalke)
2016-01-18 10:56:00 +01:00
Wladimir J. van der Laan 3ec5bb0a6e
Merge pull request #7335
7777994 [qa] Fix pyton syntax in rpc tests (MarcoFalke)
2016-01-18 10:46:01 +01:00
Wladimir J. van der Laan a8bd616fea
Merge pull request #7329
9d263bd Typo fixes in comments (Chris Wheeler)
2016-01-18 10:41:32 +01:00
Wladimir J. van der Laan f2cf071e70
Merge pull request #7368
4d10d2e Eliminate race condition in mempool_packages test (Suhas Daftuar)
2016-01-18 10:26:48 +01:00
Chris Wheeler 9d263bd17c Typo fixes in comments 2016-01-17 11:03:56 +00:00
Suhas Daftuar 4d10d2e16f Eliminate race condition in mempool_packages test 2016-01-14 20:35:21 -05:00
MarcoFalke 7777994846 [qa] Fix pyton syntax in rpc tests 2016-01-13 20:31:03 +01:00
Wladimir J. van der Laan be6d5a617d
Merge pull request #7312
d11fc16 [Wallet] Call notification signal when a transaction is abandoned (Jonas Schnelli)
df0e222 Add RPC test for abandoned and conflicted transactions. (Alex Morcos)
01e06d1 Add new rpc call: abandontransaction (Alex Morcos)
9e69717 Make wallet descendant searching more efficient (Alex Morcos)
2016-01-13 15:47:45 +01:00
Alex Morcos df0e2226d9 Add RPC test for abandoned and conflicted transactions. 2016-01-13 08:42:04 -05:00
Wladimir J. van der Laan c49551886a
Merge pull request #7296
bebe58b SQUASHME: Fix rpc tests that assumed fallback to minRelayTxFee (Alex Morcos)
e420a1b Add sane fallback for fee estimation (Alex Morcos)
995b9f3 Always respect GetRequiredFee for wallet txs (Alex Morcos)
2016-01-13 11:04:31 +01:00
MarcoFalke fa1cb1ae15 [qa] Test walletpassphrase timeout 2016-01-09 16:54:04 +01:00
Wladimir J. van der Laan 93ca5a35b0
Merge pull request #7308
168915e Eliminate race condition in sendheaders.py test (Suhas Daftuar)
82a0ce0 Add race-condition debugging tool to mininode (Suhas Daftuar)
2016-01-09 16:30:33 +01:00
Suhas Daftuar 168915e6de Eliminate race condition in sendheaders.py test
Clear the last block announcement before mining new blocks.
2016-01-07 09:23:05 -05:00
Suhas Daftuar 82a0ce09b4 Add race-condition debugging tool to mininode 2016-01-07 09:22:20 -05:00
Wladimir J. van der Laan d964b5bb1a
Merge pull request #7229
fa33d97 [walletdb] Add missing LOCK() in Recover() for dummyWallet (MarcoFalke)
fa14d99 [qa] check if wallet or blochchain maintenance changes the balance (MarcoFalke)
fa0765d [qa] Cleanup wallet.py test (MarcoFalke)
2016-01-07 09:17:11 +01:00
Alex Morcos bebe58b748 SQUASHME: Fix rpc tests that assumed fallback to minRelayTxFee 2016-01-05 17:47:04 -05:00
MarcoFalke fa60d05a4e Add missing copyright headers 2016-01-05 21:34:15 +01:00
Wladimir J. van der Laan 605c17844e
Merge pull request #7205
fa71669 [devtools] Use git pretty-format for year parsing (MarcoFalke)
fa24439 Bump copyright headers to 2015 (MarcoFalke)
fa6ad85 [devtools] Rewrite fix-copyright-headers.py (MarcoFalke)
2016-01-05 14:11:40 +01:00
Wladimir J. van der Laan 49a735cba4
Merge pull request #7250
fa0a974 [qa] Move gen_return_txouts() to util.py (MarcoFalke)
2016-01-04 11:58:12 +01:00
MarcoFalke fa0a9749eb [qa] Move gen_return_txouts() to util.py 2015-12-24 12:26:36 +01:00
Wladimir J. van der Laan 97d83739db
Merge pull request #7153
7632cf6 [Tests] Refactor some shared functions (Jonas Schnelli)
110ff11 [Tests] Add mempool_limit.py test (Jonas Schnelli)
2015-12-22 14:06:50 +01:00
Wladimir J. van der Laan 595f93977c
Merge pull request #7213
37d271d Rename OP_NOP2 to OP_CHECKLOCKTIMEVERIFY. (mb300sd)
2015-12-22 11:37:11 +01:00
Wladimir J. van der Laan ed095f0407
Merge pull request #7226
9b41a5f Add more tests to p2p-fullblocktest (Suhas Daftuar)
2015-12-22 09:54:27 +01:00
Wladimir J. van der Laan c24337964f
Merge pull request #7062
901b01d Remove GetMinRelayFee (Suhas Daftuar)
27fae34 Use fee deltas for determining mempool acceptance (Suhas Daftuar)
9ef2a25 Update replace-by-fee logic to use fee deltas (Suhas Daftuar)
eb30666 Fix mempool limiting for PrioritiseTransaction (Suhas Daftuar)
2015-12-21 17:14:13 +01:00
Tom Harding e279038e84 Use createrawtx locktime parm in txn_clone
Streamlines the test and serves as a test of the createrawtransaction
locktime parameter.
2015-12-20 15:41:20 -08:00
MarcoFalke fa14d99484 [qa] check if wallet or blochchain maintenance changes the balance 2015-12-18 12:37:29 +01:00
MarcoFalke fa0765d433 [qa] Cleanup wallet.py test
* Remove outdated comment
* Remove unneeded 0s
* Remove semicolons
2015-12-18 12:37:08 +01:00
Suhas Daftuar 9b41a5fba2 Add more tests to p2p-fullblocktest 2015-12-18 05:39:31 -05:00
ptschip 39a525c21f Do not download transactions during inital sync 2015-12-15 07:41:44 -08:00
mb300sd 37d271d7cc Rename OP_NOP2 to OP_CHECKLOCKTIMEVERIFY. 2015-12-15 02:01:45 -05:00
James O'Beirne 135d6ec8ce Add RPC tests for getblockheader. 2015-12-14 10:40:15 -08:00
James O'Beirne 16d4fce0b2 Add assert_is_hex_string and assert_is_hash_string to RPC test utils. 2015-12-14 10:40:11 -08:00
Wladimir J. van der Laan 83cdcbdca4 test: don't override BITCOIND and BITCOINCLI if they're set
In rpc-tests.py, don't override BITCOIND and BITCOINCLI if they're
already set. Makes it possible to run the tests with either another tree
or the GUI.
2015-12-14 14:18:12 +01:00
Jonas Schnelli 979698c171
[RPC-Tests] add option to run rpc test over QT clients 2015-12-14 12:54:55 +01:00
MarcoFalke fa24439ff3 Bump copyright headers to 2015 2015-12-13 18:08:39 +01:00
Wladimir J. van der Laan 20411903d7 test: Add basic test for `reject` code
Extend P2P test framework to make it possible to expect reject
codes for transactions and blocks.
2015-12-09 08:48:08 +01:00
Wladimir J. van der Laan 82bcf405f6
Merge pull request #7171
2f601d2 test: remove necessity to call create_callback_map (Wladimir J. van der Laan)
2015-12-07 12:43:44 +01:00
Wladimir J. van der Laan 4c40ec0451 tests: Disable Tor interaction
This is unnecessary during the current tests (any test for Tor
interaction can explicitly enable it) and interferes with the proxy
test.
2015-12-04 13:24:12 +01:00
Wladimir J. van der Laan 2f601d215d test: remove necessity to call create_callback_map
Remove necessity to call create_callback_map (as well as the function
itself) from the Python P2P test framework. Invoke the appropriate
methods directly.

- Easy to forget to call it and wonder why it doesn't work
- Simplifies the code
- This makes it easier to handle new messages in subclasses
2015-12-04 13:15:59 +01:00
Jonas Schnelli 7632cf689a
[Tests] Refactor some shared functions 2015-12-03 13:25:27 +01:00
Wladimir J. van der Laan 8843676621
Merge pull request #7133
aa4b0c2 When not filtering blocks, getdata sends more in one test (Pieter Wuille)
d41e44c Actually only use filterInventoryKnown with MSG_TX inventory messages. (Gregory Maxwell)
b6a0da4 Only use filterInventoryKnown with MSG_TX inventory messages. (Patick Strateman)
6b84935 Rename setInventoryKnown filterInventoryKnown (Patick Strateman)
e206724 Remove mruset as it is no longer used. (Gregory Maxwell)
ec73ef3 Replace setInventoryKnown with a rolling bloom filter. (Gregory Maxwell)
2015-12-03 13:16:46 +01:00
Suhas Daftuar 27fae3484c Use fee deltas for determining mempool acceptance 2015-12-02 12:59:30 -05:00
Suhas Daftuar 9ef2a25603 Update replace-by-fee logic to use fee deltas 2015-12-02 12:59:30 -05:00
Suhas Daftuar eb306664e7 Fix mempool limiting for PrioritiseTransaction
Redo the feerate index to be based on mining score, rather than fee.

Update mempool_packages.py to test prioritisetransaction's effect on
package scores.
2015-12-02 12:59:30 -05:00
Peter Todd 092e9ad7d9
Remove old replace-by-fee tests
Made redundant by tests in qa/rpc-tests/replace-by-fee.py
2015-12-02 18:26:53 +08:00
Jonas Schnelli 110ff1142c
[Tests] Add mempool_limit.py test 2015-12-02 08:36:05 +01:00
Wladimir J. van der Laan 16f4a6e0fe
Merge pull request #7137
cfdc662 Explicitly set chain limits in replace-by-fee test (Suhas Daftuar)
2015-12-01 13:32:21 +01:00
Wladimir J. van der Laan 2ef5ffa59a
Merge pull request #6915
2d8860e Fix removeForReorg to use MedianTimePast (Suhas Daftuar)
b7fa4aa Don't call removeForReorg if DisconnectTip fails (Suhas Daftuar)
7e49f5f Track coinbase spends in CTxMemPoolEntry (Suhas Daftuar)
bb8ea1f removeForReorg calls once-per-disconnect-> once-per-reorg (Matt Corallo)
474b84a Make indentation in ActivateBestChainStep readable (Matt Corallo)
b0a064c Fix comment in removeForReorg (Matt Corallo)
9b060e5 Fix removal of time-locked transactions during reorg (Matt Corallo)
0c9959a Add failing test checking timelocked-txn removal during reorg (Matt Corallo)
2015-12-01 13:17:34 +01:00
Wladimir J. van der Laan 9afbd96919
Merge pull request #7022
50947ef Change default block priority size to 0 (Alex Morcos)
2015-12-01 12:39:34 +01:00
Suhas Daftuar 2b31ab90c4 Add rpc test for prioritisetransaction 2015-12-01 11:03:57 +01:00
Suhas Daftuar 6e8b07f5f3 Add rounding helper function to util.py 2015-12-01 11:03:37 +01:00
Wladimir J. van der Laan eb3d1b3487
Merge pull request #7135
fa3a38a [qa] pull-tester: Cleanup (run keypool, tidy stdout) (MarcoFalke)
2015-12-01 09:56:09 +01:00
Wladimir J. van der Laan 30c2d8c635
Merge pull request #7105
9ac63d6 Keep track of explicit wallet conflicts instead of using mempool (Pieter Wuille)
2015-12-01 09:22:08 +01:00
Alex Morcos 50947ef23f Change default block priority size to 0
Make RPC tests have a default block priority size of 50000 (the old default) so we can still use free transactions in RPC tests.  When priority is eliminated, we will have to make a different change if we want to continue allowing free txs.
2015-11-30 16:16:24 -05:00
Gregory Maxwell 438ee59839
Merge pull request #7044
d52fbf0 Added additional config option for multiple RPC users. (Gregory Sanders)
2015-11-30 12:25:28 -08:00
Matt Corallo 0c9959a308 Add failing test checking timelocked-txn removal during reorg 2015-11-30 13:02:04 -05:00
Suhas Daftuar cfdc66280f Explicitly set chain limits in replace-by-fee test 2015-11-30 12:35:24 -05:00
MarcoFalke fa3a38a7f2 [qa] pull-tester: Cleanup (run keypool, tidy stdout)
* Run keypool (takes 6 seconds)
* Print duration of each rpc test
* Structure output (bold, new lines)
2015-11-30 16:01:57 +01:00
Pieter Wuille aa4b0c26b0 When not filtering blocks, getdata sends more in one test 2015-11-30 13:29:20 +01:00
Wladimir J. van der Laan a7751824ce
Merge pull request #7103
fa506c0 [wallet] Add rpc tests to verify fee calculations (MarcoFalke)
4b89f01 Default fPayAtLeastCustomFee to false (Ryan Havar)
2015-11-30 12:18:20 +01:00
Wladimir J. van der Laan 6fc287f2df
Merge pull request #7027
4ea1790 [qa] keypool: DRY: Use test framework (MarcoFalke)
c6973ca [qa] keypool: Fix white space to prepare transition to test framework (MarcoFalke)
2015-11-30 12:15:21 +01:00
Gregory Sanders d52fbf00e3 Added additional config option for multiple RPC users. 2015-11-29 08:34:20 -05:00
Pieter Wuille 9ac63d6d30 Keep track of explicit wallet conflicts instead of using mempool 2015-11-29 13:24:02 +01:00
Suhas Daftuar 50262d8953 Allow block announcements with headers
This replaces using inv messages to announce new blocks, when a peer requests
(via the new "sendheaders" message) that blocks be announced with headers
instead of inv's.

Since headers-first was introduced, peers send getheaders messages in response
to an inv, which requires generating a block locator that is large compared to
the size of the header being requested, and requires an extra round-trip before
a reorg can be relayed.  Save time by tracking headers that a peer is likely to
know about, and send a headers chain that would connect to a peer's known
headers, unless the chain would be too big, in which case we revert to sending
an inv instead.

Based off of @sipa's commit to announce all blocks in a reorg via inv,
which has been squashed into this commit.

Rebased-by: Pieter Wuille
2015-11-29 11:59:23 +01:00
MarcoFalke fa506c0c9b [wallet] Add rpc tests to verify fee calculations 2015-11-28 22:52:13 +01:00
Wladimir J. van der Laan 0e935865b9
Merge pull request #6871
63b5840 Fix usage of local python-bitcoinlib (Peter Todd)
16a2f93 Fix incorrect locking of mempool during RBF replacement (Peter Todd)
97203f5 Port test to rpc-test framework (Suhas Daftuar)
20367d8 Add test for max replacement limit (Suhas Daftuar)
73d9040 Improve RBF replacement criteria (Suhas Daftuar)
b272ecf Reject replacements that add new unconfirmed inputs (Peter Todd)
fc8c19a Prevent low feerate txs from (directly) replacing high feerate txs (Peter Todd)
0137e6f Add tests for transaction replacement (Peter Todd)
5891f87 Add opt-in full-RBF to mempool (Peter Todd)
2015-11-27 13:20:39 +01:00
Wladimir J. van der Laan e92377fa7f
Merge pull request #6134
e304432 Pass reference to estimateSmartFee and cleanup whitespace (Suhas Daftuar)
56106a3 Expose RPC calls for estimatesmart functions (Alex Morcos)
e93a236 add estimateSmartFee to the unit test (Alex Morcos)
6303051 EstimateSmart functions consider mempool min fee (Alex Morcos)
f22ac4a Increase success threshold for fee estimation to 95% (Alex Morcos)
4fe2823 Change wallet and GUI code to use new smart fee estimation calls. (Alex Morcos)
22eca7d Add smart fee estimation functions (Alex Morcos)
2015-11-27 12:59:37 +01:00
Wladimir J. van der Laan ed34e0577e
Merge pull request #7052
a0953cd [qa] python-bitcoinrpc is no longer a subtree (MarcoFalke)
2015-11-24 09:29:46 +01:00
Gregory Maxwell 0b0fc179ab
Merge pull request #7028
e16ee1c [qa] Extend README.md (MarcoFalke)
cc97574 [qa] Split README.md to /qa and /qa/rpc-tests (MarcoFalke)
2015-11-22 14:51:30 -08:00
Gregory Maxwell 9cdd407ca5
Merge pull request #7029
c800c95 Remove unmaintained example test script_test.py (Suhas Daftuar)
2015-11-22 14:47:40 -08:00
Peter Todd 63b5840257
Fix usage of local python-bitcoinlib
Previously was using the system-wide python-bitcoinlib, if it existed,
rather than the local copy that you check out in the README.
2015-11-20 16:23:01 -05:00
Wladimir J. van der Laan 07b770caf3
Merge pull request #7019
33b7f83 [qa] travis: cover *receivedby* rpcs (MarcoFalke)
2015-11-20 09:01:07 +01:00
MarcoFalke a0953cdf07 [qa] python-bitcoinrpc is no longer a subtree
* Only authproxy.py is taken from the python-bitcoinrpc
2015-11-19 12:39:49 +01:00
MarcoFalke e16ee1cd1e [qa] Extend README.md 2015-11-18 11:59:12 +01:00
MarcoFalke cc975745d5 [qa] Split README.md to /qa and /qa/rpc-tests
+ Update with new -help message
2015-11-17 13:03:59 +01:00
Alex Morcos 56106a3300 Expose RPC calls for estimatesmart functions
Also add testing for estimatesmartfee in smartfees.py
2015-11-16 15:42:31 -05:00
Suhas Daftuar c800c95997 Remove unmaintained example test script_test.py 2015-11-16 09:50:50 -05:00
MarcoFalke 4ea1790553 [qa] keypool: DRY: Use test framework 2015-11-16 12:01:32 +01:00
MarcoFalke c6973ca03b [qa] keypool: Fix white space to prepare transition to test framework 2015-11-16 12:01:32 +01:00
MarcoFalke 33b7f83c59 [qa] travis: cover *receivedby* rpcs 2015-11-14 22:33:13 +01:00
Jonas Schnelli d61fcff071
don't enforce maxuploadtargets disconnect for whitelisted peers 2015-11-13 21:04:12 +01:00
Wladimir J. van der Laan d2e987aa19
Merge pull request #6958
9c3ee3b [doc] Add -maxuploadtarget release notes (MarcoFalke)
b27e81f [net] Cleanup maxuploadtarget (MarcoFalke)
2015-11-13 13:27:33 +01:00
Jeff Garzik 38ed190eef
Merge #6771 from branch 'lowerLimits' of git://github.com/morcos/bitcoin 2015-11-12 15:38:59 -05:00
MarcoFalke b27e81f115 [net] Cleanup maxuploadtarget
* log: nMaxOutboundLimit is in bytes
* log: Hide misleading -maxuploadtarget=0 warning
* qa : Minor cleanup to maxuploadtarget rpc tests
* net: Use DEFAULT_MAX_UPLOAD_TARGET = 0
2015-11-12 20:45:57 +01:00
Wladimir J. van der Laan 5fcc14ee05
Merge pull request #6804
b5cbd39 Add basic coverage reporting for RPC tests (James O'Beirne)
2015-11-12 08:22:36 +01:00
James O'Beirne b5cbd396ca Add basic coverage reporting for RPC tests
Thanks to @MarcoFalke @dexX7 @laanwj for review.
2015-11-11 10:33:43 -08:00
Suhas Daftuar 97203f5606
Port test to rpc-test framework 2015-11-10 14:14:46 -05:00
Suhas Daftuar 20367d831f Add test for max replacement limit 2015-11-10 14:14:07 -05:00
Peter Todd b272ecfdb3 Reject replacements that add new unconfirmed inputs 2015-11-10 14:14:07 -05:00
Peter Todd fc8c19a07c Prevent low feerate txs from (directly) replacing high feerate txs
Previously all conflicting transactions were evaluated as a whole to
determine if the feerate was being increased. This meant that low
feerate children pulled the feerate down, potentially allowing a high
transaction with a high feerate to be replaced by one with a lower
feerate.
2015-11-10 14:14:07 -05:00
Peter Todd 0137e6fafd Add tests for transaction replacement 2015-11-10 14:14:07 -05:00
Wladimir J. van der Laan 2980a18572 Fix crash in validateaddress with -disablewallet
Fix a null pointer dereference in validateaddress with -disablewallet. Also add a regression testcase.
2015-11-09 08:44:19 +01:00
Wladimir J. van der Laan 26752767df
Merge pull request #6894
3e187f2 Fix BIP65 p2p test (Suhas Daftuar)
2015-10-29 13:12:47 +01:00
Alex Morcos 971a4e6b86 Lower default policy limits
Reduce the default limits on maximum number of transactions and the cumulative size of those transactions in both ancestor and descendant packages to 25 txs and 101kb total size.
2015-10-27 23:59:19 -04:00
Pieter Wuille 298e040bca Fix chainstate serialized_size computation 2015-10-28 01:05:32 +01:00
Suhas Daftuar 3e187f2acd Fix BIP65 p2p test
create_coinbase() was being called with the wrong arguments
2015-10-27 15:36:06 -04:00
Suhas Daftuar 17a073ae06
Add RPC test for -maxuploadtarget 2015-10-26 15:40:38 +01:00
Wladimir J. van der Laan 2a1090d4f5
Merge pull request #6351
65ef372 Add BIP65 to getblockchaininfo softforks list (Peter Todd)
cde7ab2 Add RPC tests for the CHECKLOCKTIMEVERIFY (BIP65) soft-fork (Peter Todd)
287f54f Add CHECKLOCKTIMEVERIFY (BIP65) soft-fork logic (Peter Todd)
2015-10-23 13:33:13 +02:00
Wladimir J. van der Laan 0fbfc5106c
Merge pull request #6859
41db8c4 http: Restrict maximum size of request line + headers (Wladimir J. van der Laan)
2015-10-21 11:19:25 +02:00
Wladimir J. van der Laan 41db8c4733 http: Restrict maximum size of request line + headers
Prevent memory exhaustion by sending lots of data.
Also add a test to `httpbasics.py`.

Closes #6425
2015-10-20 14:31:40 +02:00