From b755efac6de22ceecc8811b2c2beafaab0f34954 Mon Sep 17 00:00:00 2001 From: Nuvole Date: Fri, 15 Nov 2024 18:54:53 +0800 Subject: [PATCH] fix: diff with stdin --- joj3_config_generator/models/result.py | 6 +- joj3_config_generator/processers/repo.py | 4 +- joj3_config_generator/processers/task.py | 5 +- tests/convert/basic/task.json | 811 ++--------------------- tests/convert/basic/task.toml | 108 +-- 5 files changed, 60 insertions(+), 874 deletions(-) diff --git a/joj3_config_generator/models/result.py b/joj3_config_generator/models/result.py index 7029657..408e51d 100644 --- a/joj3_config_generator/models/result.py +++ b/joj3_config_generator/models/result.py @@ -10,9 +10,9 @@ class CmdFile(BaseModel): name: Optional[str] = None max: Optional[int] = 400 * 1024 * 1024 symlink: Optional[str] = None - stream_in: bool = Field(True, serialization_alias="streamIn") - stream_out: bool = Field(True, serialization_alias="streamOut") - pipe: bool = True + stream_in: Optional[bool] = Field(None, serialization_alias="streamIn") + stream_out: Optional[bool] = Field(None, serialization_alias="streamOut") + pipe: Optional[bool] = None class Cmd(BaseModel): diff --git a/joj3_config_generator/processers/repo.py b/joj3_config_generator/processers/repo.py index 6bb5c68..4af04ce 100644 --- a/joj3_config_generator/processers/repo.py +++ b/joj3_config_generator/processers/repo.py @@ -73,8 +73,8 @@ def get_healthcheck_cmd(repo_conf: repo.Config) -> result.Cmd: def get_healthcheck_config(repo_conf: repo.Config) -> result.StageDetail: healthcheck_stage = result.StageDetail( name="healthcheck", - group="", - executor=ExecutorConfig( + group=None, + executor=result.Executor( name="sandbox", with_=result.ExecutorWith(default=get_healthcheck_cmd(repo_conf), cases=[]), ), diff --git a/joj3_config_generator/processers/task.py b/joj3_config_generator/processers/task.py index 0ca194d..0f27b3a 100644 --- a/joj3_config_generator/processers/task.py +++ b/joj3_config_generator/processers/task.py @@ -12,7 +12,7 @@ def get_conf_stage( # TODO: we may have cq in future group=( "joj" - if (task_stage.name is not None) and ("judge" in task_stage.name) + if (task_stage.name is not None) and (("joj" in task_stage.name) or ("run" in task_stage.name)) else None ), executor=result.Executor( @@ -62,6 +62,9 @@ def get_executorWithConfig( file: result.CmdFile(src=f"/home/tt/.config/joj/{file}") for file in copy_in_files }, + stdin=( + result.CmdFile(content="") if "diff" not in task_stage.parsers else None + ), copy_out=copy_out_files, copy_in_cached={file: file for file in cached}, copy_out_cached=file_export if file_export is not None else [], diff --git a/tests/convert/basic/task.json b/tests/convert/basic/task.json index 6bd740b..ae7e285 100644 --- a/tests/convert/basic/task.json +++ b/tests/convert/basic/task.json @@ -1,7 +1,7 @@ { - "name": "hw 6 ex3", - "logPath": "/home/tt/.cache/joj3/tests/homework/h6/e3.log", - "expireUnixTimestamp": 1731686399, + "name": "hw 6 ex1", + "logPath": "/home/tt/.cache/joj3/tests/homework/h6/e1.log", + "expireUnixTimestamp": 1732031999, "stage": { "sandboxExecServer": "172.17.0.1:5051", "sandboxToken": "test", @@ -9,7 +9,6 @@ "stages": [ { "name": "healthcheck", - "group": "", "executor": { "name": "sandbox", "with": { @@ -27,24 +26,15 @@ ], "stdin": { "content": "", - "max": 419430400, - "streamIn": true, - "streamOut": true, - "pipe": true + "max": 419430400 }, "stdout": { "name": "stdout", - "max": 4096, - "streamIn": true, - "streamOut": true, - "pipe": true + "max": 4096 }, "stderr": { "name": "stderr", - "max": 4096, - "streamIn": true, - "streamOut": true, - "pipe": true + "max": 4096 }, "cpuLimit": 4000000000000, "realCpuLimit": 0, @@ -57,10 +47,7 @@ "copyIn": { "/tmp/repo-health-checker": { "src": "/usr/local/bin/repo-health-checker", - "max": 419430400, - "streamIn": true, - "streamOut": true, - "pipe": true + "max": 419430400 } }, "copyInCached": {}, @@ -101,24 +88,15 @@ ], "stdin": { "content": "", - "max": 419430400, - "streamIn": true, - "streamOut": true, - "pipe": true + "max": 419430400 }, "stdout": { "name": "stdout", - "max": 800000000000000, - "streamIn": true, - "streamOut": true, - "pipe": true + "max": 800000000000000 }, "stderr": { "name": "stderr", - "max": 800000000000000, - "streamIn": true, - "streamOut": true, - "pipe": true + "max": 800000000000000 }, "cpuLimit": 1000000000000000, "realCpuLimit": 0, @@ -131,10 +109,7 @@ "copyIn": { "tools/compile": { "src": "/home/tt/.config/joj/tools/compile", - "max": 419430400, - "streamIn": true, - "streamOut": true, - "pipe": true + "max": 419430400 } }, "copyInCached": {}, @@ -144,10 +119,10 @@ "stderr" ], "copyOutCached": [ - "h6/build/ex3", - "h6/build/ex3-asan", - "h6/build/ex3-ubsan", - "h6/build/ex3-msan", + "h6/build/ex1", + "h6/build/ex1-asan", + "h6/build/ex1-ubsan", + "h6/build/ex1-msan", "h6/build/compile_commands.json" ], "copyOutMax": 0, @@ -210,24 +185,15 @@ ], "stdin": { "content": "", - "max": 419430400, - "streamIn": true, - "streamOut": true, - "pipe": true + "max": 419430400 }, "stdout": { "name": "stdout", - "max": 800000000000000, - "streamIn": true, - "streamOut": true, - "pipe": true + "max": 800000000000000 }, "stderr": { "name": "stderr", - "max": 800000000000000, - "streamIn": true, - "streamOut": true, - "pipe": true + "max": 800000000000000 }, "cpuLimit": 1000000000000000, "realCpuLimit": 0, @@ -240,17 +206,14 @@ "copyIn": { "tools/filelength": { "src": "/home/tt/.config/joj/tools/filelength", - "max": 419430400, - "streamIn": true, - "streamOut": true, - "pipe": true + "max": 419430400 } }, "copyInCached": { - "h6/build/ex3": "h6/build/ex3", - "h6/build/ex3-asan": "h6/build/ex3-asan", - "h6/build/ex3-ubsan": "h6/build/ex3-ubsan", - "h6/build/ex3-msan": "h6/build/ex3-msan", + "h6/build/ex1": "h6/build/ex1", + "h6/build/ex1-asan": "h6/build/ex1-asan", + "h6/build/ex1-ubsan": "h6/build/ex1-ubsan", + "h6/build/ex1-msan": "h6/build/ex1-msan", "h6/build/compile_commands.json": "h6/build/compile_commands.json" }, "copyInDir": ".", @@ -331,24 +294,15 @@ ], "stdin": { "content": "", - "max": 419430400, - "streamIn": true, - "streamOut": true, - "pipe": true + "max": 419430400 }, "stdout": { "name": "stdout", - "max": 65000000000000, - "streamIn": true, - "streamOut": true, - "pipe": true + "max": 65000000000000 }, "stderr": { "name": "stderr", - "max": 800000000000000, - "streamIn": true, - "streamOut": true, - "pipe": true + "max": 800000000000000 }, "cpuLimit": 1000000000000000, "realCpuLimit": 0, @@ -361,17 +315,14 @@ "copyIn": { "projects/p2/.clang-tidy": { "src": "/home/tt/.config/joj/projects/p2/.clang-tidy", - "max": 419430400, - "streamIn": true, - "streamOut": true, - "pipe": true + "max": 419430400 } }, "copyInCached": { - "h6/build/ex3": "h6/build/ex3", - "h6/build/ex3-asan": "h6/build/ex3-asan", - "h6/build/ex3-ubsan": "h6/build/ex3-ubsan", - "h6/build/ex3-msan": "h6/build/ex3-msan", + "h6/build/ex1": "h6/build/ex1", + "h6/build/ex1-asan": "h6/build/ex1-asan", + "h6/build/ex1-ubsan": "h6/build/ex1-ubsan", + "h6/build/ex1-msan": "h6/build/ex1-msan", "h6/build/compile_commands.json": "h6/build/compile_commands.json" }, "copyInDir": ".", @@ -479,24 +430,15 @@ ], "stdin": { "content": "", - "max": 419430400, - "streamIn": true, - "streamOut": true, - "pipe": true + "max": 419430400 }, "stdout": { "name": "stdout", - "max": 800000000000000, - "streamIn": true, - "streamOut": true, - "pipe": true + "max": 800000000000000 }, "stderr": { "name": "stderr", - "max": 65000000000000, - "streamIn": true, - "streamOut": true, - "pipe": true + "max": 65000000000000 }, "cpuLimit": 1000000000000000, "realCpuLimit": 0, @@ -508,10 +450,10 @@ "cpuSetLimit": "", "copyIn": {}, "copyInCached": { - "h6/build/ex3": "h6/build/ex3", - "h6/build/ex3-asan": "h6/build/ex3-asan", - "h6/build/ex3-ubsan": "h6/build/ex3-ubsan", - "h6/build/ex3-msan": "h6/build/ex3-msan", + "h6/build/ex1": "h6/build/ex1", + "h6/build/ex1-asan": "h6/build/ex1-asan", + "h6/build/ex1-ubsan": "h6/build/ex1-ubsan", + "h6/build/ex1-msan": "h6/build/ex1-msan", "h6/build/compile_commands.json": "h6/build/compile_commands.json" }, "copyInDir": ".", @@ -595,24 +537,15 @@ ], "stdin": { "content": "", - "max": 419430400, - "streamIn": true, - "streamOut": true, - "pipe": true + "max": 419430400 }, "stdout": { "name": "stdout", - "max": 65000000000000, - "streamIn": true, - "streamOut": true, - "pipe": true + "max": 65000000000000 }, "stderr": { "name": "stderr", - "max": 800000000000000, - "streamIn": true, - "streamOut": true, - "pipe": true + "max": 800000000000000 }, "cpuLimit": 1000000000000000, "realCpuLimit": 0, @@ -624,10 +557,10 @@ "cpuSetLimit": "", "copyIn": {}, "copyInCached": { - "h6/build/ex3": "h6/build/ex3", - "h6/build/ex3-asan": "h6/build/ex3-asan", - "h6/build/ex3-ubsan": "h6/build/ex3-ubsan", - "h6/build/ex3-msan": "h6/build/ex3-msan", + "h6/build/ex1": "h6/build/ex1", + "h6/build/ex1-asan": "h6/build/ex1-asan", + "h6/build/ex1-ubsan": "h6/build/ex1-ubsan", + "h6/build/ex1-msan": "h6/build/ex1-msan", "h6/build/compile_commands.json": "h6/build/compile_commands.json" }, "copyInDir": ".", @@ -697,663 +630,11 @@ } } ] - }, - { - "name": "[run] address sanitizer", - "executor": { - "name": "sandbox", - "with": { - "default": { - "args": [ - "./h6/build/ex3-asan", - "-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": {}, - "copyInCached": { - "h6/build/ex3": "h6/build/ex3", - "h6/build/ex3-asan": "h6/build/ex3-asan", - "h6/build/ex3-ubsan": "h6/build/ex3-ubsan", - "h6/build/ex3-msan": "h6/build/ex3-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/ex3-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": {}, - "copyInCached": { - "h6/build/ex3": "h6/build/ex3", - "h6/build/ex3-asan": "h6/build/ex3-asan", - "h6/build/ex3-ubsan": "h6/build/ex3-ubsan", - "h6/build/ex3-msan": "h6/build/ex3-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/ex3-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": {}, - "copyInCached": { - "h6/build/ex3": "h6/build/ex3", - "h6/build/ex3-asan": "h6/build/ex3-asan", - "h6/build/ex3-ubsan": "h6/build/ex3-ubsan", - "h6/build/ex3-msan": "h6/build/ex3-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", - "h6/build/ex3-asan": "h6/build/ex3-asan", - "h6/build/ex3-ubsan": "h6/build/ex3-ubsan", - "h6/build/ex3-msan": "h6/build/ex3-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": [ - { - "args": [ - "Manuel", - "Charlemagne" - ], - "env": [ - "PATH=/usr/bin:/bin:/usr/local/bin" - ], - "stdin": { - "src": "/home/tt/.config/joj/tests/homework/h6/e3/paragraph.in", - "max": 419430400, - "streamIn": true, - "streamOut": true, - "pipe": true - }, - "cpuLimit": 30000000000, - "clockLimit": 60000000000, - "memoryLimit": 33554432, - "procLimit": 50 - }, - { - "env": [ - "PATH=/usr/bin:/bin:/usr/local/bin" - ], - "stdin": { - "src": "/home/tt/.config/joj/tests/homework/h6/e3/case1.in", - "max": 419430400, - "streamIn": true, - "streamOut": true, - "pipe": true - }, - "cpuLimit": 30000000000, - "clockLimit": 60000000000, - "memoryLimit": 33554432, - "procLimit": 50 - }, - { - "env": [ - "PATH=/usr/bin:/bin:/usr/local/bin" - ], - "stdin": { - "src": "/home/tt/.config/joj/tests/homework/h6/e3/case2.in", - "max": 419430400, - "streamIn": true, - "streamOut": true, - "pipe": true - }, - "cpuLimit": 30000000000, - "clockLimit": 60000000000, - "memoryLimit": 33554432, - "procLimit": 50 - }, - { - "env": [ - "PATH=/usr/bin:/bin:/usr/local/bin" - ], - "stdin": { - "src": "/home/tt/.config/joj/tests/homework/h6/e3/case3.in", - "max": 419430400, - "streamIn": true, - "streamOut": true, - "pipe": true - }, - "cpuLimit": 30000000000, - "clockLimit": 60000000000, - "memoryLimit": 33554432, - "procLimit": 50 - }, - { - "env": [ - "PATH=/usr/bin:/bin:/usr/local/bin" - ], - "stdin": { - "src": "/home/tt/.config/joj/tests/homework/h6/e3/case4.in", - "max": 419430400, - "streamIn": true, - "streamOut": true, - "pipe": true - }, - "cpuLimit": 30000000000, - "clockLimit": 60000000000, - "memoryLimit": 33554432, - "procLimit": 50 - }, - { - "env": [ - "PATH=/usr/bin:/bin:/usr/local/bin" - ], - "stdin": { - "src": "/home/tt/.config/joj/tests/homework/h6/e3/case5.in", - "max": 419430400, - "streamIn": true, - "streamOut": true, - "pipe": true - }, - "cpuLimit": 30000000000, - "clockLimit": 60000000000, - "memoryLimit": 33554432, - "procLimit": 50 - }, - { - "env": [ - "PATH=/usr/bin:/bin:/usr/local/bin" - ], - "stdin": { - "src": "/home/tt/.config/joj/tests/homework/h6/e3/case6.in", - "max": 419430400, - "streamIn": true, - "streamOut": true, - "pipe": true - }, - "cpuLimit": 30000000000, - "clockLimit": 60000000000, - "memoryLimit": 33554432, - "procLimit": 50 - }, - { - "env": [ - "PATH=/usr/bin:/bin:/usr/local/bin" - ], - "stdin": { - "src": "/home/tt/.config/joj/tests/homework/h6/e3/case7.in", - "max": 419430400, - "streamIn": true, - "streamOut": true, - "pipe": true - }, - "cpuLimit": 30000000000, - "clockLimit": 60000000000, - "memoryLimit": 33554432, - "procLimit": 50 - }, - { - "env": [ - "PATH=/usr/bin:/bin:/usr/local/bin" - ], - "stdin": { - "src": "/home/tt/.config/joj/tests/homework/h6/e3/case8.in", - "max": 419430400, - "streamIn": true, - "streamOut": true, - "pipe": true - }, - "cpuLimit": 30000000000, - "clockLimit": 60000000000, - "memoryLimit": 33554432, - "procLimit": 50 - }, - { - "env": [ - "PATH=/usr/bin:/bin:/usr/local/bin" - ], - "stdin": { - "src": "/home/tt/.config/joj/tests/homework/h6/e3/case9.in", - "max": 419430400, - "streamIn": true, - "streamOut": true, - "pipe": true - }, - "cpuLimit": 30000000000, - "clockLimit": 60000000000, - "memoryLimit": 33554432, - "procLimit": 50 - } - ] - } - }, - "parsers": [ - { - "name": "diff", - "with": { - "name": "diff", - "cases": [ - { - "outputs": [ - { - "score": 5, - "fileName": "stdout", - "answerPath": "/home/tt/.config/joj/tests/homework/h6/e3/case0.out", - "forceQuitOnDiff": true, - "alwaysHide": false, - "compareSpace": false - } - ] - }, - { - "outputs": [ - { - "score": 5, - "fileName": "stdout", - "answerPath": "/home/tt/.config/joj/tests/homework/h6/e3/case1.out", - "forceQuitOnDiff": true, - "alwaysHide": false, - "compareSpace": false - } - ] - }, - { - "outputs": [ - { - "score": 5, - "fileName": "stdout", - "answerPath": "/home/tt/.config/joj/tests/homework/h6/e3/case2.out", - "forceQuitOnDiff": true, - "alwaysHide": false, - "compareSpace": false - } - ] - }, - { - "outputs": [ - { - "score": 5, - "fileName": "stdout", - "answerPath": "/home/tt/.config/joj/tests/homework/h6/e3/case3.out", - "forceQuitOnDiff": true, - "alwaysHide": false, - "compareSpace": false - } - ] - }, - { - "outputs": [ - { - "score": 10, - "fileName": "stdout", - "answerPath": "/home/tt/.config/joj/tests/homework/h6/e3/case4.out", - "forceQuitOnDiff": true, - "alwaysHide": false, - "compareSpace": false - } - ] - }, - { - "outputs": [ - { - "score": 10, - "fileName": "stdout", - "answerPath": "/home/tt/.config/joj/tests/homework/h6/e3/case5.out", - "forceQuitOnDiff": true, - "alwaysHide": false, - "compareSpace": false - } - ] - }, - { - "outputs": [ - { - "score": 15, - "fileName": "stdout", - "answerPath": "/home/tt/.config/joj/tests/homework/h6/e3/case6.out", - "forceQuitOnDiff": true, - "alwaysHide": false, - "compareSpace": false - } - ] - }, - { - "outputs": [ - { - "score": 15, - "fileName": "stdout", - "answerPath": "/home/tt/.config/joj/tests/homework/h6/e3/case7.out", - "forceQuitOnDiff": true, - "alwaysHide": false, - "compareSpace": false - } - ] - }, - { - "outputs": [ - { - "score": 15, - "fileName": "stdout", - "answerPath": "/home/tt/.config/joj/tests/homework/h6/e3/case8.out", - "forceQuitOnDiff": true, - "alwaysHide": false, - "compareSpace": false - } - ] - }, - { - "outputs": [ - { - "score": 15, - "fileName": "stdout", - "answerPath": "/home/tt/.config/joj/tests/homework/h6/e3/case9.out", - "forceQuitOnDiff": true, - "alwaysHide": false, - "compareSpace": false - } - ] - } - ] - } - }, - { - "name": "dummy", - "with": { - "score": 0, - "comment": "", - "forceQuitOnNotAccepted": true - } - }, - { - "name": "result-detail", - "with": { - "score": 0, - "comment": "", - "showFiles": [ - "stderr" - ], - "showExitStatus": true, - "showRuntime": true, - "showMemory": true - } - } - ] } ] }, "teapot": { - "logPath": "/home/tt/.cache/joj3/tests/homework/h6/e3-joint-teapot-debug.log", + "logPath": "/home/tt/.cache/joj3/tests/homework/h6/e1-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 e7b5d38..6067f21 100644 --- a/tests/convert/basic/task.toml +++ b/tests/convert/basic/task.toml @@ -1,15 +1,15 @@ # general task configuration -task.name = "hw 6 ex3" # task name -task.type = "tests/homework/h6/e3" +task.name = "hw 6 ex1" # task name +task.type = "tests/homework/h6/e1" -release.deadline = 2024-11-15 23:59:59+08:00 +release.deadline = 2024-11-19 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 = [ "h6/build/ex3", "h6/build/ex3-asan", "h6/build/ex3-ubsan", "h6/build/ex3-msan", "h6/build/compile_commands.json" ] +files.import = [ "tools/compile"] +files.export = [ "h6/build/ex1", "h6/build/ex1-asan", "h6/build/ex1-ubsan", "h6/build/ex1-msan", "h6/build/compile_commands.json" ] # compile parsers parsers = [ "result-detail", "dummy", "result-status" ] @@ -77,101 +77,3 @@ result-detail.stderr = true result-detail.time = false result-detail.mem = false -[[stages]] -name = "[run] address sanitizer" -group = "run" -command="./h6/build/ex3-asan -a" -files.import = [ "h6/build/ex3-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/ex3-msan -a" -files.import = [ "h6/build/ex3-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/ex3-ubsan -a" -files.import = [ "h6/build/ex3-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/ex3" -files.import = [ "h6/build/ex3" ] -score = 10 - -parsers = [ "diff", "dummy", "result-detail" ] -result-detail.exitstatus = true -result-detail.stderr = true - -# will be removed as long as the name is fixed -case0.in = "paragraph.in" -case0.command = "Manuel Charlemagne" -case0.diff.output.score = 5 -case0.limit.cpu = 30 -case0.limit.mem = 32 -case0.limit.stdout = 8 - -case1.diff.output.score = 5 -case1.limit.cpu = 30 -case1.limit.mem = 32 -case1.limit.stdout = 8 - -case2.diff.output.score = 5 -case2.limit.cpu = 30 -case2.limit.mem = 32 -case2.limit.stdout = 8 - -case3.diff.output.score = 5 -case3.limit.cpu = 30 -case3.limit.mem = 32 -case3.limit.stdout = 8 - -case4.diff.output.score = 10 -case4.limit.cpu = 30 -case4.limit.mem = 32 -case4.limit.stdout = 8 - -case5.diff.output.score = 10 -case5.limit.cpu = 30 -case5.limit.mem = 32 -case5.limit.stdout = 8 - -case6.diff.output.score = 15 -case6.limit.cpu = 30 -case6.limit.mem = 32 -case6.limit.stdout = 8 - -case7.diff.output.score = 15 -case7.limit.cpu = 30 -case7.limit.mem = 32 -case7.limit.stdout = 8 - -case8.diff.output.score = 15 -case8.limit.cpu = 30 -case8.limit.mem = 32 -case8.limit.stdout = 8 - -case9.diff.output.score = 15 -case9.limit.cpu = 30 -case9.limit.mem = 32 -case9.limit.stdout = 8 \ No newline at end of file