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
Cory Fields 005b5af6e2
rpc-tests: don't spew non-errors to stdout
10 years ago
..
python-bitcoinrpc Improved logging and Decimal support 11 years ago
.gitignore Python-based regression tests 11 years ago
README.md Refactor common RPC test code to BitcoinTestFramework base class 11 years ago
conflictedbalance.sh Add licenses for tests and test data 11 years ago
forknotify.py Trigger -alertnotify if network is upgrading without you 10 years ago
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 Refactor common RPC test code to BitcoinTestFramework base class 11 years ago
netutil.py Add Python test for -rpcbind and -rpcallowip 11 years ago
receivedby.py Refactor common RPC test code to BitcoinTestFramework base class 11 years ago
rpcbind_test.py rpc-tests: Fix rpcbind_test after 0193fb8 11 years ago
send.sh rpc-tests: don't spew non-errors to stdout 10 years ago
smartfees.py Refactor common RPC test code to BitcoinTestFramework base class 11 years ago
test_framework.py Print better errors, and add util stop_node() function. 11 years ago
txnmall.sh Add licenses for tests and test data 11 years ago
util.py Fix make_change to not create half-satoshis 10 years ago
util.sh Let -zapwallettxes recover transaction meta data 11 years ago
wallet.sh Add licenses for tests and test data 11 years ago
walletbackup.sh Bugfix: Replace bashisms with standard sh in tests/tools 10 years ago
zapwallettxes.sh Let -zapwallettxes recover transaction meta data 11 years ago

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