aboutsummaryrefslogtreecommitdiff
path: root/qa/rpc-tests/README.md
blob: 835ff110574cd778842b9ccdeffe694c4d8d68a7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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

skeleton.py : Copy this to create 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