This module contains a battery of simple tests for queues implementing the interface defined in ` Data.Concurrent.Deque.Class`.
- test_fifo_filldrain :: DequeClass d => d Int -> IO ()
- test_fifo_OneBottleneck :: DequeClass d => Bool -> Int -> d Int -> IO ()
- test_fifo :: DequeClass d => (forall elt. IO (d elt)) -> Test
- test_ws_triv1 :: PopL d => d [Char] -> IO ()
- test_ws_triv2 :: PopL d => d [Char] -> IO ()
- test_wsqueue :: PopL d => (forall elt. IO (d elt)) -> Test
- test_all :: PopL d => (forall elt. IO (d elt)) -> Test
Tests for simple FIFOs.
This test serially fills up a queue and then drains it.
This test splits the
numAgents threads into producers and
consumers which all communicate through a SINGLE queue. Each
thread performs its designated operation as fast as possible. The
total designates how many total items should be
communicated (irrespective of
This test uses a separate queue per consumer thread. The queues are used in a single-writer multiple-reader fashion (mailboxes).
This creates an HUnit test list to perform all the tests above.
Tests for Work-stealing queues.
Aggregate tests for work stealing queues.