diff --git a/e2e/testsuite/tx.go b/e2e/testsuite/tx.go index 068531f26f6..c548c163fb1 100644 --- a/e2e/testsuite/tx.go +++ b/e2e/testsuite/tx.go @@ -3,6 +3,7 @@ package testsuite import ( "context" "fmt" + "slices" "strconv" "strings" "time" @@ -80,7 +81,8 @@ func (s *E2ETestSuite) retryNtimes(f func() (sdk.TxResponse, error), attempts in if err != nil { return sdk.TxResponse{}, err } - if !containsMessage(resp.RawLog, retryMessages) { + // If the response's raw log doesn't contain any of the allowed prefixes we return, else, we retry. + if !slices.ContainsFunc(retryMessages, func(s string) bool { return strings.Contains(resp.RawLog, s) }) { return resp, err } s.T().Logf("retrying tx due to non deterministic failure: %+v", resp) @@ -88,16 +90,6 @@ func (s *E2ETestSuite) retryNtimes(f func() (sdk.TxResponse, error), attempts in return resp, err } -// containsMessages returns true if the string s contains any of the messages in the slice. -func containsMessage(s string, messages []string) bool { - for _, message := range messages { - if strings.Contains(s, message) { - return true - } - } - return false -} - // AssertTxFailure verifies that an sdk.TxResponse has failed. func (s *E2ETestSuite) AssertTxFailure(resp sdk.TxResponse, expectedError *errorsmod.Error) { errorMsg := fmt.Sprintf("%+v", resp)