vla / tests /test_maniskill_backend.py
anhtld's picture
Initial commit: DoVLA-CIL codebase (h=16 breakthrough) (part 2)
20c251e verified
Raw
History Blame Contribute Delete
1.85 kB
from __future__ import annotations
import pytest
from dovla_cil.sim import genesis_backend, maniskill_backend
from dovla_cil.sim.registry import create_backend, get_backend_class, list_backends
from dovla_cil.sim.toy_backend import ToyBackend
def test_registry_can_list_optional_backends() -> None:
backends = list_backends()
assert "toy" in backends
assert "maniskill" in backends
assert "genesis" in backends
def test_maniskill_backend_class_imports_without_dependency() -> None:
backend_class = get_backend_class("maniskill")
assert backend_class.__name__ == "ManiSkillBackend"
def test_genesis_backend_class_imports_without_dependency() -> None:
backend_class = get_backend_class("genesis")
assert backend_class.__name__ == "GenesisBackend"
def test_requesting_maniskill_without_dependency_gives_clean_error(
monkeypatch: pytest.MonkeyPatch,
) -> None:
monkeypatch.setattr(maniskill_backend, "_find_maniskill_module", lambda: None)
with pytest.raises(ImportError) as exc_info:
create_backend("maniskill")
message = str(exc_info.value)
assert "Install optional dependency with" in message
assert "OPENCLAUDE" not in message
def test_requesting_genesis_without_dependency_gives_clean_error(
monkeypatch: pytest.MonkeyPatch,
) -> None:
monkeypatch.setattr(genesis_backend, "_find_genesis_module", lambda: None)
with pytest.raises(ImportError) as exc_info:
create_backend("genesis")
message = str(exc_info.value)
assert "Install optional dependency with" in message
assert "OPENCLAUDE" not in message
def test_unknown_backend_raises_value_error() -> None:
with pytest.raises(ValueError):
create_backend("unknown")
def test_toy_backend_unaffected() -> None:
assert isinstance(create_backend("toy"), ToyBackend)