diff --git a/internal/parser/clangtidy/convert.go b/internal/parser/clangtidy/convert.go index 88e87e3..c6ea7c3 100644 --- a/internal/parser/clangtidy/convert.go +++ b/internal/parser/clangtidy/convert.go @@ -6,6 +6,7 @@ import ( "path/filepath" "regexp" "strconv" + "strings" ) type Level int @@ -68,6 +69,9 @@ func levelFromString(levelString string) Level { } func isIgnored(line string) bool { + if strings.TrimSpace(line) == "" { + return true + } ignoreRegex := regexp.MustCompile("^error:.*$") return ignoreRegex.MatchString(line) } diff --git a/internal/parser/clangtidy/parser.go b/internal/parser/clangtidy/parser.go index 51661ed..85ca466 100644 --- a/internal/parser/clangtidy/parser.go +++ b/internal/parser/clangtidy/parser.go @@ -24,11 +24,6 @@ type ClangTidy struct{} func Parse(executorResult stage.ExecutorResult, conf Conf) stage.ParserResult { stdout := executorResult.Files["stdout"] stderr := executorResult.Files["stderr"] - - lines := strings.SplitAfter(stdout, "\n") - messages := ParseLines(lines, conf) - formattedMessages := Format(messages) - if executorResult.Status != stage.Status(envexec.StatusAccepted) { if !((executorResult.Status == stage.Status(envexec.StatusNonzeroExitStatus)) && (executorResult.ExitStatus == 1)) { @@ -41,6 +36,9 @@ func Parse(executorResult stage.ExecutorResult, conf Conf) stage.ParserResult { } } } + lines := strings.SplitAfter(stdout, "\n") + messages := ParseLines(lines, conf) + formattedMessages := Format(messages) score, comment := GetResult(formattedMessages, conf) return stage.ParserResult{ Score: score,