Testing Command Output Event Serialization in OpenHands
This test suite validates the event serialization functionality in OpenHands, specifically focusing on command output observation serialization and proper mapping of exit codes to success states.
Test Coverage Overview
Implementation Analysis
Technical Details
Best Practices Demonstrated
all-hands-ai/openhands
tests/unit/test_event_serialization.py
from openhands.events.observation import CmdOutputObservation
from openhands.events.serialization import event_to_dict
def test_command_output_success_serialization():
# Test successful command
obs = CmdOutputObservation(
command_id=1, command='ls', content='file1.txt
file2.txt', exit_code=0
)
serialized = event_to_dict(obs)
assert serialized['success'] is True
# Test failed command
obs = CmdOutputObservation(
command_id=2, command='ls', content='No such file or directory', exit_code=1
)
serialized = event_to_dict(obs)
assert serialized['success'] is False