Python p2p testing framework

mininode.py provides a framework for connecting to a bitcoin node over the p2p
network. NodeConn is the main object that manages connectivity to a node and
provides callbacks; the interface for those callbacks is defined by NodeConnCB.
Defined also are all data structures from bitcoin core that pass on the network
(CBlock, CTransaction, etc), along with de-/serialization functions.

maxblocksinflight.py is an example test using this framework that tests whether
a node is limiting the maximum number of in-flight block requests.

This also adds support to util.py for specifying the binary to use when
starting nodes (for tests that compare the behavior of different bitcoind
versions), and adds maxblocksinflight.py to the pull tester.
This commit is contained in:
Suhas Daftuar
2015-04-28 12:36:15 -04:00
parent 7bf5d5efa6
commit 6c1d1ba6fc
4 changed files with 1354 additions and 4 deletions

View File

@ -30,6 +30,7 @@ testScripts=(
'proxy_test.py'
'merkle_blocks.py'
# 'forknotify.py'
'maxblocksinflight.py'
);
if [ "x${ENABLE_BITCOIND}${ENABLE_UTILS}${ENABLE_WALLET}" = "x111" ]; then
for (( i = 0; i < ${#testScripts[@]}; i++ ))