chainntnfs: fix temp dir creation and rpcpolling switch
In the NewBitcoindBackend test util function, ensure that the `rpcpolling` param is switched on in the correct order. Also switch back to using `ioutil.TempDir` as it seems that the zmq conn strings created from `t.TempDir()` result in an invalid conn string.
This commit is contained in:
1 file changed
+12
-7
@@ -6,6 +6,7 @@ package chainntnfs
|
|||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"io/ioutil"
|
||||||
"math/rand"
|
"math/rand"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
@@ -197,7 +198,11 @@ func NewBitcoindBackend(t *testing.T, minerAddr string, txindex,
|
|||||||
|
|
||||||
t.Helper()
|
t.Helper()
|
||||||
|
|
||||||
tempBitcoindDir := t.TempDir()
|
// We use ioutil.TempDir here instead of t.TempDir because some versions
|
||||||
|
// of bitcoind complain about the zmq connection string formats when the
|
||||||
|
// t.TempDir directory string is used.
|
||||||
|
tempBitcoindDir, err := ioutil.TempDir("", "bitcoind")
|
||||||
|
require.NoError(t, err, "unable to create temp dir")
|
||||||
|
|
||||||
rpcPort := rand.Intn(65536-1024) + 1024
|
rpcPort := rand.Intn(65536-1024) + 1024
|
||||||
zmqBlockHost := "ipc:///" + tempBitcoindDir + "/blocks.socket"
|
zmqBlockHost := "ipc:///" + tempBitcoindDir + "/blocks.socket"
|
||||||
@@ -241,20 +246,20 @@ func NewBitcoindBackend(t *testing.T, minerAddr string, txindex,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if rpcpolling {
|
if rpcpolling {
|
||||||
|
cfg.PollingConfig = &chain.PollingConfig{
|
||||||
|
BlockPollingInterval: time.Millisecond * 20,
|
||||||
|
TxPollingInterval: time.Millisecond * 20,
|
||||||
|
}
|
||||||
|
} else {
|
||||||
cfg.ZMQConfig = &chain.ZMQConfig{
|
cfg.ZMQConfig = &chain.ZMQConfig{
|
||||||
ZMQBlockHost: zmqBlockHost,
|
ZMQBlockHost: zmqBlockHost,
|
||||||
ZMQTxHost: zmqTxHost,
|
ZMQTxHost: zmqTxHost,
|
||||||
ZMQReadDeadline: 5 * time.Second,
|
ZMQReadDeadline: 5 * time.Second,
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
cfg.PollingConfig = &chain.PollingConfig{
|
|
||||||
BlockPollingInterval: time.Millisecond * 20,
|
|
||||||
TxPollingInterval: time.Millisecond * 20,
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var conn *chain.BitcoindConn
|
var conn *chain.BitcoindConn
|
||||||
err := wait.NoError(func() error {
|
err = wait.NoError(func() error {
|
||||||
var err error
|
var err error
|
||||||
conn, err = chain.NewBitcoindConn(cfg)
|
conn, err = chain.NewBitcoindConn(cfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
Reference in new issue
Block a user