Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
concurrency_utils_test.cc File Reference
#include <gtest/gtest.h>
#include <concurrency_utils.H>
#include <thread_pool.H>
#include <algorithm>
#include <atomic>
#include <chrono>
#include <future>
#include <memory>
#include <numeric>
#include <stdexcept>
#include <thread>
#include <vector>
Include dependency graph for concurrency_utils_test.cc:

Go to the source code of this file.

Concepts

concept  @552::SupportsValueReturningWithLock
 
concept  @552::SupportsValueReturningWithReadLock
 
concept  @552::SupportsValueReturningWithWriteLock
 

Functions

 TEST (ConcurrencyUtils, BoundedChannelCloseDrainsQueuedItems)
 
 TEST (ConcurrencyUtils, BoundedChannelTrySendAndTryRecv)
 
 TEST (ConcurrencyUtils, BoundedChannelCloseUnblocksSenderAndReceiver)
 
 TEST (ConcurrencyUtils, BoundedChannelProducerConsumerPreservesOrder)
 
 TEST (ConcurrencyUtils, BoundedChannelSupportsMoveOnlyPayloads)
 
 TEST (ConcurrencyUtils, BoundedChannelCancellationInterruptsBlockedSend)
 
 TEST (ConcurrencyUtils, BoundedChannelCancellationInterruptsBlockedRecv)
 
 TEST (ConcurrencyUtils, BoundedChannelCloseWinsIfOperationCanProceed)
 
 TEST (ConcurrencyUtils, BoundedChannelCancellationAppliesToEmplace)
 
 TEST (ConcurrencyUtils, BoundedChannelEmplaceAcceptsCancellationTokenPayloads)
 
 TEST (ConcurrencyUtils, BoundedChannelRecvUsesCopyFallbackForThrowingMoves)
 
 TEST (ConcurrencyUtils, BoundedChannelTryRecvPreservesQueuedValueOnAssignmentFailure)
 
 TEST (ConcurrencyUtils, SynchronizedWithLockAndGuard)
 
 TEST (ConcurrencyUtils, SynchronizedCounterUnderContention)
 
 TEST (ConcurrencyUtils, RwSynchronizedSupportsReadAndWriteAccess)
 
 TEST (ConcurrencyUtils, SynchronizedSupportsNonDefaultConstructibleValues)
 
 TEST (ConcurrencyUtils, RwSynchronizedSupportsNonDefaultConstructibleValues)
 
 TEST (ConcurrencyUtils, SpscQueueBasicPushPop)
 
 TEST (ConcurrencyUtils, SpscQueueProducerConsumerRoundTrip)
 
 TEST (ConcurrencyUtils, SpscQueueSupportsMoveOnlyValues)
 
 TEST (ConcurrencyUtils, SpscQueueTryPopUsesCopyFallbackForThrowingMoves)
 

Function Documentation

◆ TEST() [1/21]

TEST ( ConcurrencyUtils  ,
BoundedChannelCancellationAppliesToEmplace   
)

◆ TEST() [2/21]

TEST ( ConcurrencyUtils  ,
BoundedChannelCancellationInterruptsBlockedRecv   
)

◆ TEST() [3/21]

TEST ( ConcurrencyUtils  ,
BoundedChannelCancellationInterruptsBlockedSend   
)

◆ TEST() [4/21]

TEST ( ConcurrencyUtils  ,
BoundedChannelCloseDrainsQueuedItems   
)

◆ TEST() [5/21]

TEST ( ConcurrencyUtils  ,
BoundedChannelCloseUnblocksSenderAndReceiver   
)

◆ TEST() [6/21]

TEST ( ConcurrencyUtils  ,
BoundedChannelCloseWinsIfOperationCanProceed   
)

◆ TEST() [7/21]

TEST ( ConcurrencyUtils  ,
BoundedChannelEmplaceAcceptsCancellationTokenPayloads   
)

◆ TEST() [8/21]

TEST ( ConcurrencyUtils  ,
BoundedChannelProducerConsumerPreservesOrder   
)

◆ TEST() [9/21]

TEST ( ConcurrencyUtils  ,
BoundedChannelRecvUsesCopyFallbackForThrowingMoves   
)

◆ TEST() [10/21]

TEST ( ConcurrencyUtils  ,
BoundedChannelSupportsMoveOnlyPayloads   
)

◆ TEST() [11/21]

TEST ( ConcurrencyUtils  ,
BoundedChannelTryRecvPreservesQueuedValueOnAssignmentFailure   
)

◆ TEST() [12/21]

TEST ( ConcurrencyUtils  ,
BoundedChannelTrySendAndTryRecv   
)

◆ TEST() [13/21]

TEST ( ConcurrencyUtils  ,
RwSynchronizedSupportsNonDefaultConstructibleValues   
)

◆ TEST() [14/21]

◆ TEST() [15/21]

◆ TEST() [16/21]

TEST ( ConcurrencyUtils  ,
SpscQueueProducerConsumerRoundTrip   
)

◆ TEST() [17/21]

TEST ( ConcurrencyUtils  ,
SpscQueueSupportsMoveOnlyValues   
)

◆ TEST() [18/21]

TEST ( ConcurrencyUtils  ,
SpscQueueTryPopUsesCopyFallbackForThrowingMoves   
)

◆ TEST() [19/21]

TEST ( ConcurrencyUtils  ,
SynchronizedCounterUnderContention   
)

Definition at line 418 of file concurrency_utils_test.cc.

References counter, and Aleph::divide_and_conquer_partition_dp().

◆ TEST() [20/21]

TEST ( ConcurrencyUtils  ,
SynchronizedSupportsNonDefaultConstructibleValues   
)

◆ TEST() [21/21]

TEST ( ConcurrencyUtils  ,
SynchronizedWithLockAndGuard   
)