diff --git a/joj3_config_generator/transformers/task.py b/joj3_config_generator/transformers/task.py index 25d16fd..d26d167 100644 --- a/joj3_config_generator/transformers/task.py +++ b/joj3_config_generator/transformers/task.py @@ -273,17 +273,18 @@ def fix_diff( ) ] ) - collected_cases.append((case_name, cmd, parser_case)) + collected_cases.append((stdout, cmd, parser_case)) for case_name in unspecified_cases: cmd = result.OptionalCmd( stdin=result.LocalFile(src=str(base_dir / f"{case_name}.in")), ) + stdout = str(base_dir / f"{case_name}.out") parser_case = result.DiffCasesConfig( outputs=[ result.DiffOutputConfig( score=task_stage.diff.score, filename="stdout", - answer_path=str(base_dir / f"{case_name}.out"), + answer_path=stdout, compare_space=not task_stage.diff.ignore_spaces, always_hide=task_stage.diff.hide, force_quit_on_diff=task_stage.diff.force_quit, @@ -293,7 +294,7 @@ def fix_diff( ) ] ) - collected_cases.append((case_name, cmd, parser_case)) + collected_cases.append((stdout, cmd, parser_case)) sorted_collected_cases = natsorted(collected_cases, key=lambda x: x[0]) stage_cases = [x[1] for x in sorted_collected_cases] parser_cases = [x[2] for x in sorted_collected_cases] diff --git a/tests/convert/diff/task.json b/tests/convert/diff/task.json index b2a9f9a..95b4ac3 100644 --- a/tests/convert/diff/task.json +++ b/tests/convert/diff/task.json @@ -92,12 +92,17 @@ }, { "stdin": { - "src": "/home/tt/.config/joj/diff/task1/case5.in" + "src": "/home/tt/.config/joj/diff/case9.in" } }, { "stdin": { - "src": "/home/tt/.config/joj/diff/case9.in" + "src": "/home/tt/.config/joj/diff/task1/case4.in" + } + }, + { + "stdin": { + "src": "/home/tt/.config/joj/diff/task1/case5.in" } }, { @@ -110,11 +115,6 @@ "src": "/home/tt/.config/joj/diff/task1/subtask1/case11.in" } }, - { - "stdin": { - "src": "/home/tt/.config/joj/diff/task1/case4.in" - } - }, { "stdin": { "src": "/home/tt/.config/joj/diff/task2/case6.in" @@ -187,9 +187,9 @@ { "outputs": [ { - "score": 2590, + "score": 1232131, "filename": "stdout", - "answerPath": "/home/tt/.config/joj/diff/task1/case5.out", + "answerPath": "/home/tt/.config/joj/diff/case9.out", "compareSpace": false, "alwaysHide": false, "forceQuitOnDiff": false, @@ -202,9 +202,24 @@ { "outputs": [ { - "score": 1232131, + "score": 100, "filename": "stdout", - "answerPath": "/home/tt/.config/joj/diff/case9.out", + "answerPath": "/home/tt/.config/joj/diff/task1/case4.out", + "compareSpace": false, + "alwaysHide": false, + "forceQuitOnDiff": false, + "maxDiffLength": 2048, + "maxDiffLines": 50, + "hideCommonPrefix": false + } + ] + }, + { + "outputs": [ + { + "score": 2590, + "filename": "stdout", + "answerPath": "/home/tt/.config/joj/diff/task1/case5.out", "compareSpace": false, "alwaysHide": false, "forceQuitOnDiff": false, @@ -244,21 +259,6 @@ } ] }, - { - "outputs": [ - { - "score": 100, - "filename": "stdout", - "answerPath": "/home/tt/.config/joj/diff/task1/case4.out", - "compareSpace": false, - "alwaysHide": false, - "forceQuitOnDiff": false, - "maxDiffLength": 2048, - "maxDiffLines": 50, - "hideCommonPrefix": false - } - ] - }, { "outputs": [ { @@ -384,6 +384,11 @@ "addressSpaceLimit": false }, "cases": [ + { + "stdin": { + "src": "/home/tt/.config/joj/diff/task1/case4.in" + } + }, { "stdin": { "src": "/home/tt/.config/joj/diff/task1/case5.in" @@ -394,11 +399,6 @@ "src": "/home/tt/.config/joj/diff/task1/case9.in" } }, - { - "stdin": { - "src": "/home/tt/.config/joj/diff/task1/case4.in" - } - }, { "stdin": { "src": "/home/tt/.config/joj/diff/task1/subtask1/case10.in" @@ -418,6 +418,21 @@ "with": { "name": "diff", "cases": [ + { + "outputs": [ + { + "score": 100, + "filename": "stdout", + "answerPath": "/home/tt/.config/joj/diff/task1/case4.out", + "compareSpace": false, + "alwaysHide": false, + "forceQuitOnDiff": false, + "maxDiffLength": 2048, + "maxDiffLines": 50, + "hideCommonPrefix": false + } + ] + }, { "outputs": [ { @@ -448,21 +463,6 @@ } ] }, - { - "outputs": [ - { - "score": 100, - "filename": "stdout", - "answerPath": "/home/tt/.config/joj/diff/task1/case4.out", - "compareSpace": false, - "alwaysHide": false, - "forceQuitOnDiff": false, - "maxDiffLength": 2048, - "maxDiffLines": 50, - "hideCommonPrefix": false - } - ] - }, { "outputs": [ { @@ -573,11 +573,6 @@ "addressSpaceLimit": false }, "cases": [ - { - "stdin": { - "src": "/home/tt/.config/joj/diff/task2/case9.in" - } - }, { "stdin": { "src": "/home/tt/.config/joj/diff/task2/case6.in" @@ -592,6 +587,11 @@ "stdin": { "src": "/home/tt/.config/joj/diff/task2/case8.in" } + }, + { + "stdin": { + "src": "/home/tt/.config/joj/diff/task2/case9.in" + } } ] } @@ -602,21 +602,6 @@ "with": { "name": "diff", "cases": [ - { - "outputs": [ - { - "score": 99999, - "filename": "stdout", - "answerPath": "/home/tt/.config/joj/diff/task2/case9.out", - "compareSpace": false, - "alwaysHide": false, - "forceQuitOnDiff": false, - "maxDiffLength": 2048, - "maxDiffLines": 50, - "hideCommonPrefix": false - } - ] - }, { "outputs": [ { @@ -661,6 +646,21 @@ "hideCommonPrefix": false } ] + }, + { + "outputs": [ + { + "score": 99999, + "filename": "stdout", + "answerPath": "/home/tt/.config/joj/diff/task2/case9.out", + "compareSpace": false, + "alwaysHide": false, + "forceQuitOnDiff": false, + "maxDiffLength": 2048, + "maxDiffLines": 50, + "hideCommonPrefix": false + } + ] } ] } diff --git a/tests/convert/full/task.json b/tests/convert/full/task.json index 47e307b..bd2de5c 100644 --- a/tests/convert/full/task.json +++ b/tests/convert/full/task.json @@ -173,6 +173,11 @@ "src": "/home/tt/.config/joj/full/cases/case0.in" } }, + { + "stdin": { + "src": "/home/tt/.config/joj/full/cases/case1.in" + } + }, { "stdin": { "src": "/home/tt/.config/joj/full/cases/case2.in" @@ -180,11 +185,6 @@ "cpuLimit": 2000000000, "memoryLimit": 536870912 }, - { - "stdin": { - "src": "/home/tt/.config/joj/full/cases/case1.in" - } - }, { "stdin": { "src": "/home/tt/.config/joj/full/other/cases/case3.in" @@ -369,7 +369,7 @@ { "score": 5, "filename": "stdout", - "answerPath": "/home/tt/.config/joj/full/cases/case2.out", + "answerPath": "/home/tt/.config/joj/full/cases/case1.out", "compareSpace": false, "alwaysHide": false, "forceQuitOnDiff": false, @@ -384,7 +384,7 @@ { "score": 5, "filename": "stdout", - "answerPath": "/home/tt/.config/joj/full/cases/case1.out", + "answerPath": "/home/tt/.config/joj/full/cases/case2.out", "compareSpace": false, "alwaysHide": false, "forceQuitOnDiff": false,