|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Comprehensive tests for TimeoutQueue class. More...
#include <gtest/gtest.h>#include <stdexcept>#include <atomic>#include <chrono>#include <thread>#include <vector>#include <mutex>#include <condition_variable>#include <timeoutQueue.H>Go to the source code of this file.
Classes | |
| class | TestEvent |
| class | SignalingEvent |
| class | TimingEvent |
| class | ReschedulingEvent |
| class | TimeoutQueueEnvironment |
Functions | |
| static Time | time_from_now_ms (int ms) |
| static bool | wait_for_status (const TimeoutQueue::Event *event, const TimeoutQueue::Event::Execution_Status expected, const chrono::milliseconds timeout) |
| Wait until an event reaches an expected lifecycle state. | |
| template<typename Pred > | |
| static bool | wait_until (Pred pred, const chrono::milliseconds timeout) |
| Spin-wait until a predicate becomes true or a timeout elapses. | |
| TEST (TimeoutQueueTest, ScheduleAndExecuteSingleEvent) | |
| TEST (TimeoutQueueTest, EventExecutionStatus) | |
| TEST (TimeoutQueueTest, ScheduleWithExplicitTime) | |
| TEST (TimeoutQueueTest, GetAbsoluteTime) | |
| TEST (TimeoutQueueTest, CancelEventBeforeExecution) | |
| TEST (TimeoutQueueTest, CancelEventNotInQueue) | |
| TEST (TimeoutQueueTest, CancelDeleteEvent) | |
| TEST (TimeoutQueueTest, CancelDeleteNullEvent) | |
| TEST (TimeoutQueueTest, RescheduleEvent) | |
| TEST (TimeoutQueueTest, RescheduleNotInQueue) | |
| TEST (TimeoutQueueTest, SelfReschedulingEvent) | |
| TEST (TimeoutQueueTest, MultipleEventsExecuteInOrder) | |
| TEST (TimeoutQueueTest, ManyEventsStressTest) | |
| TEST (TimeoutQueueTest, EventWithImmediateTime) | |
| TEST (TimeoutQueueTest, EventThrowsException) | |
| TEST (TimeoutQueueTest, SetForDeletion) | |
| TEST (TimeoutQueueTest, TimingAccuracy) | |
| TEST (TimeoutQueueTest, ConcurrentScheduling) | |
| TEST (TimeoutQueueTest, ConcurrentCancellation) | |
| TEST (TimeoutQueueTest, SizeAndIsEmpty) | |
| TEST (TimeoutQueueTest, IsRunning) | |
| TEST (TimeoutQueueTest, ScheduleAfterMs) | |
| TEST (TimeoutQueueTest, NextEventTime) | |
| TEST (TimeoutQueueTest, ExecutedStatus) | |
| TEST (TimeoutQueueTest, ClearAll) | |
| TEST (TimeoutQueueTest, Statistics) | |
| TEST (TimeoutQueueTest, ResetStats) | |
| TEST (TimeoutQueueTest, PauseAndResume) | |
| TEST (TimeoutQueueTest, WaitUntilEmpty) | |
| TEST (TimeoutQueueTest, WaitUntilEmptyTimeout) | |
| TEST (TimeoutQueueTest, WaitUntilEmptyAfterCancel) | |
| TEST (TimeoutQueueTest, WaitUntilEmptyAfterCancelDelete) | |
| TEST (TimeoutQueueTest, EventName) | |
| TEST (TimeoutQueueTest, CompletionCallback) | |
| TEST (TimeoutQueueTest, CompletionCallbackOnCancel) | |
| TEST (TimeoutQueueTest, EventId) | |
| TEST (TimeoutQueueTest, FindById) | |
| TEST (TimeoutQueueTest, CancelById) | |
| TEST (TimeoutQueueTest, CancelByIdWithCallback) | |
| TEST (TimeoutQueueTest, DestructorWithoutShutdown) | |
| TEST (TimeoutQueueTest, CancelBeforeDeleteIsSafe) | |
| TEST (TimeoutQueueTest, CancelDuringTimeout) | |
| TEST (TimeoutQueueTest, RescheduleDuringTimeout) | |
| TEST (TimeoutQueueTest, NullEventValidation) | |
| TEST (TimeoutQueueTest, InvalidNsecValidation) | |
| TEST (TimeoutQueueTest, ScheduleSameEventTwiceThrows) | |
| TEST (TimeoutQueueTest, ShutdownCancelsPendingEventsAndInvokesCallback) | |
| TEST (TimeoutQueueTest, CancelDeleteEventCallback) | |
| TEST (TimeoutQueueTest, CancelDeleteExecutingEvent) | |
| TEST (TimeoutQueueTest, CallbackReceivesNullptrOnlyForDeleted) | |
| TEST (TimeoutQueueTest, CompletionCallbackOrderCorrect) | |
| TEST (TimeoutQueueTest, CompletionCallbackCanClearAllWithoutDeadlock) | |
| TEST (TimeoutQueueTest, MultipleEventsWithSameTime) | |
| int | main (int argc, char **argv) |
Variables | |
| static TimeoutQueue * | g_queue = nullptr |
Comprehensive tests for TimeoutQueue class.
Note: Updated to reflect header Doxygen group changes.
Note: TimeoutQueue is a singleton (only one instance allowed). All tests share a single global queue instance.
Definition in file timeoutQueue_test.cc.
| int main | ( | int | argc, |
| char ** | argv | ||
| ) |
Definition at line 1571 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching().
| TEST | ( | TimeoutQueueTest | , |
| CallbackReceivesNullptrOnlyForDeleted | |||
| ) |
Definition at line 1430 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), TimeoutQueue::cancel_delete_event(), TimeoutQueue::cancel_event(), TimeoutQueue::Event::Canceled, TimeoutQueue::Event::Deleted, TimeoutQueue::Event::Executed, g_queue, TimeoutQueue::schedule_event(), time_from_now_ms(), and wait_until().
| TEST | ( | TimeoutQueueTest | , |
| CancelBeforeDeleteIsSafe | |||
| ) |
Definition at line 1134 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), TimeoutQueue::cancel_event(), g_queue, TimeoutQueue::Event::In_Queue, output, TimeoutQueue::schedule_event(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| CancelById | |||
| ) |
Definition at line 1051 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), TimeoutQueue::cancel_by_id(), TimeoutQueue::Event::Canceled, g_queue, TimeoutQueue::Event::InvalidId, TimeoutQueue::is_empty(), TimeoutQueue::schedule_event(), TimeoutQueue::size(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| CancelByIdWithCallback | |||
| ) |
Definition at line 1084 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), TimeoutQueue::cancel_by_id(), TimeoutQueue::Event::Canceled, g_queue, TimeoutQueue::schedule_event(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| CancelDeleteEvent | |||
| ) |
Definition at line 349 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), TimeoutQueue::cancel_delete_event(), g_queue, TimeoutQueue::schedule_event(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| CancelDeleteEventCallback | |||
| ) |
Definition at line 1344 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), TimeoutQueue::cancel_delete_event(), TimeoutQueue::Event::Deleted, g_queue, TimeoutQueue::schedule_event(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| CancelDeleteExecutingEvent | |||
| ) |
Definition at line 1367 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), TimeoutQueue::cancel_delete_event(), TimeoutQueue::Event::Deleted, TimeoutQueue::Event::EventFct(), g_queue, TimeoutQueue::schedule_event(), TimeoutQueue::Event::set_completion_callback(), time_from_now_ms(), and wait_until().
| TEST | ( | TimeoutQueueTest | , |
| CancelDeleteNullEvent | |||
| ) |
Definition at line 359 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), TimeoutQueue::cancel_delete_event(), and g_queue.
| TEST | ( | TimeoutQueueTest | , |
| CancelDuringTimeout | |||
| ) |
Definition at line 1188 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), TimeoutQueue::cancel_event(), TimeoutQueue::canceled_count(), TimeoutQueue::executed_count(), g_queue, TimeoutQueue::reset_stats(), TimeoutQueue::schedule_event(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| CancelEventBeforeExecution | |||
| ) |
Definition at line 322 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), TimeoutQueue::cancel_event(), TimeoutQueue::Event::Canceled, g_queue, TimeoutQueue::Event::In_Queue, TimeoutQueue::schedule_event(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| CancelEventNotInQueue | |||
| ) |
Definition at line 339 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), TimeoutQueue::cancel_event(), g_queue, and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| ClearAll | |||
| ) |
Definition at line 750 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), TimeoutQueue::Event::Canceled, TimeoutQueue::clear_all(), g_queue, TimeoutQueue::is_empty(), TimeoutQueue::schedule_event(), TimeoutQueue::size(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| CompletionCallback | |||
| ) |
Definition at line 965 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), TimeoutQueue::Event::Executed, g_queue, TimeoutQueue::schedule_event(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| CompletionCallbackCanClearAllWithoutDeadlock | |||
| ) |
Definition at line 1517 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), TimeoutQueue::clear_all(), g_queue, TimeoutQueue::is_empty(), TimeoutQueue::schedule_event(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| CompletionCallbackOnCancel | |||
| ) |
Definition at line 986 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), TimeoutQueue::Event::Canceled, TimeoutQueue::clear_all(), g_queue, TimeoutQueue::schedule_event(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| CompletionCallbackOrderCorrect | |||
| ) |
Definition at line 1488 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), TimeoutQueue::Event::Executed, g_queue, TimeoutQueue::Event::Out_Queue, TimeoutQueue::schedule_event(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| ConcurrentCancellation | |||
| ) |
Definition at line 616 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), TimeoutQueue::cancel_event(), g_queue, TimeoutQueue::schedule_event(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| ConcurrentScheduling | |||
| ) |
Definition at line 579 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), g_queue, TimeoutQueue::schedule_event(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| DestructorWithoutShutdown | |||
| ) |
Definition at line 1107 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), output, TimeoutQueue::schedule_event(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| EventExecutionStatus | |||
| ) |
Definition at line 223 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), TimeoutQueue::cancel_delete_event(), TimeoutQueue::Event::Executed, g_queue, TimeoutQueue::Event::In_Queue, TimeoutQueue::Event::Out_Queue, TimeoutQueue::schedule_event(), time_from_now_ms(), and wait_for_status().
| TEST | ( | TimeoutQueueTest | , |
| EventId | |||
| ) |
Definition at line 1008 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), TimeoutQueue::Event::InvalidId, and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| EventName | |||
| ) |
Definition at line 946 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), TimeoutQueue::Event::EventFct(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| EventThrowsException | |||
| ) |
Definition at line 517 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), g_queue, TimeoutQueue::schedule_event(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| EventWithImmediateTime | |||
| ) |
Definition at line 504 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), g_queue, read_current_time(), and TimeoutQueue::schedule_event().
| TEST | ( | TimeoutQueueTest | , |
| ExecutedStatus | |||
| ) |
Definition at line 737 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), TimeoutQueue::Event::Executed, g_queue, TimeoutQueue::schedule_event(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| FindById | |||
| ) |
Definition at line 1022 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), TimeoutQueue::cancel_event(), TimeoutQueue::find_by_id(), g_queue, TimeoutQueue::Event::InvalidId, TimeoutQueue::schedule_event(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| GetAbsoluteTime | |||
| ) |
Definition at line 306 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| InvalidNsecValidation | |||
| ) |
Definition at line 1280 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), read_current_time(), TimeoutQueue::schedule_event(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| IsRunning | |||
| ) |
Definition at line 683 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), g_queue, and TimeoutQueue::is_running().
| TEST | ( | TimeoutQueueTest | , |
| ManyEventsStressTest | |||
| ) |
Definition at line 477 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), g_queue, TimeoutQueue::schedule_event(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| MultipleEventsExecuteInOrder | |||
| ) |
Definition at line 442 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), g_queue, TimeoutQueue::schedule_event(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| MultipleEventsWithSameTime | |||
| ) |
Definition at line 1540 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), g_queue, TimeoutQueue::schedule_event(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| NextEventTime | |||
| ) |
Definition at line 713 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), TimeoutQueue::cancel_event(), g_queue, TimeoutQueue::next_event_time(), TimeoutQueue::schedule_event(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| NullEventValidation | |||
| ) |
Definition at line 1270 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), g_queue, TimeoutQueue::reschedule_event(), TimeoutQueue::schedule_event(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| PauseAndResume | |||
| ) |
Definition at line 859 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), g_queue, TimeoutQueue::is_paused(), TimeoutQueue::pause(), TimeoutQueue::reset_stats(), TimeoutQueue::resume(), TimeoutQueue::schedule_event(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| RescheduleDuringTimeout | |||
| ) |
Definition at line 1231 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), g_queue, TimeoutQueue::reschedule_event(), TimeoutQueue::schedule_event(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| RescheduleEvent | |||
| ) |
Definition at line 370 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), TimeoutQueue::cancel_delete_event(), Aleph::completed(), TimeoutQueue::Event::Executed, g_queue, TimeoutQueue::reschedule_event(), TimeoutQueue::schedule_event(), time_from_now_ms(), and wait_for_status().
| TEST | ( | TimeoutQueueTest | , |
| RescheduleNotInQueue | |||
| ) |
Definition at line 409 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), g_queue, TimeoutQueue::reschedule_event(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| ResetStats | |||
| ) |
Definition at line 825 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), TimeoutQueue::canceled_count(), Aleph::completed(), TimeoutQueue::Event::Executed, TimeoutQueue::executed_count(), g_queue, TimeoutQueue::reset_stats(), TimeoutQueue::schedule_event(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| ScheduleAfterMs | |||
| ) |
Definition at line 688 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), g_queue, TimeoutQueue::schedule_after_ms(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| ScheduleAndExecuteSingleEvent | |||
| ) |
Definition at line 196 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), Aleph::completed(), TimeoutQueue::Event::Executed, g_queue, TimeoutQueue::schedule_event(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| ScheduleSameEventTwiceThrows | |||
| ) |
Definition at line 1307 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), TimeoutQueue::cancel_event(), g_queue, TimeoutQueue::schedule_event(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| ScheduleWithExplicitTime | |||
| ) |
Definition at line 270 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), TimeoutQueue::cancel_delete_event(), TimeoutQueue::Event::Executed, g_queue, TimeoutQueue::schedule_event(), time_from_now_ms(), and wait_for_status().
| TEST | ( | TimeoutQueueTest | , |
| SelfReschedulingEvent | |||
| ) |
Definition at line 419 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), g_queue, TimeoutQueue::schedule_event(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| SetForDeletion | |||
| ) |
Definition at line 537 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), time_from_now_ms(), and TimeoutQueue::Event::To_Delete.
| TEST | ( | TimeoutQueueTest | , |
| ShutdownCancelsPendingEventsAndInvokesCallback | |||
| ) |
Definition at line 1316 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), TimeoutQueue::Event::Canceled, TimeoutQueue::is_running(), m, TimeoutQueue::schedule_event(), TimeoutQueue::shutdown(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| SizeAndIsEmpty | |||
| ) |
Definition at line 658 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), TimeoutQueue::cancel_event(), g_queue, TimeoutQueue::is_empty(), TimeoutQueue::schedule_event(), TimeoutQueue::size(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| Statistics | |||
| ) |
Definition at line 773 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), TimeoutQueue::cancel_event(), TimeoutQueue::canceled_count(), TimeoutQueue::Event::Executed, TimeoutQueue::executed_count(), g_queue, TimeoutQueue::reset_stats(), TimeoutQueue::schedule_event(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| TimingAccuracy | |||
| ) |
Definition at line 551 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), g_queue, TimeoutQueue::schedule_event(), and time_from_now_ms().
| TEST | ( | TimeoutQueueTest | , |
| WaitUntilEmpty | |||
| ) |
Definition at line 885 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), Aleph::completed(), g_queue, TimeoutQueue::is_empty(), TimeoutQueue::schedule_event(), time_from_now_ms(), and TimeoutQueue::wait_until_empty().
| TEST | ( | TimeoutQueueTest | , |
| WaitUntilEmptyAfterCancel | |||
| ) |
Definition at line 921 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), TimeoutQueue::cancel_event(), g_queue, TimeoutQueue::is_empty(), TimeoutQueue::schedule_event(), time_from_now_ms(), and TimeoutQueue::wait_until_empty().
| TEST | ( | TimeoutQueueTest | , |
| WaitUntilEmptyAfterCancelDelete | |||
| ) |
Definition at line 934 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), TimeoutQueue::cancel_delete_event(), g_queue, TimeoutQueue::is_empty(), TimeoutQueue::schedule_event(), time_from_now_ms(), and TimeoutQueue::wait_until_empty().
| TEST | ( | TimeoutQueueTest | , |
| WaitUntilEmptyTimeout | |||
| ) |
Definition at line 906 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), TimeoutQueue::cancel_event(), Aleph::completed(), g_queue, TimeoutQueue::is_empty(), TimeoutQueue::schedule_event(), time_from_now_ms(), and TimeoutQueue::wait_until_empty().
|
static |
Definition at line 27 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), read_current_time(), and time_plus_msec().
Referenced by ReschedulingEvent::EventFct(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), and TEST().
|
static |
Wait until an event reaches an expected lifecycle state.
| event | Event whose state is observed. |
| expected | Expected lifecycle state. |
| timeout | Maximum amount of time to wait. |
Definition at line 39 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), and TimeoutQueue::Event::get_execution_status().
|
static |
Spin-wait until a predicate becomes true or a timeout elapses.
Replaces fixed sleep_for() delays used as ad-hoc synchronization with the background worker thread. Those delays are unreliable when the worker is starved of CPU (e.g. on heavily loaded CI runners): the test wakes up before the event completed and then reads stale state or deletes an event the worker still references. This helper returns as soon as the predicate holds, keeping the common case fast while tolerating arbitrarily long scheduling delays.
| pred | Callable returning bool; evaluated repeatedly until true. |
| timeout | Maximum amount of time to wait. |
Definition at line 69 of file timeoutQueue_test.cc.
References Aleph::blossom_maximum_cardinality_matching(), and pred.
|
static |
Definition at line 24 of file timeoutQueue_test.cc.
Referenced by TimeoutQueueEnvironment::SetUp(), TimeoutQueueEnvironment::TearDown(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), and TEST().