Spaces:
Sleeping
Sleeping
| import pytest | |
| from arena.optimizers.registry import get_example | |
| from arena.submissions.validator import ( | |
| SubmissionValidationError, | |
| validate_user_code_ast, | |
| ) | |
| def test_validator_accepts_example_optimizer(): | |
| code = get_example("Momentum SGD").code | |
| report = validate_user_code_ast(code) | |
| assert "MomentumSGD" in report.optimizer_classes | |
| def test_validator_rejects_builtin_optimizer_wrapper(): | |
| code = """ | |
| import torch | |
| from torch.optim import Optimizer | |
| class BadOptimizer(Optimizer): | |
| def __init__(self, params): | |
| super().__init__(params, {}) | |
| def step(self, closure=None): | |
| return None | |
| def build_optimizer(params, config): | |
| return torch.optim.Adam(params, lr=1e-3) | |
| """ | |
| with pytest.raises(SubmissionValidationError): | |
| validate_user_code_ast(code) | |