eclipse-iceoryx / eclipse-iceoryx/iceoryx
Turn remaining tests with time critical sections into `TimingTest`
- Dominant language
- C++
- Stars
- 2.2k
- Forks
- 492
- Avg merge
- 18h 57m
- Merged PRs (30d)
- 1
Description
## Brief feature description
The CI on some targets, especially Windows & FreeBSD, is more sensitive in timing tests which lead to failing CI builds.
Some of the tests can be rewritten in a way that no timing test is needed. Here condition variables, semaphores or a short busy loop with an `std::atomic` can be helpful. To avoid deadlocks we should use the Watchdog in the iceoryx hoofs testutils.
As a last resort the tests can use our gtest `TimingTest` extensions which repeats the test multiple times to reduce CI failure likelihood caused by heavy load..
Contributor guide
Research direction
No specific test files are named. Start by locating the remaining time-critical tests, then read the Watchdog in the iceoryx hoofs testutils and the gtest TimingTest extensions. Done means the applicable tests avoid timing where possible or use TimingTest as a last resort, with CI failures reduced on sensitive targets.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- testing-qa
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100