Compare commits

..

2 Commits

Author SHA1 Message Date
bb63cb65ba
fix: clangtidy parser get result
All checks were successful
build / build (push) Successful in 1m21s
build / trigger-build-image (push) Successful in 6s
2024-10-06 07:59:04 -04:00
cab7861494
chore: update submodules 2024-10-06 07:39:35 -04:00
8 changed files with 31 additions and 46 deletions

@ -1 +1 @@
Subproject commit 6d82a1344fbbd994e8c63428e5c1759bd7ef4f6f Subproject commit 8e202e7c501128d66b74121ecd8f09a98367f876

@ -1 +1 @@
Subproject commit 1e1d15265956703a14efb52a1aef82f2fecee46b Subproject commit 3dc44926b28477928808deb17059e5fed7635094

@ -1 +1 @@
Subproject commit a384a00736523d674851b6a58b383487b7328144 Subproject commit da38c70c7f17b0c1e98883cf258176ecd2856598

@ -1 +1 @@
Subproject commit c7c905ebcfad171e0edba0485358744c49aad6e2 Subproject commit 8790cd7f3ad6bc5885cafda12f3f71a2a4ff9ea3

@ -1 +1 @@
Subproject commit 50ec9ccbb6d7fe9b5352a018b6ac6445ac5c354f Subproject commit 8a91338da01c8fb0051b1d0183d503073535e337

@ -1 +1 @@
Subproject commit dd11177f3c3cf21728a84d808595de887fe4807a Subproject commit c7965f56d9f0b72eb2b491d4d6eada3daddee4bc

View File

@ -9,8 +9,8 @@ import (
) )
type Match struct { type Match struct {
Keyword []string Keywords []string
Score int Score int
} }
type Conf struct { type Conf struct {
@ -41,9 +41,10 @@ func Parse(executorResult stage.ExecutorResult, conf Conf) stage.ParserResult {
} }
} }
} }
score, comment := GetResult(formattedMessages, conf)
return stage.ParserResult{ return stage.ParserResult{
Score: GetScore(formattedMessages, conf), Score: score,
Comment: GetComment(formattedMessages), Comment: comment,
} }
} }

View File

@ -5,32 +5,9 @@ import (
"strings" "strings"
) )
func contains(arr []string, element string) bool { func GetResult(jsonMessages []JsonMessage, conf Conf) (int, string) {
for i := range arr { score := conf.Score
// TODO: The keyword in json report might also be an array, need to split it comment := "### Test results summary\n\n"
if strings.Contains(arr[i], element) {
return true
}
}
return false
}
func GetScore(jsonMessages []JsonMessage, conf Conf) int {
fullmark := conf.Score
for _, jsonMessage := range jsonMessages {
keyword := jsonMessage.CheckName
for _, match := range conf.Matches {
if contains(match.Keyword, keyword) {
fullmark -= match.Score
break
}
}
}
return fullmark
}
func GetComment(jsonMessages []JsonMessage) string {
res := "### Test results summary\n\n"
keys := [...]string{ keys := [...]string{
"codequality-unchecked-malloc-result", "codequality-unchecked-malloc-result",
"codequality-no-global-variables", "codequality-no-global-variables",
@ -56,22 +33,29 @@ func GetComment(jsonMessages []JsonMessage) string {
mapping[key] = 0 mapping[key] = 0
} }
for _, jsonMessage := range jsonMessages { for _, jsonMessage := range jsonMessages {
keyword := jsonMessage.CheckName checkName := jsonMessage.CheckName
flag := true for _, match := range conf.Matches {
for key := range mapping { for _, keyword := range match.Keywords {
if strings.Contains(keyword, key) { // TODO: The keyword in json report might also be an array, need to split it
mapping[key] += 1 if strings.Contains(checkName, keyword) {
flag = false score -= match.Score
break }
} }
} }
if flag { listed := false
for key := range mapping {
if strings.Contains(checkName, key) {
mapping[key] += 1
listed = true
}
}
if !listed {
mapping["others"] += 1 mapping["others"] += 1
} }
} }
for i, key := range keys { for i, key := range keys {
res = fmt.Sprintf("%s%d. %s: %d\n", res, i+1, key, mapping[key]) comment = fmt.Sprintf("%s%d. %s: %d\n", comment, i+1, key, mapping[key])
} }
return res return score, comment
} }