diff --git a/scrape/manager_test.go b/scrape/manager_test.go index 5b6a39b25..944390319 100644 --- a/scrape/manager_test.go +++ b/scrape/manager_test.go @@ -215,7 +215,7 @@ func TestPopulateLabels(t *testing.T) { in := c.in.Copy() res, orig, err := populateLabels(c.in, c.cfg) - testutil.ErrorEqual(err, c.err) + testutil.ErrorEqual(t, c.err, err) testutil.Equals(t, c.in, in) testutil.Equals(t, c.res, res) testutil.Equals(t, c.resOrig, orig) diff --git a/storage/remote/client_test.go b/storage/remote/client_test.go index f0ebee6b3..e604ab65b 100644 --- a/storage/remote/client_test.go +++ b/storage/remote/client_test.go @@ -75,9 +75,7 @@ func TestStoreHTTPErrorHandling(t *testing.T) { testutil.Ok(t, err) err = c.Store(context.Background(), []byte{}) - if !testutil.ErrorEqual(err, test.err) { - t.Errorf("%d. Unexpected error; want %v, got %v", i, test.err, err) - } + testutil.ErrorEqual(t, err, test.err, "unexpected error in test %d", i) server.Close() } diff --git a/util/testutil/error.go b/util/testutil/error.go deleted file mode 100644 index 38fa71adb..000000000 --- a/util/testutil/error.go +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2013 The Prometheus Authors -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package testutil - -// ErrorEqual compares Go errors for equality. -func ErrorEqual(left, right error) bool { - if left == right { - return true - } - - if left != nil && right != nil { - return left.Error() == right.Error() - } - - return false -} diff --git a/util/testutil/testing.go b/util/testutil/testing.go index 6fac7b801..66a135d52 100644 --- a/util/testutil/testing.go +++ b/util/testutil/testing.go @@ -71,6 +71,21 @@ func Equals(tb TB, exp, act interface{}, msgAndArgs ...interface{}) { } } +// ErrorEqual compares Go errors for equality. +func ErrorEqual(tb TB, left, right error, msgAndArgs ...interface{}) { + tb.Helper() + if left == right { + return + } + + if left != nil && right != nil { + Equals(tb, left.Error(), right.Error(), msgAndArgs...) + return + } + + tb.Fatalf("\033[31m%s\n\nexp: %#v\n\ngot: %#v\033[39m\n", formatMessage(msgAndArgs), left, right) +} + func formatMessage(msgAndArgs []interface{}) string { if len(msgAndArgs) == 0 { return ""