Background
This issue is a follow-up to PR #189 which adds parameterized tests for scheduler priority behavior when fairness is disabled.
Problem
The current test cases in tests/connection_actor.rs only test scenarios with mixed priority frames. We need boundary case testing to ensure the scheduler handles edge cases correctly when queues contain only high-priority or only low-priority frames.
Proposed Solution
Add boundary case test scenarios to verify the scheduler handles empty queues correctly when:
- Only high-priority frames are present
- Only low-priority frames are present
These tests should verify that the scheduler processes frames correctly without attempting to access empty queues of the opposite priority.
Acceptance Criteria
Context
Implementation Notes
These boundary cases could be added as additional #[case] attributes to the existing parameterized test, or as separate test functions if the logic differs significantly.
Consider edge cases like:
- Empty queues of opposite priority
- Proper iterator handling when one priority type is absent
- Maintaining arrival order within the same priority level
Backlinks:
Background
This issue is a follow-up to PR #189 which adds parameterized tests for scheduler priority behavior when fairness is disabled.
Problem
The current test cases in
tests/connection_actor.rsonly test scenarios with mixed priority frames. We need boundary case testing to ensure the scheduler handles edge cases correctly when queues contain only high-priority or only low-priority frames.Proposed Solution
Add boundary case test scenarios to verify the scheduler handles empty queues correctly when:
These tests should verify that the scheduler processes frames correctly without attempting to access empty queues of the opposite priority.
Acceptance Criteria
[High, High, High])[Low, Low, Low])PriorityenumContext
tests/connection_actor.rsfairness_disabled_processes_all_high_first(or create new test function if needed)Implementation Notes
These boundary cases could be added as additional
#[case]attributes to the existing parameterized test, or as separate test functions if the logic differs significantly.Consider edge cases like:
Backlinks: