Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
timeoutQueue_test.cc File Reference

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>
Include dependency graph for timeoutQueue_test.cc:

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)
 
 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 TimeoutQueueg_queue = nullptr
 

Detailed Description

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.

Function Documentation

◆ main()

int main ( int  argc,
char **  argv 
)

Definition at line 1340 of file timeoutQueue_test.cc.

References Aleph::maps().

◆ TEST() [1/53]

◆ TEST() [2/53]

TEST ( TimeoutQueueTest  ,
CancelBeforeDeleteIsSafe   
)

◆ TEST() [3/53]

◆ TEST() [4/53]

TEST ( TimeoutQueueTest  ,
CancelByIdWithCallback   
)

◆ TEST() [5/53]

TEST ( TimeoutQueueTest  ,
CancelDeleteEvent   
)

◆ TEST() [6/53]

TEST ( TimeoutQueueTest  ,
CancelDeleteEventCallback   
)

◆ TEST() [7/53]

◆ TEST() [8/53]

TEST ( TimeoutQueueTest  ,
CancelDeleteNullEvent   
)

Definition at line 252 of file timeoutQueue_test.cc.

References TimeoutQueue::cancel_delete_event(), g_queue, and Aleph::maps().

◆ TEST() [9/53]

◆ TEST() [10/53]

TEST ( TimeoutQueueTest  ,
CancelEventBeforeExecution   
)

◆ TEST() [11/53]

TEST ( TimeoutQueueTest  ,
CancelEventNotInQueue   
)

◆ TEST() [12/53]

◆ TEST() [13/53]

TEST ( TimeoutQueueTest  ,
CompletionCallback   
)

◆ TEST() [14/53]

TEST ( TimeoutQueueTest  ,
CompletionCallbackCanClearAllWithoutDeadlock   
)

◆ TEST() [15/53]

TEST ( TimeoutQueueTest  ,
CompletionCallbackOnCancel   
)

◆ TEST() [16/53]

TEST ( TimeoutQueueTest  ,
CompletionCallbackOrderCorrect   
)

◆ TEST() [17/53]

TEST ( TimeoutQueueTest  ,
ConcurrentCancellation   
)

◆ TEST() [18/53]

TEST ( TimeoutQueueTest  ,
ConcurrentScheduling   
)

◆ TEST() [19/53]

TEST ( TimeoutQueueTest  ,
DestructorWithoutShutdown   
)

◆ TEST() [20/53]

TEST ( TimeoutQueueTest  ,
EventExecutionStatus   
)

◆ TEST() [21/53]

TEST ( TimeoutQueueTest  ,
EventId   
)

◆ TEST() [22/53]

TEST ( TimeoutQueueTest  ,
EventName   
)

◆ TEST() [23/53]

TEST ( TimeoutQueueTest  ,
EventThrowsException   
)

◆ TEST() [24/53]

TEST ( TimeoutQueueTest  ,
EventWithImmediateTime   
)

◆ TEST() [25/53]

TEST ( TimeoutQueueTest  ,
ExecutedStatus   
)

◆ TEST() [26/53]

◆ TEST() [27/53]

TEST ( TimeoutQueueTest  ,
GetAbsoluteTime   
)

Definition at line 199 of file timeoutQueue_test.cc.

References Aleph::maps(), and time_from_now_ms().

◆ TEST() [28/53]

TEST ( TimeoutQueueTest  ,
InvalidNsecValidation   
)

◆ TEST() [29/53]

TEST ( TimeoutQueueTest  ,
IsRunning   
)

Definition at line 541 of file timeoutQueue_test.cc.

References g_queue, TimeoutQueue::is_running(), and Aleph::maps().

◆ TEST() [30/53]

TEST ( TimeoutQueueTest  ,
ManyEventsStressTest   
)

◆ TEST() [31/53]

TEST ( TimeoutQueueTest  ,
MultipleEventsExecuteInOrder   
)

◆ TEST() [32/53]

TEST ( TimeoutQueueTest  ,
MultipleEventsWithSameTime   
)

◆ TEST() [33/53]

TEST ( TimeoutQueueTest  ,
NextEventTime   
)

◆ TEST() [34/53]

TEST ( TimeoutQueueTest  ,
NullEventValidation   
)

◆ TEST() [35/53]

◆ TEST() [36/53]

TEST ( TimeoutQueueTest  ,
RescheduleDuringTimeout   
)

◆ TEST() [37/53]

TEST ( TimeoutQueueTest  ,
RescheduleEvent   
)

◆ TEST() [38/53]

TEST ( TimeoutQueueTest  ,
RescheduleNotInQueue   
)

◆ TEST() [39/53]

◆ TEST() [40/53]

TEST ( TimeoutQueueTest  ,
ScheduleAfterMs   
)

◆ TEST() [41/53]

TEST ( TimeoutQueueTest  ,
ScheduleAndExecuteSingleEvent   
)

◆ TEST() [42/53]

TEST ( TimeoutQueueTest  ,
ScheduleSameEventTwiceThrows   
)

◆ TEST() [43/53]

TEST ( TimeoutQueueTest  ,
ScheduleWithExplicitTime   
)

◆ TEST() [44/53]

TEST ( TimeoutQueueTest  ,
SelfReschedulingEvent   
)

◆ TEST() [45/53]

TEST ( TimeoutQueueTest  ,
SetForDeletion   
)

◆ TEST() [46/53]

TEST ( TimeoutQueueTest  ,
ShutdownCancelsPendingEventsAndInvokesCallback   
)

◆ TEST() [47/53]

TEST ( TimeoutQueueTest  ,
SizeAndIsEmpty   
)

◆ TEST() [48/53]

◆ TEST() [49/53]

TEST ( TimeoutQueueTest  ,
TimingAccuracy   
)

◆ TEST() [50/53]

TEST ( TimeoutQueueTest  ,
WaitUntilEmpty   
)

◆ TEST() [51/53]

TEST ( TimeoutQueueTest  ,
WaitUntilEmptyAfterCancel   
)

◆ TEST() [52/53]

TEST ( TimeoutQueueTest  ,
WaitUntilEmptyAfterCancelDelete   
)

◆ TEST() [53/53]

◆ time_from_now_ms()

Variable Documentation

◆ g_queue