feat: support for subfolder change param
All checks were successful
build / build (push) Successful in 1m50s
build / build (pull_request) Successful in 1m37s

This commit is contained in:
李衍志523370910113 2025-05-14 21:27:33 +08:00
parent ba456cf7f0
commit a8a7fd47a0
17 changed files with 124 additions and 73 deletions

View File

@ -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"),

View File

@ -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

View File

@ -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

View File

View File