aboutsummaryrefslogtreecommitdiff
path: root/qa/rpc-tests/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'qa/rpc-tests/README.md')
-rw-r--r--qa/rpc-tests/README.md38
1 files changed, 24 insertions, 14 deletions
diff --git a/qa/rpc-tests/README.md b/qa/rpc-tests/README.md
index 15aede6c41..835ff11057 100644
--- a/qa/rpc-tests/README.md
+++ b/qa/rpc-tests/README.md
@@ -1,26 +1,36 @@
Regression tests of RPC interface
=================================
-Bash scripts that use the RPC interface and command-line bitcoin-cli to test
-full functionality in -regtest mode.
+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
-wallet.sh : Exercise wallet send/receive code.
+skeleton.py : Copy this to create new regression tests.
-txnmall.sh : Test proper accounting of malleable transactions
+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
-util.sh : useful re-usable bash functions
+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.
-Tips for creating new tests
-===========================
+After the first run, the cache/ blockchain and wallets are
+copied into a temporary directory and used as the initial
+test state.
-To cleanup after a failed or interrupted test:
+If you get into a bad state, you should be able
+to recover with:
+ rm -rf cache
killall bitcoind
- rm -rf test.*
-
-The most difficult part of writing reproducible tests is
-keeping multiple nodes in sync. See WaitBlocks,
-WaitPeers, and WaitMemPools for how other tests
-deal with this.