Peter Todd e799ce0701 Add RPC tests for the CHECKLOCKTIMEVERIFY (BIP65) soft-fork
bip65-cltv.py is based on the earlier BIP66 soft-fork RPC test
implemented by Pieter Wuille's 819bcf9b9902319176cdb1d476cacfee9b3727ec

bip65-cltv-p2p.py is based on the earlier BIP66 P2P test by Suhas
Daftuar's d76412b068d95454732aa3def95decf35251759a

Rebased-From: 308257856099e82e91881ba97f741d840184727c
2015-11-28 23:50:50 +00:00
..
2014-02-28 15:24:31 -05:00
2014-12-01 11:49:35 +01:00
2015-04-16 10:34:30 +02:00
2014-12-02 19:07:39 -05:00

Regression tests of RPC interface

python-bitcoinrpc

Git subtree of https://github.com/jgarzik/python-bitcoinrpc. Changes to python-bitcoinrpc should be made upstream, and then pulled here using git subtree.

test_framework.py

Base class for new regression tests.

listtransactions.py

Tests for the listtransactions RPC call.

util.py

Generally useful functions.

Bash-based tests, to be ported to Python:

  • wallet.sh : Exercise wallet send/receive code.
  • walletbackup.sh : Exercise wallet backup / dump / import
  • txnmall.sh : Test proper accounting of malleable transactions
  • conflictedbalance.sh : More testing of malleable transaction handling

Notes

A 200-block -regtest blockchain and wallets for four nodes is created the first time a regression test is run and is stored in the cache/ directory. Each node has 25 mature blocks (25*50=1250 BTC) in their wallet.

After the first run, the cache/ blockchain and wallets are copied into a temporary directory and used as the initial test state.

If you get into a bad state, you should be able to recover with:

rm -rf cache
killall bitcoind