From 540937c9497667c47cce79b850d7795e11f492e3 Mon Sep 17 00:00:00 2001 From: Boming Zhang Date: Tue, 5 Mar 2024 05:38:49 -0500 Subject: [PATCH] chore: more examples --- .drone.yml | 3 +- README.md | 8 +-- _example/compile_error/conf.toml | 60 +++++++++++++++++++++++ _example/{simple => compile_error}/run.sh | 0 _example/{simple => success}/.gitignore | 0 _example/{simple => success}/a.cc | 0 _example/{simple => success}/cases/1.in | 0 _example/{simple => success}/cases/1.out | 0 _example/{simple => success}/cases/2.in | 0 _example/{simple => success}/cases/2.out | 0 _example/{simple => success}/conf.toml | 0 _example/success/run.sh | 10 ++++ 12 files changed, 76 insertions(+), 5 deletions(-) create mode 100644 _example/compile_error/conf.toml rename _example/{simple => compile_error}/run.sh (100%) rename _example/{simple => success}/.gitignore (100%) rename _example/{simple => success}/a.cc (100%) rename _example/{simple => success}/cases/1.in (100%) rename _example/{simple => success}/cases/1.out (100%) rename _example/{simple => success}/cases/2.in (100%) rename _example/{simple => success}/cases/2.out (100%) rename _example/{simple => success}/conf.toml (100%) create mode 100755 _example/success/run.sh diff --git a/.drone.yml b/.drone.yml index 7344322..d821271 100644 --- a/.drone.yml +++ b/.drone.yml @@ -14,5 +14,6 @@ steps: - export PATH=$PATH:/usr/local/go/bin - go env -w GOPROXY=https://goproxy.cn,direct - make - - ./_example/simple/run.sh + - ./_example/success/run.sh + - ./_example/compile_error/run.sh - cp build/joj3 /home/drone/.local/bin/joj3 diff --git a/README.md b/README.md index 7c93ecc..83437a0 100644 --- a/README.md +++ b/README.md @@ -5,13 +5,13 @@ In order to register sandbox executor, you need to run go-judge before running this program. ```bash -$ make clean && make && ./_example/simple/run.sh +$ make clean && make && ./_example/success/run.sh rm -rf ./build/* rm -rf *.out go build -o ./build/joj3 ./cmd/joj3 -++ dirname -- ./_example/simple/run.sh -+ DIRNAME=./_example/simple -+ cd ./_example/simple +++ dirname -- ./_example/success/run.sh ++ DIRNAME=./_example/success ++ cd ./_example/success + ./../../build/joj3 + cat ./joj3_result.json [{"Name":"compile","Results":[{"Score":100,"Comment":"compile done, executor status: run time: 265269232 ns, memory: 57790464 bytes"}]},{"Name":"run","Results":[{"Score":100,"Comment":"executor status: run time: 2033735 ns, memory: 13225984 bytes"},{"Score":100,"Comment":"executor status: run time: 3117399 ns, memory: 14548992 bytes"}]}] diff --git a/_example/compile_error/conf.toml b/_example/compile_error/conf.toml new file mode 100644 index 0000000..4d37141 --- /dev/null +++ b/_example/compile_error/conf.toml @@ -0,0 +1,60 @@ +logLevel = 0 +[[stages]] +name = "compile" +[stages.executor] +name = "sandbox" +[stages.executor.with.default] +args = ["g++", "b.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/_example/simple/run.sh b/_example/compile_error/run.sh similarity index 100% rename from _example/simple/run.sh rename to _example/compile_error/run.sh diff --git a/_example/simple/.gitignore b/_example/success/.gitignore similarity index 100% rename from _example/simple/.gitignore rename to _example/success/.gitignore diff --git a/_example/simple/a.cc b/_example/success/a.cc similarity index 100% rename from _example/simple/a.cc rename to _example/success/a.cc diff --git a/_example/simple/cases/1.in b/_example/success/cases/1.in similarity index 100% rename from _example/simple/cases/1.in rename to _example/success/cases/1.in diff --git a/_example/simple/cases/1.out b/_example/success/cases/1.out similarity index 100% rename from _example/simple/cases/1.out rename to _example/success/cases/1.out diff --git a/_example/simple/cases/2.in b/_example/success/cases/2.in similarity index 100% rename from _example/simple/cases/2.in rename to _example/success/cases/2.in diff --git a/_example/simple/cases/2.out b/_example/success/cases/2.out similarity index 100% rename from _example/simple/cases/2.out rename to _example/success/cases/2.out diff --git a/_example/simple/conf.toml b/_example/success/conf.toml similarity index 100% rename from _example/simple/conf.toml rename to _example/success/conf.toml diff --git a/_example/success/run.sh b/_example/success/run.sh new file mode 100755 index 0000000..9088452 --- /dev/null +++ b/_example/success/run.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +set -xe +DIRNAME=`dirname -- "$0"` +# cd to make CopyInCwd work +cd $DIRNAME +./../../build/joj3 +cat ./joj3_result.json +rm -f ./joj3_result.json +cd -