aboutsummaryrefslogtreecommitdiff
path: root/test/functional/README.md
diff options
context:
space:
mode:
authorJohn Newbery <john@johnnewbery.com>2017-09-14 11:16:20 -0400
committerJohn Newbery <john@johnnewbery.com>2017-10-10 09:12:01 -0400
commit1e10854038796f211cefd171d368f537a3d68cee (patch)
tree50240dca41b57197cf31ff3ed2ef62970e161fb7 /test/functional/README.md
parent5a9da37fb3f4b53f556e1d46509b94dc3c661d75 (diff)
[tests] [docs] update README for new test naming scheme
Diffstat (limited to 'test/functional/README.md')
-rw-r--r--test/functional/README.md14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/functional/README.md b/test/functional/README.md
index 2558bd017d..f352837858 100644
--- a/test/functional/README.md
+++ b/test/functional/README.md
@@ -27,6 +27,20 @@ don't have test cases for.
`set_test_params()`, `add_options()` and `setup_xxxx()` methods at the top of
the subclass, then locally-defined helper methods, then the `run_test()` method.
+#### Naming guidelines
+
+- Name the test `<area>_test.py`, where area can be one of the following:
+ - `feature` for tests for full features that aren't wallet/mining/mempool, eg `feature_rbf.py`
+ - `interface` for tests for other interfaces (REST, ZMQ, etc), eg `interface_rest.py`
+ - `mempool` for tests for mempool behaviour, eg `mempool_reorg.py`
+ - `mining` for tests for mining features, eg `mining_prioritisetransaction.py`
+ - `p2p` for tests that explicitly test the p2p interface, eg `p2p_disconnect_ban.py`
+ - `rpc` for tests for individual RPC methods or features, eg `rpc_listtransactions.py`
+ - `wallet` for tests for wallet features, eg `wallet_keypool.py`
+- use an underscore to separate words
+ - exception: for tests for specific RPCs or command line options which don't include underscores, name the test after the exact RPC or argument name, eg `rpc_decodescript.py`, not `rpc_decode_script.py`
+- Don't use the redundant work `test` in the name, eg `interface_zmq.py`, not `interface_zmq_test.py`
+
#### General test-writing advice
- Set `self.num_nodes` to the minimum number of nodes necessary for the test.