From 21f6df70d483f34a99b50335e0a1fbe50d3a82dd Mon Sep 17 00:00:00 2001 From: Boming Zhang Date: Wed, 3 Apr 2024 18:27:07 -0400 Subject: [PATCH] feat: init --- a.cc | 6 +++++ cases/1.in | 1 + cases/1.out | 1 + cases/2.in | 1 + cases/2.out | 1 + conf.toml | 60 +++++++++++++++++++++++++++++++++++++++++++++ expected_regex.json | 1 + 7 files changed, 71 insertions(+) create mode 100644 a.cc create mode 100644 cases/1.in create mode 100644 cases/1.out create mode 100644 cases/2.in create mode 100644 cases/2.out create mode 100644 conf.toml create mode 100644 expected_regex.json diff --git a/a.cc b/a.cc new file mode 100644 index 0000000..2c7ca74 --- /dev/null +++ b/a.cc @@ -0,0 +1,6 @@ +#include +int main() { + int a, b; + std::cin >> a >> b; + std::cout << a + b << '\n'; +} diff --git a/cases/1.in b/cases/1.in new file mode 100644 index 0000000..2fb73a0 --- /dev/null +++ b/cases/1.in @@ -0,0 +1 @@ +1 1 diff --git a/cases/1.out b/cases/1.out new file mode 100644 index 0000000..0cfbf08 --- /dev/null +++ b/cases/1.out @@ -0,0 +1 @@ +2 diff --git a/cases/2.in b/cases/2.in new file mode 100644 index 0000000..b5f1e36 --- /dev/null +++ b/cases/2.in @@ -0,0 +1 @@ +1024 2048 diff --git a/cases/2.out b/cases/2.out new file mode 100644 index 0000000..5fd86fd --- /dev/null +++ b/cases/2.out @@ -0,0 +1 @@ +3072 diff --git a/conf.toml b/conf.toml new file mode 100644 index 0000000..e91739a --- /dev/null +++ b/conf.toml @@ -0,0 +1,60 @@ +skipGitea = true +[[stages]] +name = "compile" +[stages.executor] +name = "sandbox" +[stages.executor.with.default] +args = ["g++", "a.cc", "-o", "a"] +env = ["PATH=/usr/bin:/bin"] +cpuLimit = 10_000_000_000 +memoryLimit = 104_857_600 +procLimit = 50 +copyInCwd = true +copyOut = ["stdout", "stderr"] +copyOutCached = ["a"] +[stages.executor.with.default.stdin] +content = "" +[stages.executor.with.default.stdout] +name = "stdout" +max = 4_096 +[stages.executor.with.default.stderr] +name = "stderr" +max = 4_096 +[stages.parser] +name = "result-status" +[stages.parser.with] +score = 100 +comment = "compile done" +[[stages]] +name = "run" +[stages.executor] +name = "sandbox" +[stages.executor.with.default] +args = ["./a"] +env = ["PATH=/usr/bin:/bin"] +cpuLimit = 1_000_000_000 +memoryLimit = 104_857_600 +procLimit = 50 +copyOut = ["stdout", "stderr"] +[stages.executor.with.default.stdout] +name = "stdout" +max = 4_096 +[stages.executor.with.default.stderr] +name = "stderr" +max = 4_096 +[stages.executor.with.default.copyInCached] +a = "a" +[[stages.executor.with.cases]] +[stages.executor.with.cases.stdin] +src = "./cases/1.in" +[[stages.executor.with.cases]] +[stages.executor.with.cases.stdin] +src = "./cases/2.in" +[stages.parser] +name = "diff" +[[stages.parser.with.cases]] +score = 100 +stdoutPath = "./cases/1.out" +[[stages.parser.with.cases]] +score = 100 +stdoutPath = "./cases/2.out" diff --git a/expected_regex.json b/expected_regex.json new file mode 100644 index 0000000..58d47b2 --- /dev/null +++ b/expected_regex.json @@ -0,0 +1 @@ +[{"name":"compile","results":[{"score":0,"comment":""}]},{"name":"run","results":[{"score":100,"comment":"executor status: run time: \\d+ ns, memory: \\d+ bytes"},{"score":100,"comment":"executor status: run time: \\d+ ns, memory: \\d+ bytes"}]}]