fix: copyOut & some default value

This commit is contained in:
李衍志523370910113 2024-11-13 17:10:42 +08:00
parent f163b88a6b
commit 8af28ded35
5 changed files with 82 additions and 442 deletions

View File

@ -10,9 +10,9 @@ class CmdFile(BaseModel):
name: Optional[str] = None name: Optional[str] = None
max: Optional[int] = 400 * 1024 * 1024 max: Optional[int] = 400 * 1024 * 1024
symlink: Optional[str] = None symlink: Optional[str] = None
stream_in: bool = Field(False, serialization_alias="streamIn") stream_in: bool = Field(True, serialization_alias="streamIn")
stream_out: bool = Field(False, serialization_alias="streamOut") stream_out: bool = Field(True, serialization_alias="streamOut")
pipe: bool = False pipe: bool = True
class Cmd(BaseModel): class Cmd(BaseModel):

View File

@ -25,7 +25,7 @@ class ParserKeyword(BaseModel):
class Outputs(BaseModel): class Outputs(BaseModel):
score: Optional[int] = 0 score: Optional[int] = 0
ignorespaces: Optional[bool] = False ignorespaces: Optional[bool] = True
hide: Optional[bool] = False hide: Optional[bool] = False
forcequit: Optional[bool] = True forcequit: Optional[bool] = True

View File

