eclipse-iceoryx / eclipse-iceoryx/iceoryx

Turn remaining tests with time critical sections into `TimingTest`

Open
#1,330 2 comments 0 reactions 0 assignees View on GitHub
globex technical debt
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.