lbcd/rpctest
Dave Collins 7cf9ec8190
rpctest: Use ports based on the process id.
This modifies the ports that are selected for use for the p2p and rpc
ports to start with a port that is based on the process id instead of a
hard-coded value.  The chosen ports are incremented for each running
instance similar to the previous code except the p2p and rpc ports and
now split into ranges instead of being 2 apart.

This is being done because the previous code only worked for a single
process which means it prevented the ability to run tests in parallel.

The new approach will work with multiple processes, however it must be
stated that there is still a very small probability that the stars could
align resulting in the same ports being selected.

Finally, this also reverts the recent change to run tests serially since
this fixes the underlying cause for that change.
2016-09-20 16:59:37 -05:00
..
blockgen.go rpctest: create new rpctest package 2016-08-19 17:37:08 -05:00
doc.go rpctest: create new rpctest package 2016-08-19 17:37:08 -05:00
memwallet.go rpctest: create new rpctest package 2016-08-19 17:37:08 -05:00
node.go rpctest: create new rpctest package 2016-08-19 17:37:08 -05:00
README.md rpctest: create new rpctest package 2016-08-19 17:37:08 -05:00
rpc_harness.go rpctest: Use ports based on the process id. 2016-09-20 16:59:37 -05:00
rpc_harness_test.go rpctest: Use ports based on the process id. 2016-09-20 16:59:37 -05:00
utils.go rpctest: Use ports based on the process id. 2016-09-20 16:59:37 -05:00

rpctest

[Build Status] (https://travis-ci.org/btcsuite/btcd) ![ISC License] (http://img.shields.io/badge/license-ISC-blue.svg) [GoDoc] (http://godoc.org/github.com/btcsuite/btcd/rpctest)

Package rpctest provides a btcd-specific RPC testing harness crafting and executing integration tests by driving a btcd instance via the RPC interface. Each instance of an active harness comes equipped with a simple in-memory HD wallet capable of properly syncing to the generated chain, creating new addresses, and crafting fully signed transactions paying to an arbitrary set of outputs.

This package was designed specifically to act as an RPC testing harness for btcd. However, the constructs presented are general enough to be adapted to any project wishing to programmatically drive a btcd instance of its systems/integration tests.

Installation and Updating

$ go get -u github.com/btcsuite/btcd/rpctest

License

Package rpctest is licensed under the copyfree ISC License.