eclipse-iceoryx / iceoryx

Eclipse iceoryx™ - true zero-copy inter-process-communication
https://iceoryx.io
Apache License 2.0
1.6k stars 373 forks source link

Turn remaining tests with time critical sections into `TimingTest` #1330

Open elfenpiff opened 2 years ago

elfenpiff commented 2 years ago

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..

elBoberido commented 2 years ago

@elfenpiff before we start to make the tests a TimingTests and hide bugs like it already happened at least once, we should check it these tests could be refactored without making them a TimingTest

elfenpiff commented 2 years ago

@elBoberido this is a good idea. I add this to the issue!