diff --git a/internal/parser/diff/parser.go b/internal/parser/diff/parser.go index 898cc38..8630018 100644 --- a/internal/parser/diff/parser.go +++ b/internal/parser/diff/parser.go @@ -37,10 +37,12 @@ type Conf struct { } type DiffParserSummary struct { - Status stage.Status - Time uint64 - Memory uint64 - RunTime uint64 + Status stage.Status + ExitStatus int + Error string + Time uint64 + Memory uint64 + RunTime uint64 } type Diff struct{} @@ -68,6 +70,12 @@ func (*Diff) Run(results []stage.ExecutorResult, confAny any) ( summary.Status == stage.Status(envexec.StatusAccepted) { summary.Status = result.Status } + if result.ExitStatus != 0 && summary.ExitStatus == 0 { + summary.ExitStatus = result.ExitStatus + } + if result.Error != "" && summary.Error == "" { + summary.Error = result.Error + } summary.Time += result.Time summary.Memory += result.Memory summary.RunTime += result.RunTime