fix(diff): bugs in auto detect cases #14
|
@ -166,19 +166,25 @@ def fix_diff(
|
|||
task_path: Path,
|
||||
) -> None:
|
||||
base_dir = JOJ3_CONFIG_ROOT / task_path.parent
|
||||
valid_cases = (
|
||||
(case, task_stage.cases[case])
|
||||
for case in task_stage.cases
|
||||
if case not in task_stage.skip
|
||||
)
|
||||
# all intended testcases that is detected
|
||||
testcases = get_testcases(task_root, task_path)
|
||||
# all testcases that is not specified in the toml config
|
||||
default_cases = sorted(
|
||||
[
|
||||
case
|
||||
for case in testcases
|
||||
if any(case.endswith(other) for other in task_stage.cases)
|
||||
]
|
||||
testcases.difference(
|
||||
[
|
||||
casei
|
||||
for casei in testcases
|
||||
if any(casei.endswith(casej) for casej in task_stage.cases)
|
||||
]
|
||||
)
|
||||
)
|
||||
# those in toml config that is not skiped
|
||||
valid_cases = [
|
||||
(casej, task_stage.cases[casei])
|
||||
for casei in task_stage.cases
|
||||
for casej in testcases
|
||||
if (casei not in task_stage.skip and casej.endswith(casei))
|
||||
]
|
||||
stage_cases = []
|
||||
parser_cases = []
|
||||
for case, case_stage in valid_cases:
|
||||
|
|
|
@ -719,22 +719,7 @@
|
|||
"dataSegmentLimit": false,
|
||||
"addressSpaceLimit": false
|
||||
},
|
||||
"cases": [
|
||||
{
|
||||
"stdin": {
|
||||
"src": "/home/tt/.config/joj/basic/case0.in"
|
||||
},
|
||||
"cpuLimit": 500000000,
|
||||
"clockLimit": 1000000000,
|
||||
"memoryLimit": 5242880
|
||||
},
|
||||
{
|
||||
"stdin": {
|
||||
"src": "/home/tt/.config/joj/basic/case1.in"
|
||||
},
|
||||
"memoryLimit": 5242880
|
||||
}
|
||||
]
|
||||
"cases": []
|
||||
}
|
||||
},
|
||||
"parsers": [
|
||||
|
@ -742,32 +727,7 @@
|
|||
"name": "diff",
|
||||
"with": {
|
||||
"name": "diff",
|
||||
"cases": [
|
||||
{
|
||||
"outputs": [
|
||||
{
|
||||
"score": 5,
|
||||
"fileName": "stdout",
|
||||
"answerPath": "/home/tt/.config/joj/basic/case0.out",
|
||||
"forceQuitOnDiff": false,
|
||||
"alwaysHide": false,
|
||||
"compareSpace": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"outputs": [
|
||||
{
|
||||
"score": 5,
|
||||
"fileName": "stdout",
|
||||
"answerPath": "/home/tt/.config/joj/basic/case1.out",
|
||||
"forceQuitOnDiff": false,
|
||||
"alwaysHide": false,
|
||||
"compareSpace": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
"cases": []
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
|
@ -65,12 +65,18 @@
|
|||
},
|
||||
"cases": [
|
||||
{
|
||||
"args": [
|
||||
"./h7/build/ex2"
|
||||
],
|
||||
"stdin": {
|
||||
"src": "/home/tt/.config/joj/diff/case0.in"
|
||||
},
|
||||
"memoryLimit": 2097152
|
||||
},
|
||||
{
|
||||
"args": [
|
||||
"./h7/build/ex2"
|
||||
],
|
||||
"stdin": {
|
||||
"src": "/home/tt/.config/joj/diff/case1.in"
|
||||
},
|
||||
|
@ -86,50 +92,50 @@
|
|||
},
|
||||
{
|
||||
"stdin": {
|
||||
"src": "/home/tt/.config/joj/diff/case11.in"
|
||||
"src": "/home/tt/.config/joj/diff/task1/subtask1/case11.in"
|
||||
},
|
||||
"memoryLimit": 268435456
|
||||
},
|
||||
{
|
||||
"stdin": {
|
||||
"src": "/home/tt/.config/joj/diff/case10.in"
|
||||
},
|
||||
"memoryLimit": 268435456
|
||||
},
|
||||
{
|
||||
"stdin": {
|
||||
"src": "/home/tt/.config/joj/diff/case5.in"
|
||||
},
|
||||
"memoryLimit": 268435456
|
||||
},
|
||||
{
|
||||
"stdin": {
|
||||
"src": "/home/tt/.config/joj/diff/case0.in"
|
||||
}
|
||||
},
|
||||
{
|
||||
"stdin": {
|
||||
"src": "/home/tt/.config/joj/diff/case1.in"
|
||||
}
|
||||
},
|
||||
{
|
||||
"stdin": {
|
||||
"src": "/home/tt/.config/joj/diff/case9.in"
|
||||
}
|
||||
},
|
||||
{
|
||||
"stdin": {
|
||||
"src": "/home/tt/.config/joj/diff/task1/case5.in"
|
||||
}
|
||||
},
|
||||
{
|
||||
"stdin": {
|
||||
"src": "/home/tt/.config/joj/diff/task1/subtask1/case10.in"
|
||||
},
|
||||
"memoryLimit": 268435456
|
||||
},
|
||||
{
|
||||
"stdin": {
|
||||
"src": "/home/tt/.config/joj/diff/task1/case5.in"
|
||||
},
|
||||
"memoryLimit": 268435456
|
||||
},
|
||||
{
|
||||
"stdin": {
|
||||
"src": "/home/tt/.config/joj/diff/case2.in"
|
||||
}
|
||||
},
|
||||
{
|
||||
"stdin": {
|
||||
"src": "/home/tt/.config/joj/diff/task1/subtask1/case11.in"
|
||||
"src": "/home/tt/.config/joj/diff/case3.in"
|
||||
}
|
||||
},
|
||||
{
|
||||
"stdin": {
|
||||
"src": "/home/tt/.config/joj/diff/task1/case4.in"
|
||||
}
|
||||
},
|
||||
{
|
||||
"stdin": {
|
||||
"src": "/home/tt/.config/joj/diff/task2/case6.in"
|
||||
}
|
||||
},
|
||||
{
|
||||
"stdin": {
|
||||
"src": "/home/tt/.config/joj/diff/task2/case7.in"
|
||||
}
|
||||
},
|
||||
{
|
||||
"stdin": {
|
||||
"src": "/home/tt/.config/joj/diff/task2/case8.in"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -182,7 +188,7 @@
|
|||
{
|
||||
"score": 92321,
|
||||
"fileName": "stdout",
|
||||
"answerPath": "/home/tt/.config/joj/diff/case11.out",
|
||||
"answerPath": "/home/tt/.config/joj/diff/task1/subtask1/case11.out",
|
||||
"forceQuitOnDiff": false,
|
||||
"alwaysHide": false,
|
||||
"compareSpace": false
|
||||
|
@ -194,7 +200,7 @@
|
|||
{
|
||||
"score": 823131,
|
||||
"fileName": "stdout",
|
||||
"answerPath": "/home/tt/.config/joj/diff/case10.out",
|
||||
"answerPath": "/home/tt/.config/joj/diff/task1/subtask1/case10.out",
|
||||
"forceQuitOnDiff": false,
|
||||
"alwaysHide": false,
|
||||
"compareSpace": false
|
||||
|
@ -206,54 +212,6 @@
|
|||
{
|
||||
"score": 2590,
|
||||
"fileName": "stdout",
|
||||
"answerPath": "/home/tt/.config/joj/diff/case5.out",
|
||||
"forceQuitOnDiff": false,
|
||||
"alwaysHide": false,
|
||||
"compareSpace": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"outputs": [
|
||||
{
|
||||
"score": 5,
|
||||
"fileName": "stdout",
|
||||
"answerPath": "/home/tt/.config/joj/diff/case0.out",
|
||||
"forceQuitOnDiff": false,
|
||||
"alwaysHide": false,
|
||||
"compareSpace": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"outputs": [
|
||||
{
|
||||
"score": 5,
|
||||
"fileName": "stdout",
|
||||
"answerPath": "/home/tt/.config/joj/diff/case1.out",
|
||||
"forceQuitOnDiff": false,
|
||||
"alwaysHide": false,
|
||||
"compareSpace": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"outputs": [
|
||||
{
|
||||
"score": 5,
|
||||
"fileName": "stdout",
|
||||
"answerPath": "/home/tt/.config/joj/diff/case9.out",
|
||||
"forceQuitOnDiff": false,
|
||||
"alwaysHide": false,
|
||||
"compareSpace": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"outputs": [
|
||||
{
|
||||
"score": 5,
|
||||
"fileName": "stdout",
|
||||
"answerPath": "/home/tt/.config/joj/diff/task1/case5.out",
|
||||
"forceQuitOnDiff": false,
|
||||
"alwaysHide": false,
|
||||
|
@ -266,7 +224,7 @@
|
|||
{
|
||||
"score": 5,
|
||||
"fileName": "stdout",
|
||||
"answerPath": "/home/tt/.config/joj/diff/task1/subtask1/case10.out",
|
||||
"answerPath": "/home/tt/.config/joj/diff/case2.out",
|
||||
"forceQuitOnDiff": false,
|
||||
"alwaysHide": false,
|
||||
"compareSpace": false
|
||||
|
@ -278,7 +236,55 @@
|
|||
{
|
||||
"score": 5,
|
||||
"fileName": "stdout",
|
||||
"answerPath": "/home/tt/.config/joj/diff/task1/subtask1/case11.out",
|
||||
"answerPath": "/home/tt/.config/joj/diff/case3.out",
|
||||
"forceQuitOnDiff": false,
|
||||
"alwaysHide": false,
|
||||
"compareSpace": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"outputs": [
|
||||
{
|
||||
"score": 5,
|
||||
"fileName": "stdout",
|
||||
"answerPath": "/home/tt/.config/joj/diff/task1/case4.out",
|
||||
"forceQuitOnDiff": false,
|
||||
"alwaysHide": false,
|
||||
"compareSpace": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"outputs": [
|
||||
{
|
||||
"score": 5,
|
||||
"fileName": "stdout",
|
||||
"answerPath": "/home/tt/.config/joj/diff/task2/case6.out",
|
||||
"forceQuitOnDiff": false,
|
||||
"alwaysHide": false,
|
||||
"compareSpace": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"outputs": [
|
||||
{
|
||||
"score": 5,
|
||||
"fileName": "stdout",
|
||||
"answerPath": "/home/tt/.config/joj/diff/task2/case7.out",
|
||||
"forceQuitOnDiff": false,
|
||||
"alwaysHide": false,
|
||||
"compareSpace": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"outputs": [
|
||||
{
|
||||
"score": 5,
|
||||
"fileName": "stdout",
|
||||
"answerPath": "/home/tt/.config/joj/diff/task2/case8.out",
|
||||
"forceQuitOnDiff": false,
|
||||
"alwaysHide": false,
|
||||
"compareSpace": false
|
||||
|
|
|
@ -19,17 +19,14 @@ case0.diff.output.score = 5
|
|||
case0.limit.cpu = "1s"
|
||||
case0.limit.mem = "2m"
|
||||
case0.diff.output.ignore_spaces = true
|
||||
#case0.limit.stdout = 8
|
||||
#case0.command = "./h7/build/ex2"
|
||||
case0.command = "./h7/build/ex2"
|
||||
case0.in = "case0.in"
|
||||
|
||||
case1.diff.output.score = 123214122421
|
||||
case1.limit.cpu = "2s"
|
||||
case1.limit.mem = "4m"
|
||||
case1.diff.output.ignore_spaces = true
|
||||
#case1.limit.stdout = 8
|
||||
#case1.command = "./h7/build/ex2"
|
||||
case1.in = "case1.in"
|
||||
case1.command = "./h7/build/ex2"
|
||||
|
||||
case9.diff.output.score = 1232131
|
||||
|
||||
|
|
0
tests/convert/diff/task2/case7.out
Normal file
0
tests/convert/diff/task2/case7.out
Normal file
0
tests/convert/diff/task2/case8.in
Normal file
0
tests/convert/diff/task2/case8.in
Normal file
Loading…
Reference in New Issue
Block a user