Branch: refs/heads/master
  Home:   https://github.com/btcsuite/btcd
  Commit: b86df0ba9194659fddf1e4e8930b67b5791eff49
      
https://github.com/btcsuite/btcd/commit/b86df0ba9194659fddf1e4e8930b67b5791eff49
  Author: Olaoluwa Osuntokun <laol...@gmail.com>
  Date:   2016-08-19 (Fri, 19 Aug 2016)

  Changed paths:
    A rpctest/README.md
    A rpctest/blockgen.go
    A rpctest/doc.go
    A rpctest/memwallet.go
    A rpctest/node.go
    A rpctest/rpc_harness.go
    A rpctest/rpc_harness_test.go
    A rpctest/utils.go

  Log Message:
  -----------
  rpctest: create new rpctest package

This commit adds a new package (rpctest) which provides functionality
for writing automated black box tests to exercise the RPC interface.

An instance of a rpctest consists of an active btcd process running in
(typically) --simnet mode, a btcrpcclient instance connected to said
node, and finally an embedded in-memory wallet instance (the memWallet)
which manages any created coinbase outputs created by the mining btcd
node.

As part of the SetUp process for an RPC test, a test author can
optionally opt to have a test blockchain created. The second argument
to SetUp dictates the number of mature coinbase outputs desired. The
btcd process will then be directed to generate a test chain of length:
100 + numMatureOutputs.

The embedded memWallet instance acts as a minimal, simple wallet for
each Harness instance. The memWallet itself is a BIP 32 HD wallet
capable of creating new addresses, creating fully signed transactions,
creating+broadcasting a transaction paying to an arbitrary set of
outputs, and querying the currently confirmed balance.

In order to test various scenarios of blocks containing arbitrary
transactions, one can use the Generate rpc call via the exposed
btcrpcclient connected to the active btcd node. Additionally, the
Harness also exposes a secondary block generation API allowing callers
to create blocks with a set of hand-selected transactions, and an
arbitrary BlockVersion or Timestamp.

After execution of test logic TearDown should be called, allowing the
test instance to clean up created temporary directories, and shut down
the running processes.

Running multiple concurrent rpctest.Harness instances is supported in
order to allow for test authors to exercise complex scenarios. As a
result, the primary interface to create, and initialize an
rpctest.Harness instance is concurrent safe, with shared package level
private global variables protected by a sync.Mutex.

Fixes #116.


  Commit: 2d86fbfacee9bef2745a2fb29efc8e7760f1cc5d
      
https://github.com/btcsuite/btcd/commit/2d86fbfacee9bef2745a2fb29efc8e7760f1cc5d
  Author: Olaoluwa Osuntokun <laol...@gmail.com>
  Date:   2016-08-19 (Fri, 19 Aug 2016)

  Changed paths:
    A rpcserver_test.go

  Log Message:
  -----------
  btcd: add basic RPC tests using the rpctest package

This commit introduces a new file: rpcserver_test.go dedicated for
including integration tests for btcd using the new rpctest package.

The tests are created using a TestMain instance first creates a single
main harness which is intended to be re-used across tests instances.
Afterwards all registered RPC tests are executed, with proper clean up
being executed regardless of the passing state of the tests.

The following RPC calls are excessed by the initial set of tests added:
    * getbestblock
    * getblockcount
    * getblockhash


  Commit: c3d5371615c4869e3f899a355421089318976944
      
https://github.com/btcsuite/btcd/commit/c3d5371615c4869e3f899a355421089318976944
  Author: Olaoluwa Osuntokun <laol...@gmail.com>
  Date:   2016-08-19 (Fri, 19 Aug 2016)

  Changed paths:
    M glide.lock
    M glide.yaml

  Log Message:
  -----------
  build: update dependancies required by rpctest


  Commit: 7c4b169faa134b6716f574cff87d2e4340fba57b
      
https://github.com/btcsuite/btcd/commit/7c4b169faa134b6716f574cff87d2e4340fba57b
  Author: Olaoluwa Osuntokun <laol...@gmail.com>
  Date:   2016-08-19 (Fri, 19 Aug 2016)

  Changed paths:
    M .travis.yml

  Log Message:
  -----------
  build: install btcd binary within Travis container

This commit modifies the existing Travis configuration to also install
the btcd binary within the container’s PATH.

This change is necessary in order for tests written against the new
rpctest package to work properly within the Travis testing environment.


Compare: https://github.com/btcsuite/btcd/compare/763f731c5c97...7c4b169faa13

Reply via email to