classifyFailures separates failures into categories. Classifies using the raw failure name (not the normalized key) since normalizeTestName strips suffixes like "(timeout)".
(grouped map[string][]TestFailure)
| 172 | // Classifies using the raw failure name (not the normalized key) since |
| 173 | // normalizeTestName strips suffixes like "(timeout)". |
| 174 | func classifyFailures(grouped map[string][]TestFailure) (flaky, timeout, crash map[string][]TestFailure) { |
| 175 | flaky = make(map[string][]TestFailure) |
| 176 | timeout = make(map[string][]TestFailure) |
| 177 | crash = make(map[string][]TestFailure) |
| 178 | |
| 179 | for testName, failures := range grouped { |
| 180 | switch classifyFailure(failures[0].Name) { |
| 181 | case "timeout": |
| 182 | timeout[testName] = failures |
| 183 | case "crash": |
| 184 | crash[testName] = failures |
| 185 | case "flaky": |
| 186 | flaky[testName] = failures |
| 187 | default: |
| 188 | panic("unknown failure classification: " + classifyFailure(failures[0].Name)) //nolint:forbidigo |
| 189 | } |
| 190 | } |
| 191 | |
| 192 | return flaky, timeout, crash |
| 193 | } |
| 194 | |
| 195 | func utcDay(t time.Time) time.Time { |
| 196 | y, m, d := t.UTC().Date() |