- test_fifo_filldrain :: DequeClass d => d Int -> IO ()
- test_fifo_HalfToHalf :: DequeClass d => 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.
test_fifo_filldrain :: DequeClass d => d Int -> IO ()Source
This test serially fills up a queue and then drains it.
test_fifo_HalfToHalf :: DequeClass d => Int -> d Int -> IO ()Source
This one splits the numCapabilities
threads into producers and
consumers. Each thread performs its designated operation as fast
as possible. The Int
argument total
designates how many total
items should be communicated (irrespective of numCapabilities
).
test_fifo :: DequeClass d => (forall elt. IO (d elt)) -> TestSource
This creates an HUnit test list to perform all the tests above.
Tests for Work-stealing queues.
test_wsqueue :: PopL d => (forall elt. IO (d elt)) -> TestSource
Aggregate tests for work stealing queues.