JOJ3-config-generator/tests/convert/basic/task.toml
李衍志523370910113 80b33324e5
Some checks failed
build / build (pull_request) Failing after 2s
build / build (push) Failing after 0s
feat: joj1 convert init
2025-02-15 11:40:21 +01:00

445 lines
12 KiB
TOML

# general task configuration
task.name = "hw7 ex2" # task name
task.type = "homework/h7/e2" # remove this task type later
release.deadline = 2024-12-30 23:59:59+08:00
release.stages = [ "compile" ]
[[stages]]
name = "Compilation"
command = "./tools/compile" # eg. script running cmake commands
files.import = [ "tools/compile" ]
files.export = [ "h7/build/ex2", "h7/build/ex2-asan", "h7/build/ex2-ubsan", "h7/build/ex2-msan", "h7/build/compile_commands.json" ]
score = 1
# compile parsers
parsers = [ "result-detail", "result-status" ]
result-status.comment = "Congratulations! Your code compiled successfully."
result-detail.exitstatus = true
result-detail.stderr = true
result-detail.time = false
result-detail.mem = false
result-status.forcequit = true
[[stages]]
name = "[cq] Filelength"
command = "./tools/filelength 400 300 *.cpp *.h"
files.import = [ "tools/filelength" ]
parsers = [ "keyword", "result-detail" ]
keyword.keyword = [ "max", "recommended"]
keyword.weight = [ 20, 10 ]
result-detail.exitstatus = true
result-detail.stdout = true
result-detail.time = false
result-detail.mem = false
[[stages]]
name = "[cq] Clang-tidy"
command = "run-clang-tidy-18 -header-filter=.* -quiet -load=/usr/local/lib/libcodequality.so -p h7/build h7/ex2.cpp"
files.import = [ "tests/homework/h7/.clang-tidy", "h7/build/compile_commands.json" ]
limit.stdout = 65
parsers = [ "clangtidy", "result-detail" ]
clangtidy.keyword = [ "codequality-unchecked-malloc-result", "codequality-no-global-variables", "codequality-no-header-guard", "codequality-no-fflush-stdin", "readability-function-size", "readability-duplicate-include", "readability-identifier-naming", "readability-redundant", "readability-misleading-indentation", "readability-misplaced-array-index", "cppcoreguidelines-init-variables", "bugprone-suspicious-string-compare", "google-global-names-in-headers", "clang-diagnostic", "clang-analyzer", "misc", "performance", "portability" ]
clangtidy.weight = [ 5, 20, 20, 20, 10, 5, 5, 5, 15, 5, 5, 5, 5, 5, 5, 5, 5, 5]
result-detail.exitstatus = true
result-detail.stdout = true
result-detail.time = false
result-detail.mem = false
[[stages]]
name = "[cq] Cppcheck"
command = "cppcheck --template='{\"file\":\"{file}\",\"line\":{line}, \"column\":{column}, \"severity\":\"{severity}\", \"message\":\"{message}\", \"id\":\"{id}\"}' --force --enable=all --suppress=missingIncludeSystem --quiet h7/ex2.cpp"
limit.stderr = 65
parsers = [ "cppcheck", "result-detail" ]
cppcheck.keyword = ["error", "warning", "portability", "performance", "style"]
cppcheck.weight = [15, 5, 5, 5, 5]
result-detail.exitstatus = true
result-detail.stderr = true
result-detail.time = false
result-detail.mem = false
[[stages]]
name = "[cq] Cpplint"
command = "cpplint --linelength=120 --filter=-legal,-readability/casting,-whitespace,-runtime/printf,-runtime/threadsafe_fn,-runtime/int,-readability/todo,-build/include_subdir,-build/header_guard,-build/include_what_you_use --recursive --exclude=build h7/ex2.cpp"
limit.stdout = 65
parsers = [ "cpplint", "result-detail" ]
cpplint.keyword = [ "runtime", "readability", "build" ]
cpplint.weight = [ 5, 20, 10]
result-detail.exitstatus = true
result-detail.stderr = true
result-detail.time = false
result-detail.mem = false
[[stages]]
name = "[joj] ex2-asan"
group = "run"
command="./h7/build/ex2-asan -a"
files.import = [ "h7/build/ex2-asan" ]
limit.mem = 91224961
parsers = [ "diff", "result-detail" ]
result-detail.exitstatus = true
result-detail.stderr = true
# will be removed as long as the name is fixed
case0.diff.output.score = 5
case0.limit.cpu = 1
case0.limit.mem = 91224961
case0.diff.output.ignorespaces = true
#case0.limit.stdout = 8
#case0.command = "./h7/build/ex2"
case0.in = "case0.in"
case1.diff.output.score = 5
case1.limit.cpu = 1
case1.limit.mem = 91224961
case1.diff.output.ignorespaces = true
#case1.limit.stdout = 8
#case1.command = "./h7/build/ex2"
case1.in = "case1.in"
case2.diff.output.score = 5
case2.limit.cpu = 1
case2.limit.mem = 91224961
case2.diff.output.ignorespaces = true
#case2.limit.stdout = 8
#case2.command = "./h7/build/ex2"
case2.in = "case2.in"
case3.diff.output.score = 5
case3.limit.cpu = 1
case3.limit.mem = 91224961
case3.diff.output.ignorespaces = true
#case3.limit.stdout = 8
#case3.command = "./h7/build/ex2"
case3.in = "case3.in"
case4.diff.output.score = 10
case4.limit.cpu = 1
case4.limit.mem = 91224961
case4.diff.output.ignorespaces = true
#case4.limit.stdout = 8
#case4.command = "./h7/build/ex2"
case4.in = "case4.in"
case5.diff.output.score = 10
case5.limit.cpu = 1
case5.limit.mem = 91224961
case5.diff.output.ignorespaces = true
#case5.limit.stdout = 8
#case5.command = "./h7/build/ex2"
case5.in = "case5.in"
case6.diff.output.score = 15
case6.limit.cpu = 1
case6.limit.mem = 91224961
case6.diff.output.ignorespaces = true
#case6.limit.stdout = 8
#case6.command = "./h7/build/ex2"
case6.in = "case6.in"
case7.diff.output.score = 15
case7.limit.cpu = 1
case7.limit.mem = 91224961
case7.diff.output.ignorespaces = true
#case7.limit.stdout = 8
#case7.command = "./h7/build/ex2"
case7.in = "case7.in"
case8.diff.output.score = 15
case8.limit.cpu = 1
case8.limit.mem = 91224961
case8.diff.output.ignorespaces = true
#case8.limit.stdout = 8
#case8.command = "./h7/build/ex2"
case8.in = "case8.in"
case9.diff.output.score = 15
case9.limit.cpu = 1
case9.limit.mem = 91224961
case9.diff.output.ignorespaces = true
#case9.limit.stdout = 8
#case9.command = "./h7/build/ex2"
case9.in = "case9.in"
[[stages]]
name = "[joj] ex2-msan"
group = "joj"
command="./h7/build/ex2-msan -a"
files.import = [ "h7/build/ex2-msan" ]
limit.mem = 91224961
parsers = [ "diff", "result-detail" ]
result-detail.exitstatus = true
result-detail.stderr = true
# will be removed as long as the name is fixed
case0.diff.output.score = 5
case0.limit.cpu = 1
case0.limit.mem = 91224961
case0.diff.output.ignorespaces = true
#case0.limit.stdout = 8
#case0.command = "./h7/build/ex2"
case0.in = "case0.in"
case1.diff.output.score = 5
case1.limit.cpu = 1
case1.limit.mem = 91224961
case1.diff.output.ignorespaces = true
#case1.limit.stdout = 8
#case1.command = "./h7/build/ex2"
case1.in = "case1.in"
case2.diff.output.score = 5
case2.limit.cpu = 1
case2.limit.mem = 91224961
case2.diff.output.ignorespaces = true
#case2.limit.stdout = 8
#case2.command = "./h7/build/ex2"
case2.in = "case2.in"
case3.diff.output.score = 5
case3.limit.cpu = 1
case3.limit.mem = 91224961
case3.diff.output.ignorespaces = true
#case3.limit.stdout = 8
#case3.command = "./h7/build/ex2"
case3.in = "case3.in"
case4.diff.output.score = 10
case4.limit.cpu = 1
case4.limit.mem = 91224961
case4.diff.output.ignorespaces = true
#case4.limit.stdout = 8
#case4.command = "./h7/build/ex2"
case4.in = "case4.in"
case5.diff.output.score = 10
case5.limit.cpu = 1
case5.limit.mem = 91224961
case5.diff.output.ignorespaces = true
#case5.limit.stdout = 8
#case5.command = "./h7/build/ex2"
case5.in = "case5.in"
case6.diff.output.score = 15
case6.limit.cpu = 1
case6.limit.mem = 91224961
case6.diff.output.ignorespaces = true
#case6.limit.stdout = 8
#case6.command = "./h7/build/ex2"
case6.in = "case6.in"
case7.diff.output.score = 15
case7.limit.cpu = 1
case7.limit.mem = 91224961
case7.diff.output.ignorespaces = true
#case7.limit.stdout = 8
#case7.command = "./h7/build/ex2"
case7.in = "case7.in"
case8.diff.output.score = 15
case8.limit.cpu = 1
case8.limit.mem = 91224961
case8.diff.output.ignorespaces = true
#case8.limit.stdout = 8
#case8.command = "./h7/build/ex2"
case8.in = "case8.in"
case9.diff.output.score = 15
case9.limit.cpu = 1
case9.limit.mem = 91224961
case9.diff.output.ignorespaces = true
#case9.limit.stdout = 8
#case9.command = "./h7/build/ex2"
case9.in = "case9.in"
[[stages]]
name = "[joj] ex2-ubsan"
command="./h7/build/ex2-ubsan -a"
files.import = [ "h7/build/ex2-ubsan" ]
parsers = [ "diff", "result-detail" ]
result-detail.exitstatus = true
result-detail.stderr = true
# will be removed as long as the name is fixed
case0.diff.output.score = 5
case0.limit.cpu = 1
case0.limit.mem = 91224961
case0.diff.output.ignorespaces = true
#case0.limit.stdout = 8
#case0.command = "./h7/build/ex2"
case0.in = "case0.in"
case1.diff.output.score = 5
case1.limit.cpu = 1
case1.limit.mem = 91224961
case1.diff.output.ignorespaces = true
#case1.limit.stdout = 8
#case1.command = "./h7/build/ex2"
case1.in = "case1.in"
case2.diff.output.score = 5
case2.limit.cpu = 1
case2.limit.mem = 91224961
case2.diff.output.ignorespaces = true
#case2.limit.stdout = 8
#case2.command = "./h7/build/ex2"
case2.in = "case2.in"
case3.diff.output.score = 5
case3.limit.cpu = 1
case3.limit.mem = 91224961
case3.diff.output.ignorespaces = true
#case3.limit.stdout = 8
#case3.command = "./h7/build/ex2"
case3.in = "case3.in"
case4.diff.output.score = 10
case4.limit.cpu = 1
case4.limit.mem = 91224961
case4.diff.output.ignorespaces = true
#case4.limit.stdout = 8
#case4.command = "./h7/build/ex2"
case4.in = "case4.in"
case5.diff.output.score = 10
case5.limit.cpu = 1
case5.limit.mem = 91224961
case5.diff.output.ignorespaces = true
#case5.limit.stdout = 8
#case5.command = "./h7/build/ex2"
case5.in = "case5.in"
case6.diff.output.score = 15
case6.limit.cpu = 1
case6.limit.mem = 91224961
case6.diff.output.ignorespaces = true
#case6.limit.stdout = 8
#case6.command = "./h7/build/ex2"
case6.in = "case6.in"
case7.diff.output.score = 15
case7.limit.cpu = 1
case7.limit.mem = 91224961
case7.diff.output.ignorespaces = true
#case7.limit.stdout = 8
#case7.command = "./h7/build/ex2"
case7.in = "case7.in"
case8.diff.output.score = 15
case8.limit.cpu = 1
case8.limit.mem = 91224961
case8.diff.output.ignorespaces = true
#case8.limit.stdout = 8
#case8.command = "./h7/build/ex2"
case8.in = "case8.in"
case9.diff.output.score = 15
case9.limit.cpu = 1
case9.limit.mem = 91224961
case9.diff.output.ignorespaces = true
#case9.limit.stdout = 8
#case9.command = "./h7/build/ex2"
case9.in = "case9.in"
[[stages]]
name = "[joj] ex2"
group = "joj"
command="./h7/build/ex2"
files.import = [ "h7/build/ex2" ]
score = 10
parsers = [ "diff", "result-detail" ]
result-detail.exitstatus = true
result-detail.stderr = true
result-status.forcequit = true
# will be removed as long as the name is fixed
case0.diff.output.score = 5
case0.limit.cpu = 1
case0.limit.mem = 91224961
case0.diff.output.ignorespaces = true
#case0.limit.stdout = 8
#case0.command = "./h7/build/ex2"
case0.in = "case0.in"
case1.diff.output.score = 5
case1.limit.cpu = 1
case1.limit.mem = 91224961
case1.diff.output.ignorespaces = true
#case1.limit.stdout = 8
#case1.command = "./h7/build/ex2"
case1.in = "case1.in"
case2.diff.output.score = 5
case2.limit.cpu = 1
case2.limit.mem = 91224961
case2.diff.output.ignorespaces = true
#case2.limit.stdout = 8
#case2.command = "./h7/build/ex2"
case2.in = "case2.in"
case3.diff.output.score = 5
case3.limit.cpu = 1
case3.limit.mem = 91224961
case3.diff.output.ignorespaces = true
#case3.limit.stdout = 8
#case3.command = "./h7/build/ex2"
case3.in = "case3.in"
case4.diff.output.score = 10
case4.limit.cpu = 1
case4.limit.mem = 91224961
case4.diff.output.ignorespaces = true
#case4.limit.stdout = 8
#case4.command = "./h7/build/ex2"
case4.in = "case4.in"
case5.diff.output.score = 10
case5.limit.cpu = 1
case5.limit.mem = 91224961
case5.diff.output.ignorespaces = true
#case5.limit.stdout = 8
#case5.command = "./h7/build/ex2"
case5.in = "case5.in"
case6.diff.output.score = 15
case6.limit.cpu = 1
case6.limit.mem = 91224961
case6.diff.output.ignorespaces = true
#case6.limit.stdout = 8
#case6.command = "./h7/build/ex2"
case6.in = "case6.in"
case7.diff.output.score = 15
case7.limit.cpu = 1
case7.limit.mem = 91224961
case7.diff.output.ignorespaces = true
#case7.limit.stdout = 8
#case7.command = "./h7/build/ex2"
case7.in = "case7.in"
case8.diff.output.score = 15
case8.limit.cpu = 1
case8.limit.mem = 91224961
case8.diff.output.ignorespaces = true
#case8.limit.stdout = 8
#case8.command = "./h7/build/ex2"
case8.in = "case8.in"
case9.diff.output.score = 15
case9.limit.cpu = 1
case9.limit.mem = 91224961
case9.diff.output.ignorespaces = true
#case9.limit.stdout = 8
#case9.command = "./h7/build/ex2"
case9.in = "case9.in"