diff --git a/cmd/prometheus/main_test.go b/cmd/prometheus/main_test.go index 8921827c7..e327b9014 100644 --- a/cmd/prometheus/main_test.go +++ b/cmd/prometheus/main_test.go @@ -13,7 +13,11 @@ package main -import "testing" +import ( + "testing" + + "github.com/prometheus/prometheus/util/testutil" +) func TestComputeExternalURL(t *testing.T) { tests := []struct { @@ -54,13 +58,12 @@ func TestComputeExternalURL(t *testing.T) { }, } - for i, test := range tests { - r, err := computeExternalURL(test.input, "0.0.0.0:9090") - if test.valid && err != nil { - t.Errorf("%d. expected input to be valid, got %s", i, err) - } else if !test.valid && err == nil { - t.Logf("%+v", test, r) - t.Errorf("%d. expected input to be invalid", i) + for _, test := range tests { + _, err := computeExternalURL(test.input, "0.0.0.0:9090") + if test.valid { + testutil.Ok(t, err) + } else { + testutil.NotOk(t, err) } } } diff --git a/util/testutil/testing.go b/util/testutil/testing.go index 270ad6c42..cde0e4f91 100644 --- a/util/testutil/testing.go +++ b/util/testutil/testing.go @@ -48,6 +48,15 @@ func Ok(tb testing.TB, err error) { } } +// NotOk fails the test if an err is nil. +func NotOk(tb testing.TB, err error) { + if err == nil { + _, file, line, _ := runtime.Caller(1) + fmt.Printf("\033[31m%s:%d: expected error, got nothing \033[39m\n\n", filepath.Base(file), line) + tb.FailNow() + } +} + // Equals fails the test if exp is not equal to act. func Equals(tb testing.TB, exp, act interface{}) { if !reflect.DeepEqual(exp, act) {