aboutsummaryrefslogtreecommitdiff
path: root/qa
AgeCommit message (Collapse)Author
2017-02-27[qa] Make import-rescan.py watchonly check reliableRussell Yanofsky
Send payments during the test from a different node than the node generating keys to be imported, so the spending node doesn't create transactions that inadvertently involve (spend funds from) the imported keys. Fixes #9826 Github-Pull: #9839 Rebased-From: 864890adf5fefcf969f82f70949199b68b36f165
2017-02-23qa: Check return code when stopping nodesMarcoFalke
This includes work by jnewbery Github-Pull: #9824 Rebased-From: fa4cd2e998e0ebebe283a6243f7f752123a105ab
2017-02-23Fix pruning test broken by 2 hour manual prune windowRussell Yanofsky
Regression happened in 91fb506 Add two hour buffer to manual pruning. Github-Pull: #9820 Rebased-From: 874c7363d794c18a3b46d3d2a03f19c88f3a20cf
2017-02-20QA: Test GBT size/weight limit valuesLuke Dashjr
Github-Pull: #9619 Rebased-From: 279f944e8d3b437d31210f3ba3e798e98a9334fc
2017-02-16Use 2 hour grace period for key timestamps in importmulti rescansRussell Yanofsky
Gregory Maxwell <greg@xiph.org> pointed out the lack of grace period in https://github.com/bitcoin/bitcoin/pull/9490#issue-199407998. The importwallet RPC which uses key timestamps in a similar way already has a 2 hour grace period.
2017-02-16[qa] Extend import-rescan.py to test imports on pruned nodes.Russell Yanofsky
2017-02-16[qa] Extend import-rescan.py to test specific key timestampsRussell Yanofsky
2017-02-16[qa] Simplify import-rescan.pyRussell Yanofsky
Get rid of partial functions so the test can be more easily extended to add more variants of imports with options that affect rescanning (e.g. different key timestamps). Also change the second half of the test to send /to/ the imported addresses, instead of /from/ the imported addresses. The goal of this part of the test was to confirm that the wallet would pick up new transactions after an import regardless of whether or not a rescan happened during the import. But because the wallet can only do this reliably for incoming transactions and not outgoing transactions (which require the wallet to look up transaction inputs) the test previously was less meaningful than it should have been.
2017-02-16Merge #9765: Harden against mistakes handling invalid blocksWladimir J. van der Laan
ba803ef Harden against mistakes handling invalid blocks (Suhas Daftuar)
2017-02-15Merge #9756: Return error when importmulti called with invalid address.Wladimir J. van der Laan
9acf25c Return error when importmulti called with invalid address. (Russell Yanofsky)
2017-02-15Harden against mistakes handling invalid blocksSuhas Daftuar
Fixes a bug in AcceptBlock() in invoking CheckBlock() with incorrect arguments, and restores a call to CheckBlock() from ProcessNewBlock() as belt-and-suspenders. Updates the (overspecified) tests to match behavior.
2017-02-15Merge #9108: Use importmulti timestamp when importing watch only keys (on ↵Wladimir J. van der Laan
top of #9682) a80f98b Use importmulti timestamp when importing watch only keys (Russell Yanofsky) a58370e Dedup nTimeFirstKey update logic (Russell Yanofsky)
2017-02-14Merge #9720: net: fix banning and disallow sending messages before receiving ↵Wladimir J. van der Laan
verack d943491 qa: add a test to detect leaky p2p messages (Cory Fields) 8650bbb qa: Expose on-connection to mininode listeners (Matt Corallo) 5b5e4f8 qa: mininode learns when a socket connects, not its first action (Matt Corallo) cbfc5a6 net: require a verack before responding to anything else (Cory Fields) 8502e7a net: parse reject earlier (Cory Fields) c45b9fb net: correctly ban before the handshake is complete (Cory Fields)
2017-02-14Merge #9715: Disconnect peers which we do not receive VERACKs from within 60 secWladimir J. van der Laan
66f861a Add a test for P2P inactivity timeouts (Matt Corallo) b436f92 qa: Expose on-connection to mininode listeners (Matt Corallo) 8aaba7a qa: mininode learns when a socket connects, not its first action (Matt Corallo) 2cbd119 Disconnect peers which we do not receive VERACKs from within 60 sec (Matt Corallo)
2017-02-14Merge #9682: Require timestamps for importmulti keysWladimir J. van der Laan
266a811 Use MTP for importmulti "now" timestamps (Russell Yanofsky) 3cf9917 Add test to check new importmulti "now" value (Russell Yanofsky) 442887f Require timestamps for importmulti keys (Russell Yanofsky)
2017-02-13qa: add a test to detect leaky p2p messagesCory Fields
This is certainly not exhaustive, but it's better than nothing. Adds checks for: - Any message received before sending a version - Any message received other than version/reject before sending a verack It also tries to goad the remote into sending a pong, address, or block announcement.
2017-02-13qa: Expose on-connection to mininode listenersMatt Corallo
2017-02-13qa: mininode learns when a socket connects, not its first actionMatt Corallo
2017-02-13Return error when importmulti called with invalid address.Russell Yanofsky
Lack of error checking noticed by Alex Morcos <morcos@chaincode.com>
2017-02-10Use importmulti timestamp when importing watch only keysRussell Yanofsky
When importing a watch-only address over importmulti with a specific timestamp, the wallet's nTimeFirstKey is currently set to 1. After this change, the provided timestamp will be used and stored as metadata associated with watch-only key. This can improve wallet performance because it can avoid the need to scan the entire blockchain for watch only addresses when timestamps are provided. Also adds timestamp to validateaddress return value (needed for tests). Fixes #9034.
2017-02-10Use MTP for importmulti "now" timestampsRussell Yanofsky
2017-02-10Add test to check new importmulti "now" valueRussell Yanofsky
Easiest way to test this was to expose the timestamp via the validateaddress RPC (which was already looking up and returning key metadata).
2017-02-10Require timestamps for importmulti keysRussell Yanofsky
Additionally, accept a "now" timestamp, to allow avoiding rescans for keys which are known never to have been used. Note that the behavior when "now" is specified is slightly different than the previous behavior when no timestamp was specified at all. Previously, when no timestamp was specified, it would avoid rescanning during the importmulti call, but set the key's nCreateTime value to 1, which would not prevent future block reads in later ScanForWalletTransactions calls. With this change, passing a "now" timestamp will set the key's nCreateTime to the current block time instead of 1. Fixes #9491
2017-02-10Merge #9707: Fix RPC failure testingMarcoFalke
9db8eec Fix RPC failure testing (John Newbery)
2017-02-09Add a test for P2P inactivity timeoutsMatt Corallo
2017-02-08qa: Expose on-connection to mininode listenersMatt Corallo
2017-02-08qa: mininode learns when a socket connects, not its first actionMatt Corallo
2017-02-08Fix RPC failure testingJohn Newbery
Make sure that RPC tests are actually checking failures correctly by: - Catching JSON RPC exceptions and verifying the error codes and messages. - Failing the test case if the JSON RPC exception isn't raised.
2017-02-07Merge #9532: Remove unused variablesWladimir J. van der Laan
90fd29b Remove unused int64_t nSinceLastSeen (practicalswift) ac4a095 Remove unused Python variables (practicalswift)
2017-02-06Merge #9650: Better handle invalid parameters to signrawtransactionWladimir J. van der Laan
6dbfe08 [qa] test signrawtransaction merge with missing inputs (Matt Corallo) ec4f7e4 [qa] Add second input to signrawtransaction test case (Matt Corallo) 691710a [qa] Test that decoderawtransaction throws with extra data appended (Matt Corallo) 922bea9 Better handle invalid parameters to signrawtransaction (Matt Corallo) 7ea0ad5 Fail in DecodeHexTx if there is extra data at the end (Matt Corallo)
2017-02-02[qa] test signrawtransaction merge with missing inputsMatt Corallo
2017-02-02[wallet] Set correct metadata on bumpfee wallet transactionsRussell Yanofsky
Preserve comment, order form, and account strings from the original wallet transaction. Also set fTimeReceivedIsTxTime and fFromMe fields for consistency with CWallet::CreateTransaction. The latter two fields don't influence current wallet behavior, but do record that the transaction originated in the wallet instead of coming from the network or sendrawtransaction.
2017-02-02[qa] Add second input to signrawtransaction test caseMatt Corallo
2017-02-02[qa] Test that decoderawtransaction throws with extra data appendedMatt Corallo
2017-01-26qa: Actually test assertions in pruning.pyMarcoFalke
Also refactor to use wrapper for stop_node
2017-01-26Merge #9628: qa: Increase a sync_blocks timeout in pruning.pyMarcoFalke
2f10f06 qa: Increase a sync_blocks timeout in pruning.py (Suhas Daftuar)
2017-01-25qa: Increase a sync_blocks timeout in pruning.pySuhas Daftuar
2017-01-23Merge #9516: Bug-fix: listsinceblock: use fork point as reference for blocks ↵Wladimir J. van der Laan
in reorg'd chains 7ba0a00 Testing: listsinceblock should not use orphan block height. (Karl-Johan Alm) ee5c1ce Bug-fix: listsinceblock: use closest common ancestor when a block hash was provided for a chain that was not the main chain. (Karl-Johan Alm)
2017-01-23Merge #9607: Remove redundant semicolons in Python codeWladimir J. van der Laan
5cdf106 Remove redundant semicolons in Python code (practicalswift)
2017-01-20Remove redundant semicolons in Python codepracticalswift
2017-01-20Merge #9377: fundrawtransaction: Keep change-output keys by default, make it ↵Wladimir J. van der Laan
optional c9f3062 Add fundrawtransactions new reserveChangeKey option to the release notes (Jonas Schnelli) 9eb325d [QA] Add test for fundrawtransactions new reserveChangeKey option (Jonas Schnelli) 9aa4e6a [Wallet] Add an option to keep the change address key, true by default (Jonas Schnelli)
2017-01-19[QA] Add test for fundrawtransactions new reserveChangeKey optionJonas Schnelli
2017-01-19Merge #8456: [RPC] Simplified bumpfee command.Wladimir J. van der Laan
cc0243a [RPC] bumpfee (mrbandrews) 52dde66 [wallet] Add include_unsafe argument to listunspent RPC (Russell Yanofsky) 766e8a4 [wallet] Add IsAllFromMe: true if all inputs are from wallet (Suhas Daftuar)
2017-01-19[RPC] bumpfeemrbandrews
This command allows a user to increase the fee on a wallet transaction T, creating a "bumper" transaction B. T must signal that it is BIP-125 replaceable. T's change output is decremented to pay the additional fee. (B will not add inputs to T.) T cannot have any descendant transactions. Once B bumps T, neither T nor B's outputs can be spent until either T or (more likely) B is mined. Includes code by @jonasschnelli and @ryanofsky
2017-01-18Merge #9508: Remove unused Python importsMarcoFalke
95bab82 Remove unused Python imports (practicalswift)
2017-01-18Testing: listsinceblock should not use orphan block height.Karl-Johan Alm
2017-01-16Merge #9484: Introduce assumevalid setting to skip validation presumed valid ↵Pieter Wuille
scripts. 7b5e3fe Add assumevalid testcase (John Newbery) e440ac7 Introduce assumevalid setting to skip presumed valid scripts. (Gregory Maxwell)
2017-01-14Add assumevalid testcaseJohn Newbery
Adds a qa testcase testing the new "-assumevalid" option. The testcase builds a chain that includes and invalid signature for one of the transactions and sends that chain to three nodes: - node0 has no -assumevalid parameter and rejects the invalid chain. - node1 has -assumevalid set and accepts the invalid chain. - node2 has -assumevalid set but the invalid block is not buried deep enough to assume invalid, and so rejects the invalid chain.
2017-01-13Merge #9375: Relay compact block messages prior to full block connectionPieter Wuille
02ee4eb Make most_recent_compact_block a pointer to a const (Matt Corallo) 73666ad Add comment to describe callers to ActivateBestChain (Matt Corallo) 962f7f0 Call ActivateBestChain without cs_main/with most_recent_block (Matt Corallo) 0df777d Use a temp pindex to avoid a const_cast in ProcessNewBlockHeaders (Matt Corallo) c1ae4fc Avoid holding cs_most_recent_block while calling ReadBlockFromDisk (Matt Corallo) 9eb67f5 Ensure we meet the BIP 152 old-relay-types response requirements (Matt Corallo) 5749a85 Cache most-recently-connected compact block (Matt Corallo) 9eaec08 Cache most-recently-announced block's shared_ptr (Matt Corallo) c802092 Relay compact block messages prior to full block connection (Matt Corallo) 6987219 Add a CValidationInterface::NewPoWValidBlock callback (Matt Corallo) 180586f Call AcceptBlock with the block's shared_ptr instead of CBlock& (Matt Corallo) 8baaba6 [qa] Avoid race in preciousblock test. (Matt Corallo) 9a0b2f4 [qa] Make compact blocks test construction using fetch methods (Matt Corallo) 8017547 Make CBlockIndex*es in net_processing const (Matt Corallo)
2017-01-13Remove unused Python importspracticalswift