feat(internal/parsers/clang_tidy): Added comments for clang-tidy parser
This commit is contained in:
		
							parent
							
								
									5c42a5f055
								
							
						
					
					
						commit
						061664eb70
					
				|  | @ -1 +1 @@ | |||
| Subproject commit 267f23cc74cea628850633dd39d7a1f37d7f7eb3 | ||||
| Subproject commit bb8c33dc62742f7fc9f25ac91582fc4fa4ac3d5d | ||||
|  | @ -47,7 +47,7 @@ func Parse(executorResult stage.ExecutorResult, conf Conf) stage.ParserResult { | |||
| 	// }
 | ||||
| 	return stage.ParserResult{ | ||||
| 		Score:   get_score(formatted_messages, conf), | ||||
| 		Comment: "", | ||||
| 		Comment: get_comment(formatted_messages), | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,10 +1,14 @@ | |||
| package clang_tidy | ||||
| 
 | ||||
| func Contains[T comparable](arr []T, element T) bool { | ||||
| import ( | ||||
| 	"fmt" | ||||
| 	"strings" | ||||
| ) | ||||
| 
 | ||||
| func Contains(arr []string, element string) bool { | ||||
| 	for i := range arr { | ||||
| 		// TODO: The keyword in json report might also be an array, need to split it
 | ||||
| 		// TODO: Might use string.Contains() rather than ==
 | ||||
| 		if element == arr[i] { | ||||
| 		if strings.Contains(arr[i], element) { | ||||
| 			return true | ||||
| 		} | ||||
| 	} | ||||
|  | @ -24,3 +28,50 @@ func get_score(json_messages []json_message, conf Conf) int { | |||
| 	} | ||||
| 	return fullmark | ||||
| } | ||||
| 
 | ||||
| func get_comment(json_messages []json_message) string { | ||||
| 	res := "```\n### Test results summary\n\n" | ||||
| 	keys := [...]string{ | ||||
| 		"codequality-unchecked-malloc-result", | ||||
| 		"codequality-no-global-variables", | ||||
| 		"codequality-no-header-guard", | ||||
| 		"codequality-no-fflush-stdin", | ||||
| 		"readability-function-size", | ||||
| 		"readability-identifier-naming", | ||||
| 		"readability-redundant", | ||||
| 		"readability-misleading-indentation", | ||||
| 		"readability-misplaced-array-index", | ||||
| 		"cppcoreguidelines-init-variables", | ||||
| 		"bugprone-suspicious-string-compare", | ||||
| 		"google-global-names-in-headers", | ||||
| 		"clang-diagnostic", | ||||
| 		"clang-analyzer", | ||||
| 		"misc", | ||||
| 		"performance", | ||||
| 		"others", | ||||
| 	} | ||||
| 	mapping := map[string]int{} | ||||
| 	for _, key := range keys { | ||||
| 		mapping[key] = 0 | ||||
| 	} | ||||
| 	for _, json_message := range json_messages { | ||||
| 		keyword := json_message.Check_name | ||||
| 		flag := true | ||||
| 		for key := range mapping { | ||||
| 			if strings.Contains(keyword, key) { | ||||
| 				mapping[key] += 1 | ||||
| 				flag = false | ||||
| 				break | ||||
| 			} | ||||
| 		} | ||||
| 		if flag { | ||||
| 			mapping["others"] += 1 | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	for i, key := range keys { | ||||
| 		res = fmt.Sprintf("%s%d. %s: %d\n", res, i+1, key, mapping[key]) | ||||
| 	} | ||||
| 	res += "```" | ||||
| 	return res | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user