You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
bitcoin/qa/rpc-tests
Gavin Andresen 3a7c3483b6
Fix make_change to not create half-satoshis
10 years ago
..
python-bitcoinrpc
.gitignore
README.md
conflictedbalance.sh
getblocktemplate.py Add test for getblocktemplate longpolling 10 years ago
getchaintips.py Implement "getchaintips" RPC command to monitor blockchain forks. 10 years ago
keypool.py `getrawchangeaddress` should fail when keypool exhausted 10 years ago
listtransactions.py
netutil.py
receivedby.py
rpcbind_test.py
send.sh
smartfees.py
test_framework.py Print better errors, and add util stop_node() function. 11 years ago
txnmall.sh
util.py Fix make_change to not create half-satoshis 10 years ago
util.sh
wallet.sh
walletbackup.sh
zapwallettxes.sh

README.md

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