feat: output force quit

This commit is contained in:
张泊明518370910136 2024-06-06 21:17:45 -04:00
parent 5ac760814d
commit 573b94d896
GPG Key ID: D47306D7062CDA9D
4 changed files with 14 additions and 12 deletions

View File

@ -55,13 +55,13 @@ func (*Keyword) Run(results []stage.ExecutorResult, confAny any) (
return nil, true, err
}
var res []stage.ParserResult
end := false
forceQuit := false
for _, result := range results {
tmp, matched := Parse(result, *conf)
if matched && conf.EndOnMatch {
end = true
forceQuit = true
}
res = append(res, tmp)
}
return res, end, nil
return res, forceQuit, nil
}

View File

@ -19,12 +19,12 @@ func (*ResultStatus) Run(results []stage.ExecutorResult, confAny any) (
if err != nil {
return nil, true, err
}
end := false
forceQuit := false
var res []stage.ParserResult
for _, result := range results {
comment := ""
if result.Status != stage.Status(envexec.StatusAccepted) {
end = true
forceQuit = true
comment = fmt.Sprintf(
"Unexpected executor status: %s.", result.Status,
)
@ -34,5 +34,5 @@ func (*ResultStatus) Run(results []stage.ExecutorResult, confAny any) (
Comment: comment,
})
}
return res, end, nil
return res, forceQuit, nil
}

View File

@ -166,4 +166,5 @@ type ParserResult struct {
type StageResult struct {
Name string `json:"name"`
Results []ParserResult `json:"results"`
ForceQuit bool `json:"force_quit"`
}

View File

@ -26,7 +26,7 @@ func Run(stages []Stage) []StageResult {
slog.Error("parser not found", "name", stage.ParserName)
break
}
parserResults, end, err := parser.Run(executorResults, stage.ParserConf)
parserResults, forceQuit, err := parser.Run(executorResults, stage.ParserConf)
if err != nil {
slog.Error("parser run error", "name", stage.ExecutorName, "error", err)
break
@ -35,8 +35,9 @@ func Run(stages []Stage) []StageResult {
stageResults = append(stageResults, StageResult{
Name: stage.Name,
Results: parserResults,
ForceQuit: forceQuit,
})
if end {
if forceQuit {
break
}
}