feat: time and memory parse
This commit is contained in:
parent
30fae62b67
commit
deb90a02ca
|
@ -132,7 +132,7 @@ class Parser(BaseModel):
|
||||||
def validate_with(cls, v: Any) -> Dict[str, Any]:
|
def validate_with(cls, v: Any) -> Dict[str, Any]:
|
||||||
if isinstance(v, BaseModel):
|
if isinstance(v, BaseModel):
|
||||||
return v.model_dump(by_alias=True)
|
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):
|
class StageDetail(BaseModel):
|
||||||
|
@ -168,7 +168,7 @@ class Config(BaseModel):
|
||||||
|
|
||||||
|
|
||||||
class DummyConfig(BaseModel):
|
class DummyConfig(BaseModel):
|
||||||
score: Optional[int] = None
|
score: int = 0
|
||||||
comment: Optional[str] = None
|
comment: Optional[str] = None
|
||||||
force_quit_on_not_accepted: Optional[bool] = Field(
|
force_quit_on_not_accepted: Optional[bool] = Field(
|
||||||
False, serialization_alias="forceQuitOnNotAccepted"
|
False, serialization_alias="forceQuitOnNotAccepted"
|
||||||
|
@ -176,7 +176,7 @@ class DummyConfig(BaseModel):
|
||||||
|
|
||||||
|
|
||||||
class DiffOutputConfig(BaseModel):
|
class DiffOutputConfig(BaseModel):
|
||||||
score: Optional[int] = None
|
score: int = 100
|
||||||
file_name: str = Field("", serialization_alias="fileName")
|
file_name: str = Field("", serialization_alias="fileName")
|
||||||
answer_path: str = Field("", serialization_alias="answerPath")
|
answer_path: str = Field("", serialization_alias="answerPath")
|
||||||
force_quit_on_diff: Optional[bool] = Field(
|
force_quit_on_diff: Optional[bool] = Field(
|
||||||
|
|
|
@ -4,6 +4,7 @@ from pathlib import Path
|
||||||
from typing import Any, Callable, Dict, List, Tuple
|
from typing import Any, Callable, Dict, List, Tuple
|
||||||
|
|
||||||
from joj3_config_generator.models import result, task
|
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
|
from joj3_config_generator.models.const import JOJ3_CONFIG_ROOT
|
||||||
|
|
||||||
|
|
||||||
|
@ -78,11 +79,15 @@ def get_executor_with(
|
||||||
copy_out=copy_out_files,
|
copy_out=copy_out_files,
|
||||||
copy_in_cached={file: file for file in cached},
|
copy_in_cached={file: file for file in cached},
|
||||||
copy_out_cached=file_export,
|
copy_out_cached=file_export,
|
||||||
cpu_limit=task_stage.limit.cpu,
|
cpu_limit=Time(task_stage.limit.cpu),
|
||||||
clock_limit=2 * task_stage.limit.cpu,
|
clock_limit=2 * Time(task_stage.limit.cpu),
|
||||||
memory_limit=task_stage.limit.mem,
|
memory_limit=Memory(task_stage.limit.mem),
|
||||||
stderr=result.Collector(name="stderr"),
|
stderr=result.Collector(
|
||||||
stdout=result.Collector(name="stdout"),
|
name="stderr", pipe=True, max=Memory(task_stage.limit.stderr)
|
||||||
|
),
|
||||||
|
stdout=result.Collector(
|
||||||
|
name="stdout", pipe=True, max=Memory(task_stage.limit.stdout)
|
||||||
|
),
|
||||||
),
|
),
|
||||||
cases=[],
|
cases=[],
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user