feat: support for subfolder change param
This commit is contained in:
parent
ba456cf7f0
commit
a8a7fd47a0
|
@ -169,11 +169,17 @@ def fix_diff(
|
||||||
valid_cases = (
|
valid_cases = (
|
||||||
(case, task_stage.cases[case])
|
(case, task_stage.cases[case])
|
||||||
for case in task_stage.cases
|
for case in task_stage.cases
|
||||||
if case not in task_stage.skip and case in task_stage.cases
|
if case not in task_stage.skip
|
||||||
)
|
)
|
||||||
testcases = get_testcases(task_root, task_path)
|
testcases = get_testcases(task_root, task_path)
|
||||||
# TODO: better filter strategy
|
default_cases = sorted(
|
||||||
default_cases = sorted(testcases.difference(task_stage.cases))
|
[
|
||||||
|
case
|
||||||
|
for case in testcases
|
||||||
|
if any(case.endswith(other) for other in task_stage.cases)
|
||||||
|
]
|
||||||
|
)
|
||||||
|
print(default_cases)
|
||||||
stage_cases = []
|
stage_cases = []
|
||||||
parser_cases = []
|
parser_cases = []
|
||||||
for case, case_stage in valid_cases:
|
for case, case_stage in valid_cases:
|
||||||
|
@ -219,7 +225,6 @@ def fix_diff(
|
||||||
parser_case = result.DiffCasesConfig(
|
parser_case = result.DiffCasesConfig(
|
||||||
outputs=[
|
outputs=[
|
||||||
result.DiffOutputConfig(
|
result.DiffOutputConfig(
|
||||||
# TODO: how to balance a good score strategy
|
|
||||||
score=5, # default score
|
score=5, # default score
|
||||||
file_name="stdout",
|
file_name="stdout",
|
||||||
answer_path=str(base_dir / f"{case}.out"),
|
answer_path=str(base_dir / f"{case}.out"),
|
||||||
|
|
|
@ -78,42 +78,56 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"stdin": {
|
"stdin": {
|
||||||
"src": "/home/tt/.config/joj/diff/case2.in"
|
"src": "/home/tt/.config/joj/diff/case9.in"
|
||||||
|
},
|
||||||
|
"memoryLimit": 268435456
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"stdin": {
|
||||||
|
"src": "/home/tt/.config/joj/diff/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": {
|
"stdin": {
|
||||||
"src": "/home/tt/.config/joj/diff/case3.in"
|
"src": "/home/tt/.config/joj/diff/case1.in"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"stdin": {
|
"stdin": {
|
||||||
"src": "/home/tt/.config/joj/diff/task1/subtask1/task5.in"
|
"src": "/home/tt/.config/joj/diff/case9.in"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"stdin": {
|
"stdin": {
|
||||||
"src": "/home/tt/.config/joj/diff/task1/subtask1/task6.in"
|
"src": "/home/tt/.config/joj/diff/task1/case5.in"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"stdin": {
|
"stdin": {
|
||||||
"src": "/home/tt/.config/joj/diff/task1/task1.in"
|
"src": "/home/tt/.config/joj/diff/task1/subtask1/case10.in"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"stdin": {
|
"stdin": {
|
||||||
"src": "/home/tt/.config/joj/diff/task1/task2.in"
|
"src": "/home/tt/.config/joj/diff/task1/subtask1/case11.in"
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"stdin": {
|
|
||||||
"src": "/home/tt/.config/joj/diff/task2/task3.in"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"stdin": {
|
|
||||||
"src": "/home/tt/.config/joj/diff/task2/task4.in"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -125,6 +139,78 @@
|
||||||
"with": {
|
"with": {
|
||||||
"name": "diff",
|
"name": "diff",
|
||||||
"cases": [
|
"cases": [
|
||||||
|
{
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"score": 5,
|
||||||
|
"fileName": "stdout",
|
||||||
|
"answerPath": "/home/tt/.config/joj/diff/case0.out",
|
||||||
|
"forceQuitOnDiff": false,
|
||||||
|
"alwaysHide": false,
|
||||||
|
"compareSpace": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"score": 123214122421,
|
||||||
|
"fileName": "stdout",
|
||||||
|
"answerPath": "/home/tt/.config/joj/diff/case1.out",
|
||||||
|
"forceQuitOnDiff": false,
|
||||||
|
"alwaysHide": false,
|
||||||
|
"compareSpace": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"score": 1232131,
|
||||||
|
"fileName": "stdout",
|
||||||
|
"answerPath": "/home/tt/.config/joj/diff/case9.out",
|
||||||
|
"forceQuitOnDiff": false,
|
||||||
|
"alwaysHide": false,
|
||||||
|
"compareSpace": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"score": 92321,
|
||||||
|
"fileName": "stdout",
|
||||||
|
"answerPath": "/home/tt/.config/joj/diff/case11.out",
|
||||||
|
"forceQuitOnDiff": false,
|
||||||
|
"alwaysHide": false,
|
||||||
|
"compareSpace": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"score": 823131,
|
||||||
|
"fileName": "stdout",
|
||||||
|
"answerPath": "/home/tt/.config/joj/diff/case10.out",
|
||||||
|
"forceQuitOnDiff": false,
|
||||||
|
"alwaysHide": false,
|
||||||
|
"compareSpace": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"score": 2590,
|
||||||
|
"fileName": "stdout",
|
||||||
|
"answerPath": "/home/tt/.config/joj/diff/case5.out",
|
||||||
|
"forceQuitOnDiff": false,
|
||||||
|
"alwaysHide": false,
|
||||||
|
"compareSpace": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"outputs": [
|
"outputs": [
|
||||||
{
|
{
|
||||||
|
@ -154,7 +240,7 @@
|
||||||
{
|
{
|
||||||
"score": 5,
|
"score": 5,
|
||||||
"fileName": "stdout",
|
"fileName": "stdout",
|
||||||
"answerPath": "/home/tt/.config/joj/diff/case2.out",
|
"answerPath": "/home/tt/.config/joj/diff/case9.out",
|
||||||
"forceQuitOnDiff": false,
|
"forceQuitOnDiff": false,
|
||||||
"alwaysHide": false,
|
"alwaysHide": false,
|
||||||
"compareSpace": false
|
"compareSpace": false
|
||||||
|
@ -166,7 +252,7 @@
|
||||||
{
|
{
|
||||||
"score": 5,
|
"score": 5,
|
||||||
"fileName": "stdout",
|
"fileName": "stdout",
|
||||||
"answerPath": "/home/tt/.config/joj/diff/case3.out",
|
"answerPath": "/home/tt/.config/joj/diff/task1/case5.out",
|
||||||
"forceQuitOnDiff": false,
|
"forceQuitOnDiff": false,
|
||||||
"alwaysHide": false,
|
"alwaysHide": false,
|
||||||
"compareSpace": false
|
"compareSpace": false
|
||||||
|
@ -178,7 +264,7 @@
|
||||||
{
|
{
|
||||||
"score": 5,
|
"score": 5,
|
||||||
"fileName": "stdout",
|
"fileName": "stdout",
|
||||||
"answerPath": "/home/tt/.config/joj/diff/task1/subtask1/task5.out",
|
"answerPath": "/home/tt/.config/joj/diff/task1/subtask1/case10.out",
|
||||||
"forceQuitOnDiff": false,
|
"forceQuitOnDiff": false,
|
||||||
"alwaysHide": false,
|
"alwaysHide": false,
|
||||||
"compareSpace": false
|
"compareSpace": false
|
||||||
|
@ -190,55 +276,7 @@
|
||||||
{
|
{
|
||||||
"score": 5,
|
"score": 5,
|
||||||
"fileName": "stdout",
|
"fileName": "stdout",
|
||||||
"answerPath": "/home/tt/.config/joj/diff/task1/subtask1/task6.out",
|
"answerPath": "/home/tt/.config/joj/diff/task1/subtask1/case11.out",
|
||||||
"forceQuitOnDiff": false,
|
|
||||||
"alwaysHide": false,
|
|
||||||
"compareSpace": false
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"score": 5,
|
|
||||||
"fileName": "stdout",
|
|
||||||
"answerPath": "/home/tt/.config/joj/diff/task1/task1.out",
|
|
||||||
"forceQuitOnDiff": false,
|
|
||||||
"alwaysHide": false,
|
|
||||||
"compareSpace": false
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"score": 5,
|
|
||||||
"fileName": "stdout",
|
|
||||||
"answerPath": "/home/tt/.config/joj/diff/task1/task2.out",
|
|
||||||
"forceQuitOnDiff": false,
|
|
||||||
"alwaysHide": false,
|
|
||||||
"compareSpace": false
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"score": 5,
|
|
||||||
"fileName": "stdout",
|
|
||||||
"answerPath": "/home/tt/.config/joj/diff/task2/task3.out",
|
|
||||||
"forceQuitOnDiff": false,
|
|
||||||
"alwaysHide": false,
|
|
||||||
"compareSpace": false
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"score": 5,
|
|
||||||
"fileName": "stdout",
|
|
||||||
"answerPath": "/home/tt/.config/joj/diff/task2/task4.out",
|
|
||||||
"forceQuitOnDiff": false,
|
"forceQuitOnDiff": false,
|
||||||
"alwaysHide": false,
|
"alwaysHide": false,
|
||||||
"compareSpace": false
|
"compareSpace": false
|
||||||
|
|
|
@ -23,10 +23,18 @@ case0.diff.output.ignore_spaces = true
|
||||||
#case0.command = "./h7/build/ex2"
|
#case0.command = "./h7/build/ex2"
|
||||||
case0.in = "case0.in"
|
case0.in = "case0.in"
|
||||||
|
|
||||||
case1.diff.output.score = 5
|
case1.diff.output.score = 123214122421
|
||||||
case1.limit.cpu = "2s"
|
case1.limit.cpu = "2s"
|
||||||
case1.limit.mem = "4m"
|
case1.limit.mem = "4m"
|
||||||
case1.diff.output.ignore_spaces = true
|
case1.diff.output.ignore_spaces = true
|
||||||
#case1.limit.stdout = 8
|
#case1.limit.stdout = 8
|
||||||
#case1.command = "./h7/build/ex2"
|
#case1.command = "./h7/build/ex2"
|
||||||
case1.in = "case1.in"
|
case1.in = "case1.in"
|
||||||
|
|
||||||
|
case9.diff.output.score = 1232131
|
||||||
|
|
||||||
|
case11.diff.output.score = 92321
|
||||||
|
|
||||||
|
case10.diff.output.score = 823131
|
||||||
|
|
||||||
|
case5.diff.output.score = 2590
|
||||||
|
|
0
tests/convert/diff/task2/case7.in
Normal file
0
tests/convert/diff/task2/case7.in
Normal file
0
tests/convert/diff/task2/case8.out
Normal file
0
tests/convert/diff/task2/case8.out
Normal file
Loading…
Reference in New Issue
Block a user