Neethish05/meta-pytorch-hackathon
0
1"""2Validation script for AI Code Review Arena (OpenEnv stack).3"""4 5import asyncio6 7from openenv_environment import OpenEnvCodeReviewArena8from openenv_models import ActionType, CodeReviewAction9from tasks import get_all_tasks10 11 12async def test_basic_functionality() -> None:13 env = OpenEnvCodeReviewArena()14 state = await env.reset(task_id=0)15 assert state.observation.step_count == 016 assert state.observation.files17 action = CodeReviewAction(type=ActionType.COMMENT, line=3, message="Index out of bounds error")18 state = await env.step(action)19 assert state.reward is not None20 assert isinstance(state.reward.value, float)21 22 23async def test_all_tasks() -> None:24 tasks = get_all_tasks()25 assert len(tasks) >= 326 for idx, _ in enumerate(tasks[:3]):27 env = OpenEnvCodeReviewArena()28 state = await env.reset(task_id=idx)29 assert state.observation.files30 assert state.observation.current_issues31 32 33async def test_grader_range() -> None:34 env = OpenEnvCodeReviewArena()35 await env.reset(task_id=2)36 state = await env.step(CodeReviewAction(type=ActionType.COMMENT, line=2, message="security injection bug"))37 _ = state38 score = env.get_task_grade()39 assert 0.0 <= score <= 1.040 41 42async def run_validation() -> bool:43 try:44 await test_basic_functionality()45 await test_all_tasks()46 await test_grader_range()47 print("Validation passed.")48 return True49 except Exception as exc:50 print(f"Validation failed: {exc}")51 return False52 53 54if __name__ == "__main__":55 ok = asyncio.run(run_validation())56 raise SystemExit(0 if ok else 1)57 