lntest/harness: improve error message for AssertChannelExists

predErr wasn't always being set when the predicate failed, replace with
wait.NoError.
This commit is contained in:
Conner Fromknecht 2019-11-19 20:12:48 -08:00
parent c9c7216768
commit aa3e74043d
No known key found for this signature in database
GPG Key ID: E7D737B67FA592C7

View File

@ -1195,30 +1195,27 @@ func (n *NetworkHarness) AssertChannelExists(ctx context.Context,
req := &lnrpc.ListChannelsRequest{} req := &lnrpc.ListChannelsRequest{}
var predErr error return wait.NoError(func() error {
pred := func() bool {
resp, err := node.ListChannels(ctx, req) resp, err := node.ListChannels(ctx, req)
if err != nil { if err != nil {
predErr = fmt.Errorf("unable fetch node's channels: %v", err) return fmt.Errorf("unable fetch node's channels: %v", err)
return false
} }
for _, channel := range resp.Channels { for _, channel := range resp.Channels {
if channel.ChannelPoint == chanPoint.String() { if channel.ChannelPoint == chanPoint.String() {
return channel.Active if channel.Active {
}
}
return false
}
if err := wait.Predicate(pred, time.Second*15); err != nil {
return fmt.Errorf("channel not found: %v", predErr)
}
return nil return nil
} }
return fmt.Errorf("channel %s inactive",
chanPoint)
}
}
return fmt.Errorf("channel %s not found", chanPoint)
}, 15*time.Second)
}
// DumpLogs reads the current logs generated by the passed node, and returns // DumpLogs reads the current logs generated by the passed node, and returns
// the logs as a single string. This function is useful for examining the logs // the logs as a single string. This function is useful for examining the logs
// of a particular node in the case of a test failure. // of a particular node in the case of a test failure.