执行评估骨架
执行评估骨架
def evaluate(candidate_code: str, cases: list) -> dict:
ns = {}
exec(candidate_code, ns) # 仅限隔离沙箱环境
passed = sum(1 for args, want in cases if ns["solve"](*args) == want)
return {"passed": passed, "total": len(cases)}| 安全 | 执行不可信代码必须在隔离沙箱与超时限制内 |
|---|---|
| 用例 | 正例、边界、异常三类都覆盖,防止过拟合到用例 |
| 超时 | 死循环用例要有超时;超时按失败计 |