Serveral tests are flaky because it's assumed that the code is executed in a certain time
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 45/100
Research direction
Start with thread/test/test_condition_notify_all.cpp at lines 180-203, then inspect the other tests in thread/test/ for similar fixed timing assumptions. Reproduce the failures under a slow or overloaded host and identify how completion is currently inferred. Done means the affected tests no longer fail because threads exceed the fixed 200ms wait.
Written by the indexing model from the issue text.
Description
Serveral tests in thread/test/ are flaky(sometimes pass, sometimes fail) because it assumes that the code is executed in a certain time. When the host is low or overloadded, the test will fail.
Take test_condition_notify_all.cpp as an example. The test assumes that thread1, thread2 and thread3 are finished after notify_all() and sleep 200ms are run. However, it's possible that the thread(s) are not finished after notify_all() and sleep 200ms. The test may need to consider such situation.
https://github.com/boostorg/thread/blob/409c98f8b745e72bc326e93bfaf8a353d94a69b0/test/test_condition_notify_all.cpp#L180-L203
- Dominant language
- C++
- Stars
- 213
- Forks
- 171
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from boostorg/thread
-
Difficulty 1/5 Under an hour Newbie friendliness 65/100
-
Difficulty 3/5 1-2 days Newbie friendliness 64/100
-
Difficulty 3/5 1-2 days Newbie friendliness 42/100
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 58/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
google/libultrahdr#485 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
godotengine/godot#123776 ·
-
bug
Difficulty 1/5 Under an hour Newbie friendliness 60/100
-
good first issue
Difficulty 1/5 Under an hour Newbie friendliness 90/100
-
good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
ros2/common_interfaces#344 ·