mirror of
https://github.com/aljazceru/Auto-GPT.git
synced 2026-01-31 11:54:30 +01:00
debug(benchmark): Add log statement to validator on TestResult
Validation errors don't mention the values causing the error, making it hard to debug. This happened a few times in autogpts-benchmark.yml, so let's put this log statement here until we figure out what makes it crash.
This commit is contained in:
@@ -2,11 +2,13 @@
|
||||
Model definitions used internally and for reports generated during command-line runs.
|
||||
"""
|
||||
|
||||
import logging
|
||||
from typing import Any, Dict, List
|
||||
|
||||
from pydantic import BaseModel, Field, constr, validator
|
||||
|
||||
datetime_format = r"^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\+00:00$"
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class TestResult(BaseModel):
|
||||
@@ -27,6 +29,12 @@ class TestResult(BaseModel):
|
||||
|
||||
@validator("fail_reason")
|
||||
def success_xor_fail_reason(cls, v: str | None, values: dict[str, Any]):
|
||||
if bool(v) == bool(values["success"]):
|
||||
logger.error(
|
||||
"Error validating `success ^ fail_reason` on TestResult: "
|
||||
f"success = {repr(values['success'])}; "
|
||||
f"fail_reason = {repr(v)}"
|
||||
)
|
||||
if v:
|
||||
success = values["success"]
|
||||
assert not success, "fail_reason must only be specified if success=False"
|
||||
|
||||
Reference in New Issue
Block a user