Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(291)

Unified Diff: go/src/infra/monitoring/analyzer/analyzer_test.go

Issue 1874053002: [alerts-dispatcher] update to build again :) also fixes a concurrent map access (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: typos Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « go/src/infra/monitoring/analyzer/analyzer.go ('k') | go/src/infra/monitoring/analyzer/gatekeeper.go » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: go/src/infra/monitoring/analyzer/analyzer_test.go
diff --git a/go/src/infra/monitoring/analyzer/analyzer_test.go b/go/src/infra/monitoring/analyzer/analyzer_test.go
index b59ca284464ba45acc15c105fb7906c7e44cebbc..cb43086af5156a41dad2a6dfe06d049dfe4ed85f 100644
--- a/go/src/infra/monitoring/analyzer/analyzer_test.go
+++ b/go/src/infra/monitoring/analyzer/analyzer_test.go
@@ -107,7 +107,9 @@ func TestMasterAlerts(t *testing.T) {
{
Key: "stale master: fake.master",
Title: "Stale fake.master master data",
- Body: fmt.Sprintf("%s elapsed since last update.", 20*time.Minute),
+ Type: "stale-master",
+ Severity: staleMasterSev,
+ Body: "0h 20m elapsed since last update.",
Time: messages.TimeToEpochTime(time.Unix(100, 0).Add(20 * time.Minute)),
Links: []messages.Link{{"Master", client.MasterURL("fake.master")}},
StartTime: messages.EpochTime(100),
@@ -131,7 +133,8 @@ func TestMasterAlerts(t *testing.T) {
a.Now = fakeNow(test.t)
got := a.MasterAlerts(test.master, &test.be)
if !reflect.DeepEqual(got, test.want) {
- t.Errorf("%s failed. Got %+v, want: %+v", test.name, got, test.want)
+ t.Errorf("%s failed. Got %+v, want: %+v\nDiff: %v", test.name, got, test.want,
+ ansidiff.Diff(got, test.want))
}
}
}
@@ -262,9 +265,10 @@ func TestLittleBBuilderAlerts(t *testing.T) {
{
Key: "fake.master.fake.builder.hung",
Title: "fake.master.fake.builder is hung in step fake_step.",
+ Type: "hung-builder",
Time: messages.TimeToEpochTime(time.Unix(0, 0).Add(4 * time.Hour)),
Body: "fake.master.fake.builder has been building for 3h59m50s (last step update 1970-01-01 00:00:10 +0000 UTC), past the alerting threshold of 3h0m0s",
- Severity: 1,
+ Severity: hungBuilderSev,
Links: []messages.Link{
{Title: "Builder", Href: "https://build.chromium.org/p/fake.master/builders/fake.builder"},
{Title: "Last build", Href: "https://build.chromium.org/p/fake.master/builders/fake.builder/builds/1"},
@@ -285,7 +289,8 @@ func TestLittleBBuilderAlerts(t *testing.T) {
}
gotAlerts, gotErrs := a.builderAlerts(test.master, test.builder, &test.b)
if !reflect.DeepEqual(gotAlerts, test.wantAlerts) {
- t.Errorf("%s failed. Got:\n%+v, want:\n%+v", test.name, gotAlerts, test.wantAlerts)
+ t.Errorf("%s failed. Got:\n%+v, want:\n%+v\nDiff: %v", test.name, gotAlerts, test.wantAlerts,
+ ansidiff.Diff(gotAlerts, test.wantAlerts))
}
if !reflect.DeepEqual(gotErrs, test.wantErrs) {
t.Errorf("%s failed. Got %+v, want: %+v", test.name, gotErrs, test.wantErrs)
@@ -351,9 +356,11 @@ func TestBuilderStepAlerts(t *testing.T) {
},
wantAlerts: []messages.Alert{
{
- Key: "fake.master.fake.builder.fake_step",
- Title: "Builder step failure: fake.master.fake.builder",
- Type: "buildfailure",
+ Key: "fake.master.fake.builder.fake_step",
+ Title: "fake.builder step failure",
+ Type: "buildfailure",
+ Body: "fake_step failing on fake.master/fake.builder",
+ Severity: newFailureSev,
Extension: messages.BuildFailure{
Builders: []messages.AlertedBuilder{
{
@@ -468,9 +475,11 @@ func TestBuilderStepAlerts(t *testing.T) {
},
wantAlerts: []messages.Alert{
{
- Key: "fake.master.fake.builder.fake_step",
- Title: "Builder step failure: fake.master.fake.builder",
- Type: "buildfailure",
+ Key: "fake.master.fake.builder.fake_step",
+ Title: "fake.builder step failure",
+ Type: "buildfailure",
+ Body: "fake_step failing on fake.master/fake.builder",
+ Severity: reliableFailureSev,
Extension: messages.BuildFailure{
Builders: []messages.AlertedBuilder{
{
@@ -677,8 +686,9 @@ func TestMergeAlertsByStep(t *testing.T) {
},
want: []messages.Alert{
{
- Title: "step_a (failing on 3 builders)",
+ Title: "step_a failing on 3 builders",
Type: "buildfailure",
+ Body: "builder A, builder B, builder C",
Extension: messages.BuildFailure{
Builders: []messages.AlertedBuilder{
{Name: "builder A"},
@@ -717,7 +727,7 @@ func TestMergeAlertsByStep(t *testing.T) {
for _, test := range tests {
got := a.mergeAlertsByStep(test.in)
if !reflect.DeepEqual(got, test.want) {
- t.Errorf("%s failed. Got:\n\t%+v, want:\n\t%+v", test.name, got, test.want)
+ t.Errorf("%s failed. Got:\n\t%+v, want:\n\t%+v\nDiff: %v", test.name, got, test.want, ansidiff.Diff(got, test.want))
}
}
}
@@ -921,9 +931,11 @@ func TestStepFailureAlerts(t *testing.T) {
testResults: messages.TestResults{},
alerts: []messages.Alert{
{
- Key: "fake.master.fake.builder.fake_tests",
- Title: "Builder step failure: fake.master.fake.builder",
- Type: "buildfailure",
+ Key: "fake.master.fake.builder.fake_tests",
+ Title: "fake.builder step failure",
+ Body: "fake_tests failing on fake.master/fake.builder",
+ Severity: newFailureSev,
+ Type: "buildfailure",
Extension: messages.BuildFailure{
Builders: []messages.AlertedBuilder{
{
@@ -954,7 +966,8 @@ func TestStepFailureAlerts(t *testing.T) {
mc.testResults = &test.testResults
alerts, err := a.stepFailureAlerts(test.failures)
if !reflect.DeepEqual(alerts, test.alerts) {
- t.Errorf("%s failed. Got:\n\t%+v, want:\n\t%+v", test.name, alerts, test.alerts)
+ t.Errorf("%s failed. Got:\n\t%+v, want:\n\t%+v\nDiff: %s", test.name, alerts, test.alerts,
+ ansidiff.Diff(alerts, test.alerts))
}
if !reflect.DeepEqual(err, test.err) {
t.Errorf("%s failed. Got %+v, want %+v", test.name, err, test.err)
@@ -1100,7 +1113,7 @@ func TestLatestBuildStep(t *testing.T) {
func TestExcludeFailure(t *testing.T) {
tests := []struct {
name string
- cfgs map[string]messages.MasterConfig
+ gk messages.GatekeeperConfig
master, builder, step string
want bool
}{
@@ -1116,11 +1129,11 @@ func TestExcludeFailure(t *testing.T) {
master: "fake.master",
builder: "fake.builder",
step: "fake_step",
- cfgs: map[string]messages.MasterConfig{
- "fake.master": {
+ gk: messages.GatekeeperConfig{Masters: map[string][]messages.MasterConfig{
+ "fake.master": {{
ExcludedBuilders: []string{"fake.builder"},
- },
- },
+ }},
+ }},
want: true,
},
{
@@ -1128,11 +1141,11 @@ func TestExcludeFailure(t *testing.T) {
master: "fake.master",
builder: "fake.builder",
step: "fake_step",
- cfgs: map[string]messages.MasterConfig{
- "fake.master": {
+ gk: messages.GatekeeperConfig{Masters: map[string][]messages.MasterConfig{
+ "fake.master": {{
ExcludedSteps: []string{"fake_step"},
- },
- },
+ }},
+ }},
want: true,
},
{
@@ -1140,14 +1153,14 @@ func TestExcludeFailure(t *testing.T) {
master: "fake.master",
builder: "fake.builder",
step: "fake_step",
- cfgs: map[string]messages.MasterConfig{
- "fake.master": {
+ gk: messages.GatekeeperConfig{Masters: map[string][]messages.MasterConfig{
+ "fake.master": {{
Builders: map[string]messages.BuilderConfig{
"fake.builder": {
ExcludedSteps: []string{"fake_step"},
},
- },
- },
+ }},
+ }},
},
want: true,
},
@@ -1156,19 +1169,19 @@ func TestExcludeFailure(t *testing.T) {
master: "fake.master",
builder: "fake.builder",
step: "fake_step",
- cfgs: map[string]messages.MasterConfig{
- "fake.master": {
+ gk: messages.GatekeeperConfig{Masters: map[string][]messages.MasterConfig{
+ "fake.master": {{
ExcludedBuilders: []string{"*"},
- },
- },
+ }},
+ }},
want: true,
},
}
a := New(&mockReader{}, 0, 10)
for _, test := range tests {
- a.MasterCfgs = test.cfgs
- got := a.excludeFailure(test.master, test.builder, test.step)
+ a.Gatekeeper = NewGatekeeperRules(test.gk)
+ got := a.Gatekeeper.ExcludeFailure(test.master, test.builder, test.step)
if got != test.want {
t.Errorf("%s failed. Got: %+v, want: %+v", test.name, got, test.want)
}
« no previous file with comments | « go/src/infra/monitoring/analyzer/analyzer.go ('k') | go/src/infra/monitoring/analyzer/gatekeeper.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698