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

Tests for Aleph::MpscQueue (tpl_mpsc_queue.H). More...

#include <gtest/gtest.h>
#include "concurrency_test_utils.H"
#include <tpl_mpsc_queue.H>
#include <algorithm>
#include <atomic>
#include <chrono>
#include <memory>
#include <stdexcept>
#include <string>
#include <vector>
Include dependency graph for mpsc_queue_test.cc:

Go to the source code of this file.

Functions

 TEST (MpscQueue, DefaultConstructedQueueIsEmpty)
 
 TEST (MpscQueue, PushAndPopSingleThreaded)
 
 TEST (MpscQueue, TryPopOptionalOverload)
 
 TEST (MpscQueue, FifoOrderIsPreservedForASingleProducer)
 
 TEST (MpscQueue, MoveOnlyPayloadIsSupported)
 
 TEST (MpscQueue, ElementLifetimesAreBalancedAcrossPushAndPop)
 
 TEST (MpscQueue, DestructorReleasesAllRemainingElements)
 
 TEST (MpscQueue, FailedEmplaceLeavesQueueUnchanged)
 
 TEST (MpscQueue, SingleProducerSingleConsumerConservesAllElements)
 
 TEST (MpscQueue, MultiProducerSingleConsumerConservesEveryElementExactlyOnce)
 
 TEST (MpscQueue, RandomizedOperationTraceMatchesSequentialReferenceModel)
 

Detailed Description

Tests for Aleph::MpscQueue (tpl_mpsc_queue.H).

Definition in file mpsc_queue_test.cc.

Function Documentation

◆ TEST() [1/11]

TEST ( MpscQueue  ,
DefaultConstructedQueueIsEmpty   
)

◆ TEST() [2/11]

TEST ( MpscQueue  ,
DestructorReleasesAllRemainingElements   
)

◆ TEST() [3/11]

TEST ( MpscQueue  ,
ElementLifetimesAreBalancedAcrossPushAndPop   
)

◆ TEST() [4/11]

◆ TEST() [5/11]

TEST ( MpscQueue  ,
FifoOrderIsPreservedForASingleProducer   
)

◆ TEST() [6/11]

◆ TEST() [7/11]

◆ TEST() [8/11]

◆ TEST() [9/11]

TEST ( MpscQueue  ,
RandomizedOperationTraceMatchesSequentialReferenceModel   
)

◆ TEST() [10/11]

◆ TEST() [11/11]

TEST ( MpscQueue  ,
TryPopOptionalOverload   
)