diff --git a/cmd/promtool/unittest.go b/cmd/promtool/unittest.go index 64107f171..682ebc66b 100644 --- a/cmd/promtool/unittest.go +++ b/cmd/promtool/unittest.go @@ -188,6 +188,13 @@ func (tg *testGroup) test(evalInterval time.Duration, groupOrderMap map[string]i // Map of all the unit tests for given eval_time. alertTests := make(map[model.Duration][]alertTestCase) for _, alert := range tg.AlertRuleTests { + if alert.Alertname == "" { + var testGroupLog string + if tg.TestGroupName != "" { + testGroupLog = fmt.Sprintf(" (in TestGroup %s)", tg.TestGroupName) + } + return []error{errors.Errorf("an item under alert_rule_test misses required attribute alertname at eval_time %v%s", alert.EvalTime, testGroupLog)} + } alertEvalTimesMap[alert.EvalTime] = struct{}{} if _, ok := alertsInTest[alert.EvalTime]; !ok {