channeldb/addr_test: inspect error string

Lets us match on more than static errors.
This commit is contained in:
Johan T. Halseth committed 2019-01-17 14:14:24 +01:00
1 parent 6ae55168b8
commit 6f605b2de2
1 file changed
+17 -6
+17 -6
View File
@@ -3,6 +3,7 @@ package channeldb
import (
"bytes"
"net"
"strings"
"testing"
"github.com/lightningnetwork/lnd/tor"
@@ -15,7 +16,7 @@ func (t unknownAddrType) String() string { return "unknown" }
var addrTests = []struct {
expAddr net.Addr
serErr error
serErr string
}{
{
expAddr: &net.TCPAddr{
@@ -43,7 +44,7 @@ var addrTests = []struct {
},
{
expAddr: unknownAddrType{},
serErr: ErrUnknownAddressType,
serErr: ErrUnknownAddressType.Error(),
},
}
@@ -55,11 +56,21 @@ func TestAddrSerialization(t *testing.T) {
var b bytes.Buffer
for _, test := range addrTests {
err := serializeAddr(&b, test.expAddr)
if err != test.serErr {
switch {
case err == nil && test.serErr != "":
t.Fatalf("expected serialization err for addr %v",
test.expAddr)
case err != nil && test.serErr == "":
t.Fatalf("unexpected serialization err for addr %v: %v",
test.expAddr, err)
case err != nil && !strings.Contains(err.Error(), test.serErr):
t.Fatalf("unexpected serialization err for addr %v, "+
"want: %v, got %v",
test.expAddr, test.serErr, err)
} else if test.serErr != nil {
"want: %v, got %v", test.expAddr, test.serErr,
err)
case err != nil:
continue
}