dash/qa/rpc-tests
Wladimir J. van der Laan da38dc696c
Merge pull request #5981
2703412 Fix default binary in p2p tests to use environment variable (Suhas Daftuar)
29bff0e Add some travis debugging for python scripts (Suhas Daftuar)
d76412b Add script manipulation tools for use in mininode testing framework (Suhas Daftuar)
b93974c Add comparison tool test runner, built on mininode (Suhas Daftuar)
6c1d1ba Python p2p testing framework (Suhas Daftuar)
2015-04-30 14:49:24 +02:00
..
python-bitcoinrpc Fix python usage for arch's broken maintainers 2014-11-27 00:02:28 -05:00
.gitignore Python-based regression tests 2014-02-28 15:24:31 -05:00
bignum.py Add script manipulation tools for use in mininode testing framework 2015-04-28 15:09:29 -04:00
bipdersig-p2p.py Add script manipulation tools for use in mininode testing framework 2015-04-28 15:09:29 -04:00
bipdersig.py Introduce separate 'generate' RPC call 2015-04-01 11:47:10 -07:00
blockstore.py Add comparison tool test runner, built on mininode 2015-04-28 12:40:56 -04:00
blocktools.py Add comparison tool test runner, built on mininode 2015-04-28 12:40:56 -04:00
comptool.py Add comparison tool test runner, built on mininode 2015-04-28 12:40:56 -04:00
conflictedbalance.sh Introduce separate 'generate' RPC call 2015-04-01 11:47:10 -07:00
forknotify.py Introduce separate 'generate' RPC call 2015-04-01 11:47:10 -07:00
getblocktemplate_longpoll.py Introduce separate 'generate' RPC call 2015-04-01 11:47:10 -07:00
getblocktemplate_proposals.py Introduce separate 'generate' RPC call 2015-04-01 11:47:10 -07:00
getchaintips.py Introduce separate 'generate' RPC call 2015-04-01 11:47:10 -07:00
httpbasics.py [QA] fix httpbasic keep-alive test 2015-01-17 08:56:55 -08:00
invalidateblock.py Introduce separate 'generate' RPC call 2015-04-01 11:47:10 -07:00
invalidblockrequest.py Add comparison tool test runner, built on mininode 2015-04-28 12:40:56 -04:00
keypool.py Fix python usage for arch's broken maintainers 2014-11-27 00:02:28 -05:00
listtransactions.py Introduce separate 'generate' RPC call 2015-04-01 11:47:10 -07:00
maxblocksinflight.py Fix default binary in p2p tests to use environment variable 2015-04-29 09:18:33 -04:00
mempool_coinbase_spends.py Introduce separate 'generate' RPC call 2015-04-01 11:47:10 -07:00
mempool_resurrect_test.py Introduce separate 'generate' RPC call 2015-04-01 11:47:10 -07:00
mempool_spendcoinbase.py Introduce separate 'generate' RPC call 2015-04-01 11:47:10 -07:00
merkle_blocks.py Add merkle blocks test 2015-04-23 21:19:15 -07:00
mininode.py Python p2p testing framework 2015-04-28 12:38:29 -04:00
netutil.py Fix python usage for arch's broken maintainers 2014-11-27 00:02:28 -05:00
proxy_test.py rpc-tests: Add proxy test 2015-04-20 15:04:33 +02:00
pruning.py Add block pruning functionality 2015-04-22 15:53:48 -04:00
README.md Fix README link from util.sh -> util.py. 2015-01-31 17:38:28 -05:00
receivedby.py Introduce separate 'generate' RPC call 2015-04-01 11:47:10 -07:00
reindex.py Fix CheckBlockIndex for reindex. 2015-04-14 14:10:19 -04:00
rest.py Introduce separate 'generate' RPC call 2015-04-01 11:47:10 -07:00
rpcbind_test.py Fix python usage for arch's broken maintainers 2014-11-27 00:02:28 -05:00
script_test.py Add script manipulation tools for use in mininode testing framework 2015-04-28 15:09:29 -04:00
script.py Add script manipulation tools for use in mininode testing framework 2015-04-28 15:09:29 -04:00
send.sh Update license in pull-tester and rpc-tests 2014-10-23 09:48:19 +08:00
smartfees.py Introduce separate 'generate' RPC call 2015-04-01 11:47:10 -07:00
socks5.py rpc-tests: Add proxy test 2015-04-20 15:04:33 +02:00
test_framework.py Merge pull request #5981 2015-04-30 14:49:24 +02:00
txn_doublespend.py Introduce separate 'generate' RPC call 2015-04-01 11:47:10 -07:00
util.py Add some travis debugging for python scripts 2015-04-28 16:51:46 -04:00
util.sh Update license in pull-tester and rpc-tests 2014-10-23 09:48:19 +08:00
wallet.py add rpc test for listunspents support for zero value txouts 2015-04-21 02:25:35 -07:00
walletbackup.py Introduce separate 'generate' RPC call 2015-04-01 11:47:10 -07:00
zapwallettxes.py Introduce separate 'generate' RPC call 2015-04-01 11:47:10 -07: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