-
Notifications
You must be signed in to change notification settings - Fork 544
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix priority operation flaky test #4615
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #4615 +/- ##
==========================================
+ Coverage 85.71% 86.64% +0.93%
==========================================
Files 56 56
Lines 17378 17378
==========================================
+ Hits 14896 15058 +162
+ Misses 2482 2320 -162 ☔ View full report in Codecov by Sentry. |
src/test/lib/DataTest.cpp
Outdated
@@ -3656,7 +3656,7 @@ void QuicTestConnectionPriority() | |||
// e.g. This test case randomly swap [3] and [4] and fail without sleep. | |||
// This happens when [3] is already in the worker queue. | |||
// Normal enqueue doesn't re-queue the Connection | |||
CxPlatSleep(300); | |||
CxPlatSleep(1000); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there any way to make these event based? Is there some event we could wait on instead?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe possible by ingesting dummy Operation on dummy Connection
Fixed only on Linux |
83e1616
to
9baef42
Compare
Can you add more details/explanation of the core problem and how this fixes it? |
Before actually test starts (issuing StreamStart/StreamSend), implicit connection operations are processed. |
* Sleep longer to flush queue for sure * cleanup environment for each test case * sleep * GetParam instead of sleep * GetParam 50 times * experimental, handshake just before enqueueing stream operations. Locally works for 1000 times * connection start once all operations are queued
* added unique pointer for connection (#4718) * Fix priority operation flaky test (#4615) * Sleep longer to flush queue for sure * cleanup environment for each test case * sleep * GetParam instead of sleep * GetParam 50 times * experimental, handshake just before enqueueing stream operations. Locally works for 1000 times * connection start once all operations are queued --------- Co-authored-by: Gaurav Singh <[email protected]>
Description
ConnectionPriority test has been failing frequently at stream start order validation.
Increase sleep time for actually flush any remaining operations in processing queueCleanup and recreate MsQuic Objects for later test not to be contaminated by previous test's operation
Issue description
ConnPriorityOpTestIssue.pdf
Testing
Works 1000 times locally without sleep.
Need double check with CI
Documentation
N/A