@ -47,6 +47,10 @@ def get_executorWithConfig(
and (task_stage.files is not None) and (task_stage.files is not None)
else [] else []
) )
copy_out_files = [
"stdout",
"stderr"
]
executor_with_config = result.ExecutorWith( executor_with_config = result.ExecutorWith(
default=result.Cmd( default=result.Cmd(
args=( args=(
@ -58,6 +62,7 @@ def get_executorWithConfig(
file: result.CmdFile(src=f"/home/tt/.config/joj/{file}") file: result.CmdFile(src=f"/home/tt/.config/joj/{file}")
for file in copy_in_files for file in copy_in_files
}, },
copy_out=copy_out_files,
copy_in_cached={file: file for file in cached}, copy_in_cached={file: file for file in cached},
copy_out_cached=file_export if file_export is not None else [], copy_out_cached=file_export if file_export is not None else [],
cpu_limit=( cpu_limit=(

View File

@ -1,6 +1,6 @@
{ {
"name": "hw 6 ex3", "name": "hw 6 ex6",
"logPath": "/home/tt/.cache/joj3/tests/homework/h6/e3.log", "logPath": "/home/tt/.cache/joj3/tests/homework/h6/e6.log",
"expireUnixTimestamp": 1731686399, "expireUnixTimestamp": 1731686399,
"stage": { "stage": {
"sandboxExecServer": "172.17.0.1:5051", "sandboxExecServer": "172.17.0.1:5051",
@ -139,12 +139,12 @@
}, },
"copyInCached": {}, "copyInCached": {},
"copyInDir": ".", "copyInDir": ".",
"copyOut": [], "copyOut": [
"stdout",
"stderr"
],
"copyOutCached": [ "copyOutCached": [
"h6/build/ex3", "h6/build/ex6",
"h6/build/asan",
"h6/build/ubsan",
"h6/build/msan",
"h6/build/compile_commands.json" "h6/build/compile_commands.json"
], ],
"copyOutMax": 0, "copyOutMax": 0,
@ -196,7 +196,7 @@
"with": { "with": {
"default": { "default": {
"args": [ "args": [
"./file-length", "./tools/filelength",
"400", "400",
"300", "300",
"*.c", "*.c",
@ -244,14 +244,14 @@
} }
}, },
"copyInCached": { "copyInCached": {
"h6/build/ex3": "h6/build/ex3", "h6/build/ex6": "h6/build/ex6",
"h6/build/asan": "h6/build/asan",
"h6/build/ubsan": "h6/build/ubsan",
"h6/build/msan": "h6/build/msan",
"h6/build/compile_commands.json": "h6/build/compile_commands.json" "h6/build/compile_commands.json": "h6/build/compile_commands.json"
}, },
"copyInDir": ".", "copyInDir": ".",
"copyOut": [], "copyOut": [
"stdout",
"stderr"
],
"copyOutCached": [], "copyOutCached": [],
"copyOutMax": 0, "copyOutMax": 0,
"copyOutDir": "", "copyOutDir": "",
@ -318,7 +318,7 @@
"-quiet", "-quiet",
"-load=/usr/local/lib/libcodequality.so", "-load=/usr/local/lib/libcodequality.so",
"-p", "-p",
"build" "h6/build"
], ],
"env": [ "env": [
"PATH=/usr/bin:/bin:/usr/local/bin" "PATH=/usr/bin:/bin:/usr/local/bin"
@ -359,24 +359,17 @@
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
},
"build/compile_commands.json": {
"src": "/home/tt/.config/joj/build/compile_commands.json",
"max": 419430400,
"streamIn": false,
"streamOut": false,
"pipe": false
} }
}, },
"copyInCached": { "copyInCached": {
"h6/build/ex3": "h6/build/ex3", "h6/build/ex6": "h6/build/ex6",
"h6/build/asan": "h6/build/asan",
"h6/build/ubsan": "h6/build/ubsan",
"h6/build/msan": "h6/build/msan",
"h6/build/compile_commands.json": "h6/build/compile_commands.json" "h6/build/compile_commands.json": "h6/build/compile_commands.json"
}, },
"copyInDir": ".", "copyInDir": ".",
"copyOut": [], "copyOut": [
"stdout",
"stderr"
],
"copyOutCached": [], "copyOutCached": [],
"copyOutMax": 0, "copyOutMax": 0,
"copyOutDir": "", "copyOutDir": "",
@ -506,14 +499,14 @@
"cpuSetLimit": "", "cpuSetLimit": "",
"copyIn": {}, "copyIn": {},
"copyInCached": { "copyInCached": {
"h6/build/ex3": "h6/build/ex3", "h6/build/ex6": "h6/build/ex6",
"h6/build/asan": "h6/build/asan",
"h6/build/ubsan": "h6/build/ubsan",
"h6/build/msan": "h6/build/msan",
"h6/build/compile_commands.json": "h6/build/compile_commands.json" "h6/build/compile_commands.json": "h6/build/compile_commands.json"
}, },
"copyInDir": ".", "copyInDir": ".",
"copyOut": [], "copyOut": [
"stdout",
"stderr"
],
"copyOutCached": [], "copyOutCached": [],
"copyOutMax": 0, "copyOutMax": 0,
"copyOutDir": "", "copyOutDir": "",
@ -580,7 +573,7 @@
"args": [ "args": [
"cpplint", "cpplint",
"--linelength=120", "--linelength=120",
"--filter=-legal,-readability/casting,-whitespace,-runtime/printf,-runtime/threadsafe_fn,-readability/todo,-build/include_subdir,-build/header_guard", "--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", "--recursive",
"--exclude=build", "--exclude=build",
"." "."
@ -619,14 +612,14 @@
"cpuSetLimit": "", "cpuSetLimit": "",
"copyIn": {}, "copyIn": {},
"copyInCached": { "copyInCached": {
"h6/build/ex3": "h6/build/ex3", "h6/build/ex6": "h6/build/ex6",
"h6/build/asan": "h6/build/asan",
"h6/build/ubsan": "h6/build/ubsan",
"h6/build/msan": "h6/build/msan",
"h6/build/compile_commands.json": "h6/build/compile_commands.json" "h6/build/compile_commands.json": "h6/build/compile_commands.json"
}, },
"copyInDir": ".", "copyInDir": ".",
"copyOut": [], "copyOut": [
"stdout",
"stderr"
],
"copyOutCached": [], "copyOutCached": [],
"copyOutMax": 0, "copyOutMax": 0,
"copyOutDir": "", "copyOutDir": "",
@ -691,14 +684,13 @@
] ]
}, },
{ {
"name": "[run] address sanitizer", "name": "[joj] ex6",
"executor": { "executor": {
"name": "sandbox", "name": "sandbox",
"with": { "with": {
"default": { "default": {
"args": [ "args": [
"./asan", "./h6/build/ex6"
"-a"
], ],
"env": [ "env": [
"PATH=/usr/bin:/bin:/usr/local/bin" "PATH=/usr/bin:/bin:/usr/local/bin"
@ -732,336 +724,16 @@
"procLimit": 50, "procLimit": 50,
"cpuRateLimit": 0, "cpuRateLimit": 0,
"cpuSetLimit": "", "cpuSetLimit": "",
"copyIn": { "copyIn": {},
"build/asan": {
"src": "/home/tt/.config/joj/build/asan",
"max": 419430400,
"streamIn": false,
"streamOut": false,
"pipe": false
}
},
"copyInCached": { "copyInCached": {
"h6/build/ex3": "h6/build/ex3", "h6/build/ex6": "h6/build/ex6",
"h6/build/asan": "h6/build/asan",
"h6/build/ubsan": "h6/build/ubsan",
"h6/build/msan": "h6/build/msan",
"h6/build/compile_commands.json": "h6/build/compile_commands.json" "h6/build/compile_commands.json": "h6/build/compile_commands.json"
}, },
"copyInDir": ".", "copyInDir": ".",
"copyOut": [], "copyOut": [
"copyOutCached": [], "stdout",
"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" "stderr"
], ],
"showExitStatus": true,
"showRuntime": true,
"showMemory": true
}
}
]
},
{
"name": "[run] memory sanitizer",
"executor": {
"name": "sandbox",
"with": {
"default": {
"args": [
"./msan",
"-a"
],
"env": [
"PATH=/usr/bin:/bin:/usr/local/bin"
],
"stdin": {
"content": "",
"max": 419430400,
"streamIn": false,
"streamOut": false,
"pipe": false
},
"stdout": {
"name": "stdout",
"max": 800000000000000,
"streamIn": false,
"streamOut": false,
"pipe": false
},
"stderr": {
"name": "stderr",
"max": 800000000000000,
"streamIn": false,
"streamOut": false,
"pipe": false
},
"cpuLimit": 1000000000000000,
"realCpuLimit": 0,
"clockLimit": 2000000000000000,
"memoryLimit": 838860800,
"stackLimit": 0,
"procLimit": 50,
"cpuRateLimit": 0,
"cpuSetLimit": "",
"copyIn": {
"build/msan": {
"src": "/home/tt/.config/joj/build/msan",
"max": 419430400,
"streamIn": false,
"streamOut": false,
"pipe": false
}
},
"copyInCached": {
"h6/build/ex3": "h6/build/ex3",
"h6/build/asan": "h6/build/asan",
"h6/build/ubsan": "h6/build/ubsan",
"h6/build/msan": "h6/build/msan",
"h6/build/compile_commands.json": "h6/build/compile_commands.json"
},
"copyInDir": ".",
"copyOut": [],
"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": [
"./ubsan",
"-a"
],
"env": [
"PATH=/usr/bin:/bin:/usr/local/bin"
],
"stdin": {
"content": "",
"max": 419430400,
"streamIn": false,
"streamOut": false,
"pipe": false
},
"stdout": {
"name": "stdout",
"max": 800000000000000,
"streamIn": false,
"streamOut": false,
"pipe": false
},
"stderr": {
"name": "stderr",
"max": 800000000000000,
"streamIn": false,
"streamOut": false,
"pipe": false
},
"cpuLimit": 1000000000000000,
"realCpuLimit": 0,
"clockLimit": 2000000000000000,
"memoryLimit": 838860800,
"stackLimit": 0,
"procLimit": 50,
"cpuRateLimit": 0,
"cpuSetLimit": "",
"copyIn": {
"build/ubsan": {
"src": "/home/tt/.config/joj/build/ubsan",
"max": 419430400,
"streamIn": false,
"streamOut": false,
"pipe": false
}
},
"copyInCached": {
"h6/build/ex3": "h6/build/ex3",
"h6/build/asan": "h6/build/asan",
"h6/build/ubsan": "h6/build/ubsan",
"h6/build/msan": "h6/build/msan",
"h6/build/compile_commands.json": "h6/build/compile_commands.json"
},
"copyInDir": ".",
"copyOut": [],
"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": [
"./ex3"
],
"env": [
"PATH=/usr/bin:/bin:/usr/local/bin"
],
"stdin": {
"content": "",
"max": 419430400,
"streamIn": false,
"streamOut": false,
"pipe": false
},
"stdout": {
"name": "stdout",
"max": 800000000000000,
"streamIn": false,
"streamOut": false,
"pipe": false
},
"stderr": {
"name": "stderr",
"max": 800000000000000,
"streamIn": false,
"streamOut": false,
"pipe": false
},
"cpuLimit": 1000000000000000,
"realCpuLimit": 0,
"clockLimit": 2000000000000000,
"memoryLimit": 838860800,
"stackLimit": 0,
"procLimit": 50,
"cpuRateLimit": 0,
"cpuSetLimit": "",
"copyIn": {
"h6/build/ex2": {
"src": "/home/tt/.config/joj/h6/build/ex2",
"max": 419430400,
"streamIn": false,
"streamOut": false,
"pipe": false
},
"h6/build/ex4": {
"src": "/home/tt/.config/joj/h6/build/ex4",
"max": 419430400,
"streamIn": false,
"streamOut": false,
"pipe": false
},
"h6/build/ex5": {
"src": "/home/tt/.config/joj/h6/build/ex5",
"max": 419430400,
"streamIn": false,
"streamOut": false,
"pipe": false
},
"h6/build/ex6": {
"src": "/home/tt/.config/joj/h6/build/ex6",
"max": 419430400,
"streamIn": false,
"streamOut": false,
"pipe": false
},
"h6/build/ex7": {
"src": "/home/tt/.config/joj/h6/build/ex7",
"max": 419430400,
"streamIn": false,
"streamOut": false,
"pipe": false
}
},
"copyInCached": {
"h6/build/ex3": "h6/build/ex3",
"h6/build/asan": "h6/build/asan",
"h6/build/ubsan": "h6/build/ubsan",
"h6/build/msan": "h6/build/msan",
"h6/build/compile_commands.json": "h6/build/compile_commands.json"
},
"copyInDir": ".",
"copyOut": [],
"copyOutCached": [], "copyOutCached": [],
"copyOutMax": 0, "copyOutMax": 0,
"copyOutDir": "", "copyOutDir": "",
@ -1076,7 +748,7 @@
"PATH=/usr/bin:/bin:/usr/local/bin" "PATH=/usr/bin:/bin:/usr/local/bin"
], ],
"stdin": { "stdin": {
"src": "/home/tt/.config/joj/tests/homework/h6/e3/case0.in", "src": "/home/tt/.config/joj/tests/homework/h6/e6/case0.in",
"max": 419430400, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
@ -1092,7 +764,7 @@
"PATH=/usr/bin:/bin:/usr/local/bin" "PATH=/usr/bin:/bin:/usr/local/bin"
], ],
"stdin": { "stdin": {
"src": "/home/tt/.config/joj/tests/homework/h6/e3/case1.in", "src": "/home/tt/.config/joj/tests/homework/h6/e6/case1.in",
"max": 419430400, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
@ -1108,7 +780,7 @@
"PATH=/usr/bin:/bin:/usr/local/bin" "PATH=/usr/bin:/bin:/usr/local/bin"
], ],
"stdin": { "stdin": {
"src": "/home/tt/.config/joj/tests/homework/h6/e3/case2.in", "src": "/home/tt/.config/joj/tests/homework/h6/e6/case2.in",
"max": 419430400, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
@ -1124,7 +796,7 @@
"PATH=/usr/bin:/bin:/usr/local/bin" "PATH=/usr/bin:/bin:/usr/local/bin"
], ],
"stdin": { "stdin": {
"src": "/home/tt/.config/joj/tests/homework/h6/e3/case3.in", "src": "/home/tt/.config/joj/tests/homework/h6/e6/case3.in",
"max": 419430400, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
@ -1140,7 +812,7 @@
"PATH=/usr/bin:/bin:/usr/local/bin" "PATH=/usr/bin:/bin:/usr/local/bin"
], ],
"stdin": { "stdin": {
"src": "/home/tt/.config/joj/tests/homework/h6/e3/case4.in", "src": "/home/tt/.config/joj/tests/homework/h6/e6/case4.in",
"max": 419430400, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
@ -1156,7 +828,7 @@
"PATH=/usr/bin:/bin:/usr/local/bin" "PATH=/usr/bin:/bin:/usr/local/bin"
], ],
"stdin": { "stdin": {
"src": "/home/tt/.config/joj/tests/homework/h6/e3/case5.in", "src": "/home/tt/.config/joj/tests/homework/h6/e6/case5.in",
"max": 419430400, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
@ -1172,7 +844,7 @@
"PATH=/usr/bin:/bin:/usr/local/bin" "PATH=/usr/bin:/bin:/usr/local/bin"
], ],
"stdin": { "stdin": {
"src": "/home/tt/.config/joj/tests/homework/h6/e3/case6.in", "src": "/home/tt/.config/joj/tests/homework/h6/e6/case6.in",
"max": 419430400, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
@ -1188,7 +860,7 @@
"PATH=/usr/bin:/bin:/usr/local/bin" "PATH=/usr/bin:/bin:/usr/local/bin"
], ],
"stdin": { "stdin": {
"src": "/home/tt/.config/joj/tests/homework/h6/e3/case7.in", "src": "/home/tt/.config/joj/tests/homework/h6/e6/case7.in",
"max": 419430400, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
@ -1204,7 +876,7 @@
"PATH=/usr/bin:/bin:/usr/local/bin" "PATH=/usr/bin:/bin:/usr/local/bin"
], ],
"stdin": { "stdin": {
"src": "/home/tt/.config/joj/tests/homework/h6/e3/case8.in", "src": "/home/tt/.config/joj/tests/homework/h6/e6/case8.in",
"max": 419430400, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
@ -1220,7 +892,7 @@
"PATH=/usr/bin:/bin:/usr/local/bin" "PATH=/usr/bin:/bin:/usr/local/bin"
], ],
"stdin": { "stdin": {
"src": "/home/tt/.config/joj/tests/homework/h6/e3/case9.in", "src": "/home/tt/.config/joj/tests/homework/h6/e6/case9.in",
"max": 419430400, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
@ -1245,7 +917,7 @@
{ {
"score": 0, "score": 0,
"fileName": "stdout", "fileName": "stdout",
"answerPath": "/home/tt/.config/joj/tests/homework/h6/e3/case0.out", "answerPath": "/home/tt/.config/joj/tests/homework/h6/e6/case0.out",
"forceQuitOnDiff": true, "forceQuitOnDiff": true,
"alwaysHide": false, "alwaysHide": false,
"compareSpace": true "compareSpace": true
@ -1257,7 +929,7 @@
{ {
"score": 0, "score": 0,
"fileName": "stdout", "fileName": "stdout",
"answerPath": "/home/tt/.config/joj/tests/homework/h6/e3/case1.out", "answerPath": "/home/tt/.config/joj/tests/homework/h6/e6/case1.out",
"forceQuitOnDiff": true, "forceQuitOnDiff": true,
"alwaysHide": false, "alwaysHide": false,
"compareSpace": true "compareSpace": true
@ -1269,7 +941,7 @@
{ {
"score": 0, "score": 0,
"fileName": "stdout", "fileName": "stdout",
"answerPath": "/home/tt/.config/joj/tests/homework/h6/e3/case2.out", "answerPath": "/home/tt/.config/joj/tests/homework/h6/e6/case2.out",
"forceQuitOnDiff": true, "forceQuitOnDiff": true,
"alwaysHide": false, "alwaysHide": false,
"compareSpace": true "compareSpace": true
@ -1281,7 +953,7 @@
{ {
"score": 0, "score": 0,
"fileName": "stdout", "fileName": "stdout",
"answerPath": "/home/tt/.config/joj/tests/homework/h6/e3/case3.out", "answerPath": "/home/tt/.config/joj/tests/homework/h6/e6/case3.out",
"forceQuitOnDiff": true, "forceQuitOnDiff": true,
"alwaysHide": false, "alwaysHide": false,
"compareSpace": true "compareSpace": true
@ -1293,7 +965,7 @@
{ {
"score": 0, "score": 0,
"fileName": "stdout", "fileName": "stdout",
"answerPath": "/home/tt/.config/joj/tests/homework/h6/e3/case4.out", "answerPath": "/home/tt/.config/joj/tests/homework/h6/e6/case4.out",
"forceQuitOnDiff": true, "forceQuitOnDiff": true,
"alwaysHide": false, "alwaysHide": false,
"compareSpace": true "compareSpace": true
@ -1305,7 +977,7 @@
{ {
"score": 0, "score": 0,
"fileName": "stdout", "fileName": "stdout",
"answerPath": "/home/tt/.config/joj/tests/homework/h6/e3/case5.out", "answerPath": "/home/tt/.config/joj/tests/homework/h6/e6/case5.out",
"forceQuitOnDiff": true, "forceQuitOnDiff": true,
"alwaysHide": false, "alwaysHide": false,
"compareSpace": true "compareSpace": true
@ -1317,7 +989,7 @@
{ {
"score": 0, "score": 0,
"fileName": "stdout", "fileName": "stdout",
"answerPath": "/home/tt/.config/joj/tests/homework/h6/e3/case6.out", "answerPath": "/home/tt/.config/joj/tests/homework/h6/e6/case6.out",
"forceQuitOnDiff": true, "forceQuitOnDiff": true,
"alwaysHide": false, "alwaysHide": false,
"compareSpace": true "compareSpace": true
@ -1329,7 +1001,7 @@
{ {
"score": 0, "score": 0,
"fileName": "stdout", "fileName": "stdout",
"answerPath": "/home/tt/.config/joj/tests/homework/h6/e3/case7.out", "answerPath": "/home/tt/.config/joj/tests/homework/h6/e6/case7.out",
"forceQuitOnDiff": true, "forceQuitOnDiff": true,
"alwaysHide": false, "alwaysHide": false,
"compareSpace": true "compareSpace": true
@ -1341,7 +1013,7 @@
{ {
"score": 0, "score": 0,
"fileName": "stdout", "fileName": "stdout",
"answerPath": "/home/tt/.config/joj/tests/homework/h6/e3/case8.out", "answerPath": "/home/tt/.config/joj/tests/homework/h6/e6/case8.out",
"forceQuitOnDiff": true, "forceQuitOnDiff": true,
"alwaysHide": false, "alwaysHide": false,
"compareSpace": true "compareSpace": true
@ -1353,7 +1025,7 @@
{ {
"score": 0, "score": 0,
"fileName": "stdout", "fileName": "stdout",
"answerPath": "/home/tt/.config/joj/tests/homework/h6/e3/case9.out", "answerPath": "/home/tt/.config/joj/tests/homework/h6/e6/case9.out",
"forceQuitOnDiff": true, "forceQuitOnDiff": true,
"alwaysHide": false, "alwaysHide": false,
"compareSpace": true "compareSpace": true
@ -1389,7 +1061,7 @@
] ]
}, },
"teapot": { "teapot": {
"logPath": "/home/tt/.cache/joj3/tests/homework/h6/e3-joint-teapot-debug.log", "logPath": "/home/tt/.cache/joj3/tests/homework/h6/e6-joint-teapot-debug.log",
"scoreboardPath": "tests/homework-scoreboard.csv", "scoreboardPath": "tests/homework-scoreboard.csv",
"failedTablePath": "tests/homework-failed-table.md", "failedTablePath": "tests/homework-failed-table.md",
"gradingRepoName": "engr151-joj", "gradingRepoName": "engr151-joj",

View File

@ -1,18 +1,17 @@
# general task configuration # general task configuration
task.name = "hw 6 ex3" # task name task.name = "hw 6 ex6" # task name
task.type = "tests/homework/h6/e6"
task.type = "tests/homework/h6/e3"
release.deadline = 2024-11-15 23:59:59+08:00 release.deadline = 2024-11-15 23:59:59+08:00
release.stages = [ "compile" ] release.stages = [ "compile" ]
[[stages]] [[stages]]
name = "Compilation" name = "Compilation"
command = "./tools/compile" # eg. script running cmake commands command = "./tools/compile" # eg. script running cmake commands
files.import = [ "tools/compile" ] files.import = [ "tools/compile" ]
files.export = [ "h6/build/ex3", "h6/build/asan", "h6/build/ubsan", "h6/build/msan", "h6/build/compile_commands.json" ] files.export = [ "h6/build/ex6", "h6/build/compile_commands.json" ]
# compile parsers # compile parsers
parsers = [ "result-detail", "dummy", "result-status" ] parsers = [ "result-detail", "dummy", "result-status" ]
result-status.comment = "Congratulations! Your code compiled successfully." result-status.comment = "Congratulations! Your code compiled successfully."
dummy.comment = "\n\n### Details\n" dummy.comment = "\n\n### Details\n"
@ -23,12 +22,12 @@ result-detail.mem = false
[[stages]] [[stages]]
name = "[cq] Filelength" name = "[cq] Filelength"
command = "./file-length 400 300 *.c *.h" command = "./tools/filelength 400 300 *.c *.h"
files.import = [ "tools/filelength" ] files.import = [ "tools/filelength" ]
parsers = [ "keyword", "dummy", "result-detail" ] parsers = [ "keyword", "dummy", "result-detail" ]
keyword.keyword = [ "max", "recommended"] keyword.keyword = [ "max", "recommended"]
keyword.weight = [ 20, 10 ] keyword.weight = [ 20, 10 ]
dummy.comment = "\n\n### Details\n" dummy.comment = "\n\n### Details\n"
result-detail.exitstatus = true result-detail.exitstatus = true
result-detail.stdout = true result-detail.stdout = true
@ -37,8 +36,8 @@ result-detail.mem = false
[[stages]] [[stages]]
name = "[cq] Clang-tidy" name = "[cq] Clang-tidy"
command = "run-clang-tidy-18 -header-filter=.* -quiet -load=/usr/local/lib/libcodequality.so -p build" command = "run-clang-tidy-18 -header-filter=.* -quiet -load=/usr/local/lib/libcodequality.so -p h6/build"
files.import = [ "projects/p2/.clang-tidy", "build/compile_commands.json" ] files.import = [ "projects/p2/.clang-tidy", "h6/build/compile_commands.json" ]
limit.stdout = 65 limit.stdout = 65
parsers = [ "clangtidy", "dummy", "result-detail" ] parsers = [ "clangtidy", "dummy", "result-detail" ]
@ -66,7 +65,7 @@ result-detail.mem = false
[[stages]] [[stages]]
name = "[cq] Cpplint" name = "[cq] Cpplint"
command = "cpplint --linelength=120 --filter=-legal,-readability/casting,-whitespace,-runtime/printf,-runtime/threadsafe_fn,-readability/todo,-build/include_subdir,-build/header_guard --recursive --exclude=build ." 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 ."
limit.stdout = 65 limit.stdout = 65
parsers = [ "cpplint", "dummy", "result-detail" ] parsers = [ "cpplint", "dummy", "result-detail" ]
@ -78,47 +77,11 @@ result-detail.stderr = true
result-detail.time = false result-detail.time = false
result-detail.mem = false result-detail.mem = false
[[stages]] [[stages]]
name = "[run] address sanitizer" name = "[joj] ex6"
group = "run"
command="./asan -a"
files.import = [ "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="./msan -a"
files.import = [ "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="./ubsan -a"
files.import = [ "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" group = "joj"
command="./ex3" command="./h6/build/ex6"
files.import = [ "h6/build/ex2", "h6/build/ex3", "h6/build/ex4", "h6/build/ex5", "h6/build/ex6", "h6/build/ex7" ] files.import = [ "h6/build/ex6" ]
score = 10 score = 10
parsers = [ "diff", "dummy", "result-detail" ] parsers = [ "diff", "dummy", "result-detail" ]
@ -174,4 +137,4 @@ case8.limit.stdout = 8
case9.score = 10 case9.score = 10
case9.limit.cpu = 30 case9.limit.cpu = 30
case9.limit.mem = 32 case9.limit.mem = 32
case9.limit.stdout = 8 case9.limit.stdout = 8