fix(diff): bugs on diff stdin and numerics #16

Merged
张泊明518370910136 merged 22 commits from fix/diff into master 2025-05-24 02:45:39 +08:00
2 changed files with 3 additions and 3 deletions
Showing only changes of commit 391d61d006 - Show all commits

View File

@ -5,6 +5,7 @@ from joj3_config_generator.models.common import Memory, Time
DEFAULT_CPU_LIMIT = Time("1s")
DEFAULT_MEMORY_LIMIT = Memory("256m")
DEFAULT_FILE_LIMIT = Memory("32m")
DEFAULT_CASE_SCORE = 5
jon-lee marked this conversation as resolved Outdated

why is it removed?

why is it removed?

added a field in toml named diff.default_score and this 5 is now directly written numerically here:

class ParserDiff(BaseModel):
    output: Outputs = Outputs()
    default_score: int = 5

added back now.

added a field in toml named `diff.default_score` and this 5 is now directly written numerically here: ``` class ParserDiff(BaseModel): output: Outputs = Outputs() default_score: int = 5 ``` --- added back now.

why not

class ParserDiff(BaseModel):
    output: Outputs = Outputs()
    default_score: int = DEFAULT_CASE_SCORE
why not ``` class ParserDiff(BaseModel): output: Outputs = Outputs() default_score: int = DEFAULT_CASE_SCORE ```

yes, this is the case now, sorry :)

yes, this is the case now, sorry :)

do we need to also create a DEFAULT_PROC_LIMIT?

do we need to also create a `DEFAULT_PROC_LIMIT`?

good idea, maybe we can also have DEFAULT_CLOCK_LIMIT_MULTIPLIER

good idea, maybe we can also have `DEFAULT_CLOCK_LIMIT_MULTIPLIER`

both added now.

both added now.
JOJ3_CONFIG_ROOT = Path("/home/tt/.config/joj")
TEAPOT_CONFIG_ROOT = Path("/home/tt/.config/teapot")

View File

@ -4,7 +4,7 @@ from functools import partial
from pathlib import Path
from typing import Any, Callable, Dict, List, Set, Tuple
from joj3_config_generator.models import result, task
from joj3_config_generator.models import const, result, task
from joj3_config_generator.models.common import Memory, Time
from joj3_config_generator.models.const import JOJ3_CONFIG_ROOT
from joj3_config_generator.models.task import Parser as ParserEnum
@ -179,7 +179,6 @@ def fix_diff(
if any(case.endswith(other) for other in task_stage.cases)
]
)
print(default_cases)
stage_cases = []
parser_cases = []
for case, case_stage in valid_cases:
@ -225,7 +224,7 @@ def fix_diff(
parser_case = result.DiffCasesConfig(
outputs=[
result.DiffOutputConfig(
score=5, # default score
score=const.DEFAULT_CASE_SCORE,
file_name="stdout",
answer_path=str(base_dir / f"{case}.out"),
)