client

package
v0.0.0-...-544ca19 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 7, 2021 License: GPL-3.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AppGeneratorSubCommands = cli.Commands{
	{
		Name:     "config",
		HelpName: "deer-executor example config",
		Action:   generate.MakeProblemConfigFile,
		Usage:    "generate problem config file",
		Flags: []cli.Flag{
			&cli.StringFlag{
				Name:    "output",
				Aliases: []string{"out"},
				Value:   "",
				Usage:   "output config file",
			},
		},
	},
	{
		Name:     "compiler",
		HelpName: "deer-executor example compiler",
		Action:   generate.MakeCompileConfigFile,
		Usage:    "generate compiler settings file",
		Flags: []cli.Flag{
			&cli.StringFlag{
				Name:    "output",
				Aliases: []string{"out"},
				Value:   "",
				Usage:   "output config file",
			},
		},
	}, {
		Name:     "jit_memory",
		HelpName: "deer-executor example jit_memory",
		Action:   generate.MakeJITMemoryConfigFile,
		Usage:    "generate jit memory limitation settings file",
		Flags: []cli.Flag{
			&cli.StringFlag{
				Name:    "output",
				Aliases: []string{"out"},
				Value:   "",
				Usage:   "output config file",
			},
		},
	},
}
View Source
var AppPackageSubCommands = cli.Commands{
	{
		Name:      "build",
		HelpName:  "deer-executor package build",
		Usage:     "build problem package",
		ArgsUsage: "<configs_file> <output_file>",
		Flags:     PackProblemFlags,
		Action:    packmgr.BuildProblemPackage,
	},
	{
		Name:      "unpack",
		HelpName:  "deer-executor package unpack",
		Usage:     "unpack problem package",
		ArgsUsage: "<package_file> <output_dir>",
		Flags: []cli.Flag{
			&cli.BoolFlag{
				Name:  "no-validate",
				Value: false,
				Usage: "disable package validation",
			},
		},
		Action: packmgr.UnpackProblemPackage,
	},
	{
		Name:      "info",
		HelpName:  "deer-executor package info",
		Usage:     "show problem package info",
		ArgsUsage: "<package_file>",
		Flags: []cli.Flag{
			&cli.BoolFlag{
				Name:  "gpg",
				Value: false,
				Usage: "output GPG signature info",
			},
		},
		Action: packmgr.ReadProblemInfo,
	},
}
View Source
var AppProblemSubCommands = cli.Commands{
	{
		Name:      "build",
		HelpName:  "deer-executor problem build",
		Aliases:   []string{"b"},
		Usage:     "compile binary source codes",
		ArgsUsage: "<configs_file>",
		Flags: []cli.Flag{
			&cli.StringFlag{
				Name:    "library",
				Aliases: []string{"l"},
				Value:   "./lib",
				Usage:   "library root for special judge, contains \"testlib.h\" and \"bits/stdc++.h\" etc.",
			},
		},
		Action: packmgr.CompileProblemWorkDirSourceCodes,
	},
	{
		Name:      "validate",
		HelpName:  "deer-executor problem validate",
		Aliases:   []string{"v"},
		Usage:     "run validator cases and test case input",
		ArgsUsage: "<configs_file>",
		Flags: []cli.Flag{
			&cli.BoolFlag{
				Name:    "silence",
				Aliases: []string{"s"},
				Value:   false,
				Usage:   "silence mode",
			},
			&cli.StringFlag{
				Name:    "type",
				Aliases: []string{"t"},
				Value:   "all",
				Usage:   "module type: validator_cases|test_cases|all",
			},
			&cli.IntFlag{
				Name:    "case",
				Aliases: []string{"c"},
				Value:   -1,
				Usage:   "case index, -1 means all. when module type set 'all',it would't work.",
			},
		},
		Action: packmgr.RunTestlibValidators,
	},
	{
		Name:      "generate",
		HelpName:  "deer-executor problem generate",
		Aliases:   []string{"gen", "g"},
		Usage:     "generate test case's input/output",
		ArgsUsage: "<configs_file>",
		Flags: []cli.Flag{
			&cli.BoolFlag{
				Name:    "silence",
				Aliases: []string{"s"},
				Value:   false,
				Usage:   "silence mode",
			},
			&cli.BoolFlag{
				Name:  "with-answer",
				Usage: "generate answer",
			},
			&cli.UintFlag{
				Name:  "answer",
				Value: 0,
				Usage: "answer case index.",
			},
			&cli.IntFlag{
				Name:    "case",
				Aliases: []string{"c"},
				Value:   -1,
				Usage:   "case index, -1 means all. when module type set 'all',it would't work.",
			},
		},
		Action: packmgr.RunTestCaseGenerator,
	},
	{
		Name:      "checker",
		HelpName:  "deer-executor problem checker",
		Aliases:   []string{"c"},
		Usage:     "run checker cases",
		ArgsUsage: "<configs_file>",
		Flags: []cli.Flag{
			&cli.BoolFlag{
				Name:    "silence",
				Aliases: []string{"s"},
				Value:   false,
				Usage:   "silence mode",
			},
			&cli.UintFlag{
				Name:    "answer",
				Aliases: []string{"a"},
				Value:   0,
				Usage:   "answer case index.",
			},
			&cli.IntFlag{
				Name:    "case",
				Aliases: []string{"c"},
				Value:   -1,
				Usage:   "case index, -1 means all. when module type set 'all',it would't work.",
			},
		},
		Action: packmgr.RunCheckerCases,
	},
}
View Source
var PackProblemFlags = []cli.Flag{
	&cli.BoolFlag{
		Name:    "sign",
		Aliases: []string{"s"},
		Value:   false,
		Usage:   "Enable digital sign (GPG)",
	},
	&cli.StringFlag{
		Name:    "gpg-key",
		Aliases: []string{"key"},
		Value:   "",
		Usage:   "GPG private key file",
	},
	&cli.StringFlag{
		Name:    "passphrase",
		Aliases: []string{"p", "password", "pwd"},
		Value:   "",
		Usage:   "GPG private key passphrase",
	},
	&cli.BoolFlag{
		Name:    "zip",
		Aliases: []string{"z"},
		Value:   false,
		Usage:   "Package as a zip file",
	},
}
View Source
var RunFlags = []cli.Flag{
	&cli.BoolFlag{
		Name:  "no-clean",
		Value: false,
		Usage: "Don't delete session directory after judge",
	},
	&cli.StringFlag{
		Name:    "language",
		Aliases: []string{"l"},
		Value:   "auto",
		Usage:   "Code language name",
	},
	&cli.BoolFlag{
		Name:  "debug",
		Value: false,
		Usage: "Print debug log",
	},
	&cli.IntFlag{
		Name:  "benchmark",
		Value: 0,
		Usage: "Start benchmark",
	},
	&cli.StringFlag{
		Name:    "persistence",
		Aliases: []string{"p"},
		Value:   "",
		Usage:   "Persistent judge result to file (support: gzip, none)",
	},
	&cli.BoolFlag{
		Name:  "save-ac-data",
		Value: false,
		Usage: "Persistent an ACCEPTED test case's output data, will increase the file size",
	},
	&cli.StringFlag{
		Name:  "compress",
		Value: "gzip",
		Usage: "Persistent compressor type",
	},
	&cli.BoolFlag{
		Name:    "sign",
		Aliases: []string{"s"},
		Value:   false,
		Usage:   "Enable digital sign (GPG)",
	},
	&cli.BoolFlag{
		Name:  "detail",
		Value: false,
		Usage: "Show test-cases details",
	},
	&cli.StringFlag{
		Name:    "gpg-key",
		Aliases: []string{"key"},
		Value:   "",
		Usage:   "GPG private key file",
	},
	&cli.StringFlag{
		Name:    "passphrase",
		Aliases: []string{"password", "pwd"},
		Value:   "",
		Usage:   "GPG private key passphrase",
	},
	&cli.StringFlag{
		Name:    "work-dir",
		Aliases: []string{"w"},
		Value:   "",
		Usage:   "Working dir, using to unpack problem package",
	},
	&cli.StringFlag{
		Name:  "session-id",
		Value: "",
		Usage: "setup session id",
	},
	&cli.StringFlag{
		Name:  "session-root",
		Value: "",
		Usage: "setup session root dir",
	},
	&cli.StringFlag{
		Name:  "library",
		Value: "./lib",
		Usage: "library root for special judge, contains \"testlib.h\" and \"bits/stdc++.h\" etc.",
	},
	&cli.StringFlag{
		Name:  "log-level",
		Value: "",
		Usage: "set logs level (debug|info|warn|error)",
	},
	&cli.BoolFlag{
		Name:  "log",
		Value: false,
		Usage: "output logs to stdout",
	},
}

Functions

func Test

func Test(c *cli.Context) error

Types

type CliCommonMessage

type CliCommonMessage struct {
	// 是否错误
	Error bool `json:"error"`
	// 消息
	Message string `json:"message"`
	// 结果信息
	Data interface{} `json:"data"`
}

func NewCliCommonMessage

func NewCliCommonMessage(error bool, message string, data interface{}) CliCommonMessage

func NewClientErrorMessage

func NewClientErrorMessage(err error, data interface{}) CliCommonMessage

func NewClientSuccessMessage

func NewClientSuccessMessage(data interface{}) CliCommonMessage

func NewClientSuccessMessageText

func NewClientSuccessMessageText(message string) CliCommonMessage

func (CliCommonMessage) Print

func (ccm CliCommonMessage) Print(formated bool)

func (CliCommonMessage) ToJson

func (ccm CliCommonMessage) ToJson(formated bool) string

Directories

Path Synopsis
生成数据 数据校验
生成数据 数据校验

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL