diff --git a/internal/executors/dummy/executor.go b/internal/executors/dummy/executor.go index d272c58..1a40f18 100644 --- a/internal/executors/dummy/executor.go +++ b/internal/executors/dummy/executor.go @@ -11,9 +11,9 @@ func (e *Dummy) Run(cmds []stage.Cmd) ([]stage.ExecutorResult, error) { var res []stage.ExecutorResult for range cmds { res = append(res, stage.ExecutorResult{ - Status: stage.Status(envexec.StatusInvalid), + Status: stage.Status(envexec.StatusAccepted), ExitStatus: 0, - Error: "I'm a dummy", + Error: "", Time: 0, Memory: 0, RunTime: 0, diff --git a/internal/parsers/secret/meta.go b/internal/parsers/secret/meta.go new file mode 100644 index 0000000..457a77a --- /dev/null +++ b/internal/parsers/secret/meta.go @@ -0,0 +1,9 @@ +package secret + +import "focs.ji.sjtu.edu.cn/git/FOCS-dev/JOJ3/internal/stage" + +var name = "secret" + +func init() { + stage.RegisterParser(name, &Secret{}) +} diff --git a/internal/parsers/secret/parser.go b/internal/parsers/secret/parser.go new file mode 100644 index 0000000..a7902d7 --- /dev/null +++ b/internal/parsers/secret/parser.go @@ -0,0 +1,25 @@ +package secret + +import ( + "focs.ji.sjtu.edu.cn/git/FOCS-dev/JOJ3/internal/stage" +) + +type Conf struct { + Secret string +} + +type Secret struct{} + +func (*Secret) Run(results []stage.ExecutorResult, confAny any) ( + []stage.ParserResult, bool, error, +) { + conf, err := stage.DecodeConf[Conf](confAny) + if err != nil { + return nil, true, err + } + var res []stage.ParserResult + for range results { + res = append(res, stage.ParserResult{Score: 0, Comment: conf.Secret}) + } + return res, false, nil +}