Branch: refs/heads/master Home: https://github.com/btcsuite/btcd Commit: 6cf60b5fae5cd076c863892038840a2327e345ce https://github.com/btcsuite/btcd/commit/6cf60b5fae5cd076c863892038840a2327e345ce Author: Dave Collins <da...@conformal.com> Date: 2016-08-21 (Sun, 21 Aug 2016)
Changed paths: M rpctest/rpc_harness_test.go M rpctest/utils.go Log Message: ----------- rpctest: Correct several issues in tests and joins. This corrects several issues with the new rpctest package. The following is an overview of the issues that have been corrected: - The JoinNodes code was incorrect for both mempool and blocks. - For mempool it was only checking the first node against itself - For blocks it was only testing the height instead of hash and height which means the chains could be different and it would claim they're synced - The test for mempool joins was inaccurate in a few ways: - It was generating separate chains such that the generated transaction was invalid (an orphan) on one chain, but not the other - Mempools are not automatically synced when nodes are connected and there is a large random delay before any transaction rebroadcast happens, so it can't be relied on for the purposes of this test - The test for block joins was generating two independent chains of the same height with the same difficulty and was only passing due to the aforementioned bug in JoinNodes - All of the ConnectNode calls were connecting the main harness outbound to the local test harness instances - This is not correct because ConnectNode makes the outbound connection persistent, which means once the local test harness is gone, it would keep trying to connect for the remainder of the tests to a node that is never coming back and instead ends up connecting to an independent test harness.