aboutsummaryrefslogtreecommitdiff
path: root/qa/rpc-tests/p2p-compactblocks.py
AgeCommit message (Collapse)Author
2016-12-14[qa] Update compactblocks test for multi-peer reconstructionSuhas Daftuar
2016-11-20Modify getblocktxn handler not to drop requests for old blocksRussell Yanofsky
The current getblocktxn implementation drops and ignores requests for old blocks, which causes occasional sync_block timeouts during the p2p-compactblocks.py test as reported in https://github.com/bitcoin/bitcoin/issues/8842. The p2p-compactblocks.py test setup creates many new blocks in a short period of time, which can lead to getblocktxn requests for blocks below the hardcoded depth limit of 10 blocks. This commit changes the getblocktxn handler not to ignore these requests, so the peer nodes in the test setup will reliably be able to sync. The protocol change is documented in BIP-152 update "Allow block responses to getblocktxn requests" at https://github.com/bitcoin/bips/pull/469. The protocol change is not expected to affect nodes running outside the test environment, because there shouldn't normally be lots of new blocks being rapidly added that need to be synced. Github-Pull: #9058 Rebased-From: dac53b58b555183ccc0d5e64c428528267cd98b3 Github-Pull: #9160 Rebased-From: ec34648766c4052816e4072cc61ad429430bcfd9
2016-11-20Align constant names for maximum compact block / blocktxn depthPieter Wuille
Github-Pull: #8637 Rebased-From: 3ac6de0a045cc9b2047ceb19af970e7ffbf905fa
2016-11-20More agressively filter compact block requestsMatt Corallo
Unit test adaptations by Pieter Wuille. Github-Pull: #8637 Rebased-From: fe998e962dc015978f104b782afb7daec3c4d4df
2016-11-19[qa] Fix stale data bug in test_compactblocks_not_at_tipRussell Yanofsky
Clear test_node.last_block before requesting blocks in the compactblocks_not_at_tip test so comparisons won't fail if a blocks were received before the test started. The bug doesn't currently cause any problems due to the order tests run, but this will change in the next commit. Github-Pull: #9058 Rebased-From: 55bfddcabbf9e8a3743f77167ba4a43aaba9f948
2016-11-19[qa] Fix bug in compactblocks v2 mergeRussell Yanofsky
Bug caused the wait_for_block_announcement to be called on the wrong node, leading to nondeterminism and occasional test failures. Bug was introduced in merge commit: d075479 Merge #8882: [qa] Fix race conditions in p2p-compactblocks.py and sendheaders.py Underlying commits which conflicted were: 27acfc1 [qa] Update p2p-compactblocks.py for compactblocks v2 6976db2 [qa] Another attempt to fix race condition in p2p-compactblocks.py The first commit changed the test_compactblock_construction function signature and second commit added code which wasn't updated during the merge to use the new arguments. Suhas Daftuar <sdaftuar@chaincode.com> noticed the bug and suggested the fix. Github-Pull: #9058 Rebased-From: 47e9659ecfbe07077a4564591095bd5510e0f917
2016-11-19[qa] Wait for specific block announcement in p2p-compactblocksRussell Yanofsky
Change check_announcement_of_new_block() to wait specifically for the announcement of the newly created block, instead of waiting for any announcement at all. A difficult to reproduce failure in check_announcement_of_new_block() that happened in a travis build (https://travis-ci.org/bitcoin/bitcoin/jobs/175198367) might have happened because an older announcement was mistaken for the expected one. The error looked like: Assertion failed: Failed File ".../bitcoin/qa/rpc-tests/test_framework/test_framework.py", line 145, in main self.run_test() File ".../bitcoin/build/../qa/rpc-tests/p2p-compactblocks.py", line 787, in run_test self.test_sendcmpct(self.nodes[1], self.segwit_node, 2, old_node=self.old_node) File ".../bitcoin/build/../qa/rpc-tests/p2p-compactblocks.py", line 201, in test_sendcmpct check_announcement_of_new_block(node, test_node, lambda p: p.last_cmpctblock is None and p.last_inv is not None) File ".../bitcoin/build/../qa/rpc-tests/p2p-compactblocks.py", line 194, in check_announcement_of_new_block assert(predicate(peer)) This commit also changes the assertion failed message above to include more detailed information for debug. Github-Pull: #9159 Rebased-From: dfa44d1b07a6d1022005dba63dd6372739eee8a0
2016-10-31[qa] Test that invalid compactblocks don't result in banSuhas Daftuar
2016-10-17[qa] Build v4 blocks in p2p-compactblocktestsMatt Corallo
This fixes an issue in backporting to 0.13 as 0.13 enforces SF activation by block version lockin instead of through a hard-coded block height. Github-Pull: #8916 Rebased-From: a4ad37d4ef4bcd81bc9d867b277efdebc86bc2e8
2016-10-17[qa] Send segwit-encoded blocktxn messages in p2p-compactblocksMatt Corallo
Github-Pull: #8916 Rebased-From: 032e883b937a6b70d5c367fc2ee57d7eea8cb473
2016-10-13[qa] Fix compact block shortids for a test caseDagur Valberg Johannsson
Github-Pull: #8904 Rebased-From: 4cdece40419bcc97345357f9268e03b0aff400b5
2016-10-13[qa] Update p2p-compactblocks.py for compactblocks v2Suhas Daftuar
Github-Pull: #8393 Rebased-From: 27acfc1d2ee53cc52b54befd2d4bfa24a77a2eef
2016-10-05[qa] Another attempt to fix race condition in p2p-compactblocks.pySuhas Daftuar
sync_with_ping() only guarantees that the node has processed messages it's received from the peer, not that block announcements from the node have made it back to the peer. Replace sync_with_ping() with an explicit check that the node's tip has been announced. Github-Pull: #8882 Rebased-From: 6976db2f4687d575e1b4bee5aaf1d93a794f23c3
2016-10-03[qa] Fix race condition in p2p-compactblocks testSuhas Daftuar
Also fix a bug in the sync_with_ping() helper function Github-Pull: #8854 Rebased-From: b5fd666984fdb7125cb809c773b36034f32128cc
2016-09-26Fix broken sendcmpct test in p2p-compactblocks.pySuhas Daftuar
Python lambda use was incorrect. sendcmpct messages need to be synchronized with RPC calls to generate(). Headers need to be synced (eg with getheaders) for cmpctblock announcements to start. Last test omitted sending a sendcmpct message. Github-Pull: #8739 Rebased-From: 157254a4bfdfc4ca3ad5bf2d84e82f290bd0c7f2)
2016-09-26Add p2p test for BIP 152 (compact blocks)Suhas Daftuar
Github-Pull: #8418 Rebased-From: 45c7ddd109465e03551f5b39c2e650c243b4a078