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