Skip to content

Fix sporadic failures in test cases - #11007

Open
jschmidt-icinga wants to merge 3 commits into
masterfrom
fix-sporadic-failures-in-test-cases-again
Open

Fix sporadic failures in test cases#11007
jschmidt-icinga wants to merge 3 commits into
masterfrom
fix-sporadic-failures-in-test-cases-again

Conversation

@jschmidt-icinga

Copy link
Copy Markdown
Contributor

This (hopefully) fixes sporadic failures in the following test-cases:

  • remote_httpserverconnection/liveness_disconnect: by giving the log messages each a 1s timeout to appear.
  • notificationcomponent/notify_delayed: By increasing the tolerance for the next notification timestamp from 1% to 5%.

Additionally I've closed a potential change for a race condition if a notificationcomponent/ test ends up taking longer than 5s by disabling the timer inside NotificationComponent since the NotificationTimerHandler() is called manually in a deterministic way by these test-cases.

The tests themselves call the timer callback directly to be more
reproducable. But potentially this could disturb the test case if
it takes longer than 5s and the timer fires normally. Therefore it's
better to disable it.
@cla-bot cla-bot Bot added the cla/signed label Aug 25, 2026
@jschmidt-icinga jschmidt-icinga added this to the 2.17.0 milestone Aug 25, 2026
Comment on lines -303 to +306
BOOST_REQUIRE_CLOSE(GetNextNotificationTimestamp(), Utility::GetTime() + timesBegin + 1, 0.01);
BOOST_REQUIRE_CLOSE(GetNextNotificationTimestamp(), Utility::GetTime() + timesBegin + 1, 0.05);

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've still observed this one failing, and I doubt this is a question of timing and tolerances. 1.79769e+308 just looks like it's entirely wrong.

188/263 Test #233: notificationcomponent/notify_delayed .......................................***Failed    0.28 sec                          
Running 1 test case...                                                                                                                        
[2026-08-26 12:00:06 +0000] information/NotificationComponent: 'nc' started.                                                                  
[2026-08-26 12:00:06 +0000] information/Checkable: Checkable 'h1' has 1 notification(s). Checking filters for type 'Problem', sends will be logged.
[2026-08-26 12:00:06 +0000] information/Notification: Sending 'Problem' notification 'h1!n1' for user 'u1'                                    
/home/debian/icinga2/test/notification-notificationcomponent.cpp(306): fatal error: in "notificationcomponent/notify_delayed": difference{1.79769e+308} between GetNextNotificationTimestamp(){0} and Utility::GetTime() + timesBegin + 1{1787745607.949508} exceeds 0.05%
                                                                                                                                              
*** 1 failure is detected in the test module "icinga2"                                                                                        

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants