diff --git a/joj3_config_generator/models/result.py b/joj3_config_generator/models/result.py index 7338c7a..91ef685 100644 --- a/joj3_config_generator/models/result.py +++ b/joj3_config_generator/models/result.py @@ -132,7 +132,7 @@ class Parser(BaseModel): def validate_with(cls, v: Any) -> Dict[str, Any]: if isinstance(v, BaseModel): return v.model_dump(by_alias=True) - raise ValueError(f"Must be a BaseModel instance") + raise ValueError("Must be a BaseModel instance") class StageDetail(BaseModel): @@ -168,7 +168,7 @@ class Config(BaseModel): class DummyConfig(BaseModel): - score: Optional[int] = None + score: int = 0 comment: Optional[str] = None force_quit_on_not_accepted: Optional[bool] = Field( False, serialization_alias="forceQuitOnNotAccepted" @@ -176,7 +176,7 @@ class DummyConfig(BaseModel): class DiffOutputConfig(BaseModel): - score: Optional[int] = None + score: int = 100 file_name: str = Field("", serialization_alias="fileName") answer_path: str = Field("", serialization_alias="answerPath") force_quit_on_diff: Optional[bool] = Field( diff --git a/joj3_config_generator/processers/task.py b/joj3_config_generator/processers/task.py index 84575f8..ddca853 100644 --- a/joj3_config_generator/processers/task.py +++ b/joj3_config_generator/processers/task.py @@ -4,6 +4,7 @@ from pathlib import Path from typing import Any, Callable, Dict, List, Tuple from joj3_config_generator.models import result, task +from joj3_config_generator.models.common import Memory, Time from joj3_config_generator.models.const import JOJ3_CONFIG_ROOT @@ -78,11 +79,15 @@ def get_executor_with( copy_out=copy_out_files, copy_in_cached={file: file for file in cached}, copy_out_cached=file_export, - cpu_limit=task_stage.limit.cpu, - clock_limit=2 * task_stage.limit.cpu, - memory_limit=task_stage.limit.mem, - stderr=result.Collector(name="stderr"), - stdout=result.Collector(name="stdout"), + cpu_limit=Time(task_stage.limit.cpu), + clock_limit=2 * Time(task_stage.limit.cpu), + memory_limit=Memory(task_stage.limit.mem), + stderr=result.Collector( + name="stderr", pipe=True, max=Memory(task_stage.limit.stderr) + ), + stdout=result.Collector( + name="stdout", pipe=True, max=Memory(task_stage.limit.stdout) + ), ), cases=[], )