Automated regression test suite for validator consensus failure modes#118
Open
ekwe7 wants to merge 2 commits into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
closes #73
Summary
This PR introduces a comprehensive fault-injection testing framework for the consensus layer. The new regression suite simulates real-world failure conditions and validates protocol recovery behavior under controlled scenarios.
The implementation enables automated reproduction of failure modes that previously required manual investigation, improving reliability, regression detection, and confidence in consensus changes.
Problem
The consensus layer currently lacks an automated mechanism for validating behavior under common distributed-system failure conditions.
As a result:
Solution
This PR introduces a configurable simulation environment capable of injecting faults into consensus communication and validating protocol recovery.
The framework supports:
Key Features
Fault Injection API
Implemented a fault injection layer for consensus messaging that enables controlled simulation of network and validator failures.
Supported fault types:
The API is extensible and can support additional fault classes in future testing efforts.
Simulation Runner
Added a simulation runner capable of:
The framework supports:
in accordance with project requirements.
Failure Mode Coverage
Added dedicated test scenarios covering:
Network Partition
Message Delay
Equivocation
Timeout Conditions
CI Integration
Added automated execution in CI.
Features include:
Target execution time:
for complete suite execution.
Testing Strategy
The regression framework validates:
Coverage includes:
Validation
Executed validation for:
Acceptance Criteria
Benefits
Reliability
Developer Productivity
Operational Confidence