From 6e182a81b9d3296ccdb432b80989e883143a51a9 Mon Sep 17 00:00:00 2001 From: Nuvole Date: Wed, 13 Nov 2024 17:33:59 +0800 Subject: [PATCH] feat: command for cases --- tests/convert/basic/task.json | 596 +++++++++++++++++++++++++--------- tests/convert/basic/task.toml | 47 ++- 2 files changed, 491 insertions(+), 152 deletions(-) diff --git a/tests/convert/basic/task.json b/tests/convert/basic/task.json index 6c1535e..b484b7d 100644 --- a/tests/convert/basic/task.json +++ b/tests/convert/basic/task.json @@ -1,6 +1,6 @@ { - "name": "hw 6 ex6", - "logPath": "/home/tt/.cache/joj3/tests/homework/h6/e6.log", + "name": "hw 6 ex3", + "logPath": "/home/tt/.cache/joj3/tests/homework/h6/e3.log", "expireUnixTimestamp": 1731686399, "stage": { "sandboxExecServer": "172.17.0.1:5051", @@ -28,23 +28,23 @@ "stdin": { "content": "", "max": 419430400, - "streamIn": false, - "streamOut": false, - "pipe": false + "streamIn": true, + "streamOut": true, + "pipe": true }, "stdout": { "name": "stdout", "max": 4096, - "streamIn": false, - "streamOut": false, - "pipe": false + "streamIn": true, + "streamOut": true, + "pipe": true }, "stderr": { "name": "stderr", "max": 4096, - "streamIn": false, - "streamOut": false, - "pipe": false + "streamIn": true, + "streamOut": true, + "pipe": true }, "cpuLimit": 4000000000000, "realCpuLimit": 0, @@ -58,9 +58,9 @@ "/tmp/repo-health-checker": { "src": "/usr/local/bin/repo-health-checker", "max": 419430400, - "streamIn": false, - "streamOut": false, - "pipe": false + "streamIn": true, + "streamOut": true, + "pipe": true } }, "copyInCached": {}, @@ -102,23 +102,23 @@ "stdin": { "content": "", "max": 419430400, - "streamIn": false, - "streamOut": false, - "pipe": false + "streamIn": true, + "streamOut": true, + "pipe": true }, "stdout": { "name": "stdout", "max": 800000000000000, - "streamIn": false, - "streamOut": false, - "pipe": false + "streamIn": true, + "streamOut": true, + "pipe": true }, "stderr": { "name": "stderr", "max": 800000000000000, - "streamIn": false, - "streamOut": false, - "pipe": false + "streamIn": true, + "streamOut": true, + "pipe": true }, "cpuLimit": 1000000000000000, "realCpuLimit": 0, @@ -132,9 +132,9 @@ "tools/compile": { "src": "/home/tt/.config/joj/tools/compile", "max": 419430400, - "streamIn": false, - "streamOut": false, - "pipe": false + "streamIn": true, + "streamOut": true, + "pipe": true } }, "copyInCached": {}, @@ -144,7 +144,10 @@ "stderr" ], "copyOutCached": [ - "h6/build/ex6", + "h6/build/ex3", + "build/asan", + "build/ubsan", + "build/msan", "h6/build/compile_commands.json" ], "copyOutMax": 0, @@ -208,23 +211,23 @@ "stdin": { "content": "", "max": 419430400, - "streamIn": false, - "streamOut": false, - "pipe": false + "streamIn": true, + "streamOut": true, + "pipe": true }, "stdout": { "name": "stdout", "max": 800000000000000, - "streamIn": false, - "streamOut": false, - "pipe": false + "streamIn": true, + "streamOut": true, + "pipe": true }, "stderr": { "name": "stderr", "max": 800000000000000, - "streamIn": false, - "streamOut": false, - "pipe": false + "streamIn": true, + "streamOut": true, + "pipe": true }, "cpuLimit": 1000000000000000, "realCpuLimit": 0, @@ -238,13 +241,16 @@ "tools/filelength": { "src": "/home/tt/.config/joj/tools/filelength", "max": 419430400, - "streamIn": false, - "streamOut": false, - "pipe": false + "streamIn": true, + "streamOut": true, + "pipe": true } }, "copyInCached": { - "h6/build/ex6": "h6/build/ex6", + "h6/build/ex3": "h6/build/ex3", + "build/asan": "build/asan", + "build/ubsan": "build/ubsan", + "build/msan": "build/msan", "h6/build/compile_commands.json": "h6/build/compile_commands.json" }, "copyInDir": ".", @@ -326,23 +332,23 @@ "stdin": { "content": "", "max": 419430400, - "streamIn": false, - "streamOut": false, - "pipe": false + "streamIn": true, + "streamOut": true, + "pipe": true }, "stdout": { "name": "stdout", "max": 65000000000000, - "streamIn": false, - "streamOut": false, - "pipe": false + "streamIn": true, + "streamOut": true, + "pipe": true }, "stderr": { "name": "stderr", "max": 800000000000000, - "streamIn": false, - "streamOut": false, - "pipe": false + "streamIn": true, + "streamOut": true, + "pipe": true }, "cpuLimit": 1000000000000000, "realCpuLimit": 0, @@ -356,13 +362,16 @@ "projects/p2/.clang-tidy": { "src": "/home/tt/.config/joj/projects/p2/.clang-tidy", "max": 419430400, - "streamIn": false, - "streamOut": false, - "pipe": false + "streamIn": true, + "streamOut": true, + "pipe": true } }, "copyInCached": { - "h6/build/ex6": "h6/build/ex6", + "h6/build/ex3": "h6/build/ex3", + "build/asan": "build/asan", + "build/ubsan": "build/ubsan", + "build/msan": "build/msan", "h6/build/compile_commands.json": "h6/build/compile_commands.json" }, "copyInDir": ".", @@ -471,23 +480,23 @@ "stdin": { "content": "", "max": 419430400, - "streamIn": false, - "streamOut": false, - "pipe": false + "streamIn": true, + "streamOut": true, + "pipe": true }, "stdout": { "name": "stdout", "max": 800000000000000, - "streamIn": false, - "streamOut": false, - "pipe": false + "streamIn": true, + "streamOut": true, + "pipe": true }, "stderr": { "name": "stderr", "max": 65000000000000, - "streamIn": false, - "streamOut": false, - "pipe": false + "streamIn": true, + "streamOut": true, + "pipe": true }, "cpuLimit": 1000000000000000, "realCpuLimit": 0, @@ -499,7 +508,10 @@ "cpuSetLimit": "", "copyIn": {}, "copyInCached": { - "h6/build/ex6": "h6/build/ex6", + "h6/build/ex3": "h6/build/ex3", + "build/asan": "build/asan", + "build/ubsan": "build/ubsan", + "build/msan": "build/msan", "h6/build/compile_commands.json": "h6/build/compile_commands.json" }, "copyInDir": ".", @@ -584,23 +596,23 @@ "stdin": { "content": "", "max": 419430400, - "streamIn": false, - "streamOut": false, - "pipe": false + "streamIn": true, + "streamOut": true, + "pipe": true }, "stdout": { "name": "stdout", "max": 65000000000000, - "streamIn": false, - "streamOut": false, - "pipe": false + "streamIn": true, + "streamOut": true, + "pipe": true }, "stderr": { "name": "stderr", "max": 800000000000000, - "streamIn": false, - "streamOut": false, - "pipe": false + "streamIn": true, + "streamOut": true, + "pipe": true }, "cpuLimit": 1000000000000000, "realCpuLimit": 0, @@ -612,7 +624,10 @@ "cpuSetLimit": "", "copyIn": {}, "copyInCached": { - "h6/build/ex6": "h6/build/ex6", + "h6/build/ex3": "h6/build/ex3", + "build/asan": "build/asan", + "build/ubsan": "build/ubsan", + "build/msan": "build/msan", "h6/build/compile_commands.json": "h6/build/compile_commands.json" }, "copyInDir": ".", @@ -684,13 +699,14 @@ ] }, { - "name": "[joj] ex6", + "name": "[run] address sanitizer", "executor": { "name": "sandbox", "with": { "default": { "args": [ - "./h6/build/ex6" + "./build/asan", + "-a" ], "env": [ "PATH=/usr/bin:/bin:/usr/local/bin" @@ -698,23 +714,23 @@ "stdin": { "content": "", "max": 419430400, - "streamIn": false, - "streamOut": false, - "pipe": false + "streamIn": true, + "streamOut": true, + "pipe": true }, "stdout": { "name": "stdout", "max": 800000000000000, - "streamIn": false, - "streamOut": false, - "pipe": false + "streamIn": true, + "streamOut": true, + "pipe": true }, "stderr": { "name": "stderr", "max": 800000000000000, - "streamIn": false, - "streamOut": false, - "pipe": false + "streamIn": true, + "streamOut": true, + "pipe": true }, "cpuLimit": 1000000000000000, "realCpuLimit": 0, @@ -726,7 +742,295 @@ "cpuSetLimit": "", "copyIn": {}, "copyInCached": { - "h6/build/ex6": "h6/build/ex6", + "h6/build/ex3": "h6/build/ex3", + "build/asan": "build/asan", + "build/ubsan": "build/ubsan", + "build/msan": "build/msan", + "h6/build/compile_commands.json": "h6/build/compile_commands.json" + }, + "copyInDir": ".", + "copyOut": [ + "stdout", + "stderr" + ], + "copyOutCached": [], + "copyOutMax": 0, + "copyOutDir": "", + "tty": false, + "strictMemoryLimit": false, + "dataSegmentLimit": false, + "addressSpaceLimit": false + }, + "cases": [] + } + }, + "parsers": [ + { + "name": "result-status", + "with": { + "score": 1, + "comment": "", + "forceQuitOnNotAccepted": false + } + }, + { + "name": "result-detail", + "with": { + "score": 0, + "comment": "", + "showFiles": [ + "stderr" + ], + "showExitStatus": true, + "showRuntime": true, + "showMemory": true + } + } + ] + }, + { + "name": "[run] memory sanitizer", + "executor": { + "name": "sandbox", + "with": { + "default": { + "args": [ + "./h6/build/msan", + "-a" + ], + "env": [ + "PATH=/usr/bin:/bin:/usr/local/bin" + ], + "stdin": { + "content": "", + "max": 419430400, + "streamIn": true, + "streamOut": true, + "pipe": true + }, + "stdout": { + "name": "stdout", + "max": 800000000000000, + "streamIn": true, + "streamOut": true, + "pipe": true + }, + "stderr": { + "name": "stderr", + "max": 800000000000000, + "streamIn": true, + "streamOut": true, + "pipe": true + }, + "cpuLimit": 1000000000000000, + "realCpuLimit": 0, + "clockLimit": 2000000000000000, + "memoryLimit": 838860800, + "stackLimit": 0, + "procLimit": 50, + "cpuRateLimit": 0, + "cpuSetLimit": "", + "copyIn": { + "h6/build/msan": { + "src": "/home/tt/.config/joj/h6/build/msan", + "max": 419430400, + "streamIn": true, + "streamOut": true, + "pipe": true + } + }, + "copyInCached": { + "h6/build/ex3": "h6/build/ex3", + "build/asan": "build/asan", + "build/ubsan": "build/ubsan", + "build/msan": "build/msan", + "h6/build/compile_commands.json": "h6/build/compile_commands.json" + }, + "copyInDir": ".", + "copyOut": [ + "stdout", + "stderr" + ], + "copyOutCached": [], + "copyOutMax": 0, + "copyOutDir": "", + "tty": false, + "strictMemoryLimit": false, + "dataSegmentLimit": false, + "addressSpaceLimit": false + }, + "cases": [] + } + }, + "parsers": [ + { + "name": "result-status", + "with": { + "score": 1, + "comment": "", + "forceQuitOnNotAccepted": false + } + }, + { + "name": "result-detail", + "with": { + "score": 0, + "comment": "", + "showFiles": [ + "stderr" + ], + "showExitStatus": true, + "showRuntime": true, + "showMemory": true + } + } + ] + }, + { + "name": "[run] undefined behavior sanitizer", + "executor": { + "name": "sandbox", + "with": { + "default": { + "args": [ + "./h6/build/ubsan", + "-a" + ], + "env": [ + "PATH=/usr/bin:/bin:/usr/local/bin" + ], + "stdin": { + "content": "", + "max": 419430400, + "streamIn": true, + "streamOut": true, + "pipe": true + }, + "stdout": { + "name": "stdout", + "max": 800000000000000, + "streamIn": true, + "streamOut": true, + "pipe": true + }, + "stderr": { + "name": "stderr", + "max": 800000000000000, + "streamIn": true, + "streamOut": true, + "pipe": true + }, + "cpuLimit": 1000000000000000, + "realCpuLimit": 0, + "clockLimit": 2000000000000000, + "memoryLimit": 838860800, + "stackLimit": 0, + "procLimit": 50, + "cpuRateLimit": 0, + "cpuSetLimit": "", + "copyIn": { + "h6/build/ubsan": { + "src": "/home/tt/.config/joj/h6/build/ubsan", + "max": 419430400, + "streamIn": true, + "streamOut": true, + "pipe": true + } + }, + "copyInCached": { + "h6/build/ex3": "h6/build/ex3", + "build/asan": "build/asan", + "build/ubsan": "build/ubsan", + "build/msan": "build/msan", + "h6/build/compile_commands.json": "h6/build/compile_commands.json" + }, + "copyInDir": ".", + "copyOut": [ + "stdout", + "stderr" + ], + "copyOutCached": [], + "copyOutMax": 0, + "copyOutDir": "", + "tty": false, + "strictMemoryLimit": false, + "dataSegmentLimit": false, + "addressSpaceLimit": false + }, + "cases": [] + } + }, + "parsers": [ + { + "name": "result-status", + "with": { + "score": 1, + "comment": "", + "forceQuitOnNotAccepted": false + } + }, + { + "name": "result-detail", + "with": { + "score": 0, + "comment": "", + "showFiles": [ + "stderr" + ], + "showExitStatus": true, + "showRuntime": true, + "showMemory": true + } + } + ] + }, + { + "name": "[joj] ex3", + "executor": { + "name": "sandbox", + "with": { + "default": { + "args": [ + "./h6/build/ex3" + ], + "env": [ + "PATH=/usr/bin:/bin:/usr/local/bin" + ], + "stdin": { + "content": "", + "max": 419430400, + "streamIn": true, + "streamOut": true, + "pipe": true + }, + "stdout": { + "name": "stdout", + "max": 800000000000000, + "streamIn": true, + "streamOut": true, + "pipe": true + }, + "stderr": { + "name": "stderr", + "max": 800000000000000, + "streamIn": true, + "streamOut": true, + "pipe": true + }, + "cpuLimit": 1000000000000000, + "realCpuLimit": 0, + "clockLimit": 2000000000000000, + "memoryLimit": 838860800, + "stackLimit": 0, + "procLimit": 50, + "cpuRateLimit": 0, + "cpuSetLimit": "", + "copyIn": {}, + "copyInCached": { + "h6/build/ex3": "h6/build/ex3", + "build/asan": "build/asan", + "build/ubsan": "build/ubsan", + "build/msan": "build/msan", "h6/build/compile_commands.json": "h6/build/compile_commands.json" }, "copyInDir": ".", @@ -748,11 +1052,11 @@ "PATH=/usr/bin:/bin:/usr/local/bin" ], "stdin": { - "src": "/home/tt/.config/joj/tests/homework/h6/e6/case0.in", + "src": "/home/tt/.config/joj/tests/homework/h6/e3/case0.in", "max": 419430400, - "streamIn": false, - "streamOut": false, - "pipe": false + "streamIn": true, + "streamOut": true, + "pipe": true }, "cpuLimit": 30000000000, "clockLimit": 60000000000, @@ -764,11 +1068,11 @@ "PATH=/usr/bin:/bin:/usr/local/bin" ], "stdin": { - "src": "/home/tt/.config/joj/tests/homework/h6/e6/case1.in", + "src": "/home/tt/.config/joj/tests/homework/h6/e3/case1.in", "max": 419430400, - "streamIn": false, - "streamOut": false, - "pipe": false + "streamIn": true, + "streamOut": true, + "pipe": true }, "cpuLimit": 30000000000, "clockLimit": 60000000000, @@ -780,11 +1084,11 @@ "PATH=/usr/bin:/bin:/usr/local/bin" ], "stdin": { - "src": "/home/tt/.config/joj/tests/homework/h6/e6/case2.in", + "src": "/home/tt/.config/joj/tests/homework/h6/e3/case2.in", "max": 419430400, - "streamIn": false, - "streamOut": false, - "pipe": false + "streamIn": true, + "streamOut": true, + "pipe": true }, "cpuLimit": 30000000000, "clockLimit": 60000000000, @@ -796,11 +1100,11 @@ "PATH=/usr/bin:/bin:/usr/local/bin" ], "stdin": { - "src": "/home/tt/.config/joj/tests/homework/h6/e6/case3.in", + "src": "/home/tt/.config/joj/tests/homework/h6/e3/case3.in", "max": 419430400, - "streamIn": false, - "streamOut": false, - "pipe": false + "streamIn": true, + "streamOut": true, + "pipe": true }, "cpuLimit": 30000000000, "clockLimit": 60000000000, @@ -812,11 +1116,11 @@ "PATH=/usr/bin:/bin:/usr/local/bin" ], "stdin": { - "src": "/home/tt/.config/joj/tests/homework/h6/e6/case4.in", + "src": "/home/tt/.config/joj/tests/homework/h6/e3/case4.in", "max": 419430400, - "streamIn": false, - "streamOut": false, - "pipe": false + "streamIn": true, + "streamOut": true, + "pipe": true }, "cpuLimit": 30000000000, "clockLimit": 60000000000, @@ -828,11 +1132,11 @@ "PATH=/usr/bin:/bin:/usr/local/bin" ], "stdin": { - "src": "/home/tt/.config/joj/tests/homework/h6/e6/case5.in", + "src": "/home/tt/.config/joj/tests/homework/h6/e3/case5.in", "max": 419430400, - "streamIn": false, - "streamOut": false, - "pipe": false + "streamIn": true, + "streamOut": true, + "pipe": true }, "cpuLimit": 30000000000, "clockLimit": 60000000000, @@ -844,11 +1148,11 @@ "PATH=/usr/bin:/bin:/usr/local/bin" ], "stdin": { - "src": "/home/tt/.config/joj/tests/homework/h6/e6/case6.in", + "src": "/home/tt/.config/joj/tests/homework/h6/e3/case6.in", "max": 419430400, - "streamIn": false, - "streamOut": false, - "pipe": false + "streamIn": true, + "streamOut": true, + "pipe": true }, "cpuLimit": 30000000000, "clockLimit": 60000000000, @@ -860,11 +1164,11 @@ "PATH=/usr/bin:/bin:/usr/local/bin" ], "stdin": { - "src": "/home/tt/.config/joj/tests/homework/h6/e6/case7.in", + "src": "/home/tt/.config/joj/tests/homework/h6/e3/case7.in", "max": 419430400, - "streamIn": false, - "streamOut": false, - "pipe": false + "streamIn": true, + "streamOut": true, + "pipe": true }, "cpuLimit": 30000000000, "clockLimit": 60000000000, @@ -876,11 +1180,11 @@ "PATH=/usr/bin:/bin:/usr/local/bin" ], "stdin": { - "src": "/home/tt/.config/joj/tests/homework/h6/e6/case8.in", + "src": "/home/tt/.config/joj/tests/homework/h6/e3/case8.in", "max": 419430400, - "streamIn": false, - "streamOut": false, - "pipe": false + "streamIn": true, + "streamOut": true, + "pipe": true }, "cpuLimit": 30000000000, "clockLimit": 60000000000, @@ -892,11 +1196,11 @@ "PATH=/usr/bin:/bin:/usr/local/bin" ], "stdin": { - "src": "/home/tt/.config/joj/tests/homework/h6/e6/case9.in", + "src": "/home/tt/.config/joj/tests/homework/h6/e3/case9.in", "max": 419430400, - "streamIn": false, - "streamOut": false, - "pipe": false + "streamIn": true, + "streamOut": true, + "pipe": true }, "cpuLimit": 30000000000, "clockLimit": 60000000000, @@ -917,10 +1221,10 @@ { "score": 0, "fileName": "stdout", - "answerPath": "/home/tt/.config/joj/tests/homework/h6/e6/case0.out", + "answerPath": "/home/tt/.config/joj/tests/homework/h6/e3/case0.out", "forceQuitOnDiff": true, "alwaysHide": false, - "compareSpace": true + "compareSpace": false } ] }, @@ -929,10 +1233,10 @@ { "score": 0, "fileName": "stdout", - "answerPath": "/home/tt/.config/joj/tests/homework/h6/e6/case1.out", + "answerPath": "/home/tt/.config/joj/tests/homework/h6/e3/case1.out", "forceQuitOnDiff": true, "alwaysHide": false, - "compareSpace": true + "compareSpace": false } ] }, @@ -941,10 +1245,10 @@ { "score": 0, "fileName": "stdout", - "answerPath": "/home/tt/.config/joj/tests/homework/h6/e6/case2.out", + "answerPath": "/home/tt/.config/joj/tests/homework/h6/e3/case2.out", "forceQuitOnDiff": true, "alwaysHide": false, - "compareSpace": true + "compareSpace": false } ] }, @@ -953,10 +1257,10 @@ { "score": 0, "fileName": "stdout", - "answerPath": "/home/tt/.config/joj/tests/homework/h6/e6/case3.out", + "answerPath": "/home/tt/.config/joj/tests/homework/h6/e3/case3.out", "forceQuitOnDiff": true, "alwaysHide": false, - "compareSpace": true + "compareSpace": false } ] }, @@ -965,10 +1269,10 @@ { "score": 0, "fileName": "stdout", - "answerPath": "/home/tt/.config/joj/tests/homework/h6/e6/case4.out", + "answerPath": "/home/tt/.config/joj/tests/homework/h6/e3/case4.out", "forceQuitOnDiff": true, "alwaysHide": false, - "compareSpace": true + "compareSpace": false } ] }, @@ -977,10 +1281,10 @@ { "score": 0, "fileName": "stdout", - "answerPath": "/home/tt/.config/joj/tests/homework/h6/e6/case5.out", + "answerPath": "/home/tt/.config/joj/tests/homework/h6/e3/case5.out", "forceQuitOnDiff": true, "alwaysHide": false, - "compareSpace": true + "compareSpace": false } ] }, @@ -989,10 +1293,10 @@ { "score": 0, "fileName": "stdout", - "answerPath": "/home/tt/.config/joj/tests/homework/h6/e6/case6.out", + "answerPath": "/home/tt/.config/joj/tests/homework/h6/e3/case6.out", "forceQuitOnDiff": true, "alwaysHide": false, - "compareSpace": true + "compareSpace": false } ] }, @@ -1001,10 +1305,10 @@ { "score": 0, "fileName": "stdout", - "answerPath": "/home/tt/.config/joj/tests/homework/h6/e6/case7.out", + "answerPath": "/home/tt/.config/joj/tests/homework/h6/e3/case7.out", "forceQuitOnDiff": true, "alwaysHide": false, - "compareSpace": true + "compareSpace": false } ] }, @@ -1013,10 +1317,10 @@ { "score": 0, "fileName": "stdout", - "answerPath": "/home/tt/.config/joj/tests/homework/h6/e6/case8.out", + "answerPath": "/home/tt/.config/joj/tests/homework/h6/e3/case8.out", "forceQuitOnDiff": true, "alwaysHide": false, - "compareSpace": true + "compareSpace": false } ] }, @@ -1025,10 +1329,10 @@ { "score": 0, "fileName": "stdout", - "answerPath": "/home/tt/.config/joj/tests/homework/h6/e6/case9.out", + "answerPath": "/home/tt/.config/joj/tests/homework/h6/e3/case9.out", "forceQuitOnDiff": true, "alwaysHide": false, - "compareSpace": true + "compareSpace": false } ] } @@ -1061,7 +1365,7 @@ ] }, "teapot": { - "logPath": "/home/tt/.cache/joj3/tests/homework/h6/e6-joint-teapot-debug.log", + "logPath": "/home/tt/.cache/joj3/tests/homework/h6/e3-joint-teapot-debug.log", "scoreboardPath": "tests/homework-scoreboard.csv", "failedTablePath": "tests/homework-failed-table.md", "gradingRepoName": "engr151-joj", diff --git a/tests/convert/basic/task.toml b/tests/convert/basic/task.toml index e7a7c5a..e9fc796 100644 --- a/tests/convert/basic/task.toml +++ b/tests/convert/basic/task.toml @@ -1,6 +1,6 @@ # general task configuration -task.name = "hw 6 ex6" # task name -task.type = "tests/homework/h6/e6" +task.name = "hw 6 ex3" # task name +task.type = "tests/homework/h6/e3" release.deadline = 2024-11-15 23:59:59+08:00 release.stages = [ "compile" ] @@ -9,7 +9,7 @@ release.stages = [ "compile" ] name = "Compilation" command = "./tools/compile" # eg. script running cmake commands files.import = [ "tools/compile" ] -files.export = [ "h6/build/ex6", "h6/build/compile_commands.json" ] +files.export = [ "h6/build/ex3", "h6/build/asan", "h6/build/ubsan", "h6/build/msan", "h6/build/compile_commands.json" ] # compile parsers parsers = [ "result-detail", "dummy", "result-status" ] @@ -78,10 +78,45 @@ result-detail.time = false result-detail.mem = false [[stages]] -name = "[joj] ex6" +name = "[run] address sanitizer" +group = "run" +command="./h6/build/asan -a" +files.import = [ "h6/build/asan" ] + +parsers = [ "result-status", "result-detail" ] +result-status.score = 1 +result-status.forcequit = false +result-detail.exitstatus = true +result-detail.stderr = true + +[[stages]] +name = "[run] memory sanitizer" +group = "run" +command="./h6/build/msan -a" +files.import = [ "h6/build/msan" ] + +parsers = [ "result-status", "result-detail" ] +result-status.score = 1 +result-status.forcequit = false +result-detail.exitstatus = true +result-detail.stderr = true + +[[stages]] +name = "[run] undefined behavior sanitizer" +command="./h6/build/ubsan -a" +files.import = [ "h6/build/ubsan" ] + +parsers = [ "result-status", "result-detail" ] +result-status.score = 1 +result-status.forcequit = false +result-detail.exitstatus = true +result-detail.stderr = true + +[[stages]] +name = "[joj] ex3" group = "joj" -command="./h6/build/ex6" -files.import = [ "h6/build/ex6" ] +command="./h6/build/ex3" +files.import = [ "h6/build/ex3" ] score = 10 parsers = [ "diff", "dummy", "result-detail" ]