AgentDebugger-training-v3 / tests /test_integration.py
shank
chore: Rename Dockerfile to fix HF Space deploy, and clean up AI slop
13f7b8d
Raw
History Blame Contribute Delete
2.42 kB
import pytest
from env.environment import DebuggerEnvironment
from env.models import Action
def test_full_episode_easy():
env = DebuggerEnvironment()
obs = env.reset("easy")
assert obs["task_id"] == "easy"
assert obs["done"] is False
assert obs["tests_passed"] < obs["tests_total"]
ground_truth_code = """
def binary_search(arr, target):
left, right = 0, len(arr) - 1
while left <= right:
mid = (left + right) // 2
if arr[mid] == target:
return mid
elif arr[mid] < target:
left = mid + 1
else:
right = mid - 1
return -1
"""
action = Action(
action_type="submit_fix",
fixed_code=ground_truth_code,
hypothesis="Binary search termination condition should be left <= right to include all elements."
)
result = env.step(action)
assert result["done"] is True
assert result["observation"]["tests_passed"] == result["observation"]["tests_total"]
assert result["reward"]["grader_score"] > 0.80
def test_query_hint_system():
env = DebuggerEnvironment()
env.reset("hard")
action = Action(
action_type="query_context",
query_type="test_suggestion"
)
result = env.step(action)
assert "concurrent threads" in result["info"]["query_result"]
assert result["reward"]["step_reward"] == 0.0
def test_hard_grader_consensus():
from unittest.mock import patch
from env.graders.grader_hard import HardGrader
grader = HardGrader()
with patch("env.graders.grader_hard.execute_code") as mock_exec:
mock_exec.side_effect = [
("CONCURRENT PASS", False, 100),
("CONCURRENT FAIL", False, 100),
("CONCURRENT PASS", False, 100),
("CONCURRENT FAIL", False, 100),
("CONCURRENT PASS", False, 100),
]
score = grader.score(
task_config={"task_id": "hard", "ground_truth": {"hypothesis_keywords": ["race"]}},
attempts=[{"tests_passed": 8, "attempt_number": 1, "code_submitted": "..."}],
best_tests_passed=8,
tests_total=8,
attempts_used=1,
max_attempts=10,
hypotheses=["race condition"]
)
assert score == 0.75