lntest/unittest: assert bitcoind is shut down

Make sure the shutdown of `bitcoind` is finished without any errors.
This commit is contained in:
yyforyongyu 2025-02-25 16:44:18 +08:00
parent 7666d62a43
commit 245ea85894
No known key found for this signature in database
GPG Key ID: 9BCD95C4FF296868

View File

@ -4,6 +4,7 @@ import (
"fmt" "fmt"
"os/exec" "os/exec"
"path/filepath" "path/filepath"
"strings"
"testing" "testing"
"time" "time"
@ -117,12 +118,20 @@ func NewBitcoindBackend(t *testing.T, netParams *chaincfg.Params,
} }
bitcoind := exec.Command("bitcoind", args...) bitcoind := exec.Command("bitcoind", args...)
if err := bitcoind.Start(); err != nil { err := bitcoind.Start()
t.Fatalf("unable to start bitcoind: %v", err) require.NoError(t, err, "unable to start bitcoind")
}
t.Cleanup(func() { t.Cleanup(func() {
_ = bitcoind.Process.Kill() // Kill `bitcoind` and assert there's no error.
_ = bitcoind.Wait() err = bitcoind.Process.Kill()
require.NoError(t, err)
err = bitcoind.Wait()
if strings.Contains(err.Error(), "signal: killed") {
return
}
require.NoError(t, err)
}) })
// Wait for the bitcoind instance to start up. // Wait for the bitcoind instance to start up.
@ -154,7 +163,7 @@ func NewBitcoindBackend(t *testing.T, netParams *chaincfg.Params,
} }
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 {