Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Languages = []Language{ { Id: 1, Name: "Go", Version: "latest", Image: "golang", Cmd: []string{"go", "run", "/main.go"}, TestCmd: []string{"sh", "-c", "go mod init main;go test -json *.go"}, EntryFileName: "main.go", TestFileName: "main_test.go", TestFramework: GoTestFramework, }, { Id: 2, Name: "NodeJS", Version: "latest", Image: "node", Cmd: []string{"node", "main.js"}, TestCmd: []string{"jest", "main.test.js", "-c", "{}", "--json"}, EntryFileName: "main.js", TestFileName: "main.test.js", TestFramework: JestTestFramework, }, { Id: 3, Name: "Python", Version: "latest", Image: "python", Cmd: []string{"python", "main.py"}, EntryFileName: "main.py", }, { Id: 4, Name: "C++", Version: "latest", Image: "cpp", Cmd: []string{"sh", "-c", "g++ -o main main.cpp && ./main"}, EntryFileName: "main.cpp", }, }
Functions ¶
This section is empty.
Types ¶
type ExecutionService ¶
type ExecutionService interface {
ExecuteSubmission(input SubmissionInput) (*SubmissionOutput, error)
}
ExecutionService handles execution of submissions
type SubmissionInput ¶
type SubmissionInput struct { Token string `json:"token,omitempty"` SourceCode string `json:"source_code,omitempty"` LanguageId int `json:"language_id,omitempty"` AdditionalFiles string `json:"additional_files,omitempty"` ExpectedOutput string `json:"expected_output,omitempty"` TestSourceCode string `json:"test_source_code,omitempty"` StdIn string `json:"std_in,omitempty"` }
func (SubmissionInput) MarshalBinary ¶
func (s SubmissionInput) MarshalBinary() ([]byte, error)
type SubmissionLanguage ¶
type SubmissionOutput ¶
type SubmissionOutput struct { Stdout string `json:"stdout,omitempty"` Stderr string `json:"stderr,omitempty"` ExitCode int `json:"exit_code,omitempty"` Token string `json:"token"` Memory float32 `json:"memory,omitempty"` Executed bool `json:"executed"` OutputMatched bool `json:"output_matched"` Time float32 `json:"time,string,omitempty"` }
func (SubmissionOutput) MarshalBinary ¶
func (s SubmissionOutput) MarshalBinary() ([]byte, error)
type SubmissionService ¶
type SubmissionService interface { CreateSubmission(input SubmissionInput) (*SubmissionOutput, error) GetSubmission(token string) (*SubmissionOutput, error) }
type TestFramework ¶
type TestFramework string
const ( JestTestFramework TestFramework = "jest" GoTestFramework TestFramework = "gotest" )
type TestParseOutput ¶
type TestService ¶
type TestService interface {
ParseTestOutput(stdout string, framework TestFramework) (*TestParseOutput, error)
}
handles parsing of test framework's json output
type TestSubmissionInput ¶
Click to show internal directories.
Click to hide internal directories.