All checks were successful
build / build (push) Successful in 2m18s
- basic generation of json files - supported parsers: - healthcheck - result-detail - result-status - file - log - dummy - keyword (keyword, clangtidy, cppcheck, cpplint) - diff - `convert` functions is mature, tested in engr151-24fa last two homeworks and engr151-24fa p3 - teapot and healthcheck should be up to date Co-authored-by: Boming Zhang <bomingzh@sjtu.edu.cn> Reviewed-on: #10 Reviewed-by: Boming Zhang <bomingzh@sjtu.edu.cn> Co-authored-by: jon-lee <jon-lee@sjtu.edu.cn> Co-committed-by: jon-lee <jon-lee@sjtu.edu.cn>
103 lines
3.9 KiB
TOML
103 lines
3.9 KiB
TOML
# general task configuration
|
|
task.name = "hw7 ex2" # task name
|
|
task.type = "homework/h7/e2" # remove this task type later
|
|
|
|
release.end_time = 2024-12-30 23:59:59+08:00
|
|
release.begin_time = 2024-12-29 23:59:59+08:00
|
|
|
|
[[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.force_quit = 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 = "4m"
|
|
|
|
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 = "8m"
|
|
|
|
parsers = [ "keyword", "cppcheck", "clangtidy", "result-detail", "cpplint", "result-status", "file", "dummy", "diff" ]
|
|
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 = "65m"
|
|
|
|
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"
|
|
command="./h7/build/ex2-asan -a"
|
|
files.import = [ "h7/build/ex2-asan" ]
|
|
limit.mem = "128m"
|
|
|
|
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 = "0.5s"
|
|
case0.limit.mem = "5m"
|
|
case0.diff.output.ignore_spaces = true
|
|
#case0.limit.stdout = 8
|
|
#case0.command = "./h7/build/ex2"
|
|
case0.in = "case0.in"
|
|
|
|
case1.diff.output.score = 5
|
|
case1.limit.cpu = "1s"
|
|
case1.limit.mem = "5m"
|
|
case1.diff.output.ignore_spaces = true
|
|
#case1.limit.stdout = 8
|
|
#case1.command = "./h7/build/ex2"
|
|
case1.in = "case1.in"
|