fix: add comment on wrong result status
This commit is contained in:
parent
18b7193bc0
commit
914ad6c7e3
|
@ -57,37 +57,36 @@ func (*Diff) Run(results []stage.ExecutorResult, confAny any) (
|
||||||
comment += fmt.Sprintf(
|
comment += fmt.Sprintf(
|
||||||
"Unexpected executor status: %s.", result.Status,
|
"Unexpected executor status: %s.", result.Status,
|
||||||
)
|
)
|
||||||
continue
|
} else {
|
||||||
}
|
for _, output := range caseConf.Outputs {
|
||||||
for _, output := range caseConf.Outputs {
|
answer, err := os.ReadFile(output.AnswerPath)
|
||||||
answer, err := os.ReadFile(output.AnswerPath)
|
if err != nil {
|
||||||
if err != nil {
|
return nil, true, err
|
||||||
return nil, true, err
|
}
|
||||||
}
|
slog.Debug("compare", "filename", output.FileName,
|
||||||
slog.Debug("compare", "filename", output.FileName,
|
"answer path", output.AnswerPath,
|
||||||
"answer path", output.AnswerPath,
|
"actual", result.Files[output.FileName],
|
||||||
"actual", result.Files[output.FileName],
|
"answer", string(answer))
|
||||||
"answer", string(answer))
|
// If no difference, assign score
|
||||||
// If no difference, assign score
|
if compareChars(string(answer), result.Files[output.FileName], output.IgnoreWhitespace) {
|
||||||
if compareChars(string(answer), result.Files[output.FileName], output.IgnoreWhitespace) {
|
score += output.Score
|
||||||
score += output.Score
|
} else {
|
||||||
} else {
|
// Convert answer to string and split by lines
|
||||||
// Convert answer to string and split by lines
|
stdoutLines := strings.Split(string(answer), "\n")
|
||||||
stdoutLines := strings.Split(string(answer), "\n")
|
resultLines := strings.Split(result.Files[output.FileName], "\n")
|
||||||
resultLines := strings.Split(result.Files[output.FileName], "\n")
|
|
||||||
|
|
||||||
// Generate Myers diff
|
// Generate Myers diff
|
||||||
diffOps := myersDiff(stdoutLines, resultLines)
|
diffOps := myersDiff(stdoutLines, resultLines)
|
||||||
|
|
||||||
// Generate diff block with surrounding context
|
// Generate diff block with surrounding context
|
||||||
diffOutput := generateDiffWithContext(stdoutLines, resultLines, diffOps)
|
diffOutput := generateDiffWithContext(stdoutLines, resultLines, diffOps)
|
||||||
comment += fmt.Sprintf(
|
comment += fmt.Sprintf(
|
||||||
"difference found in %s:\n```diff\n%s```\n",
|
"difference found in %s:\n```diff\n%s```\n",
|
||||||
output.FileName, diffOutput,
|
output.FileName, diffOutput,
|
||||||
)
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
res = append(res, stage.ParserResult{
|
res = append(res, stage.ParserResult{
|
||||||
Score: score,
|
Score: score,
|
||||||
Comment: comment,
|
Comment: comment,
|
||||||
|
|
Loading…
Reference in New Issue
Block a user