Scroom  0.14
threadpool-queueimpl-tests.cc File Reference
#include <scroom/threadpool.hh>
#include <iostream>
#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/test/unit_test.hpp>
#include <boost/thread.hpp>
#include <scroom/semaphore.hh>
#include "helpers.hh"
Include dependency graph for threadpool-queueimpl-tests.cc:

Functions

const millisec short_timeout (250)
 
const millisec long_timeout (2000)
 
 BOOST_AUTO_TEST_CASE (queueimpl_jobs_get_executed)
 
 BOOST_AUTO_TEST_CASE (queueimpl_jobs_with_deleted_queue_can_be_scheduled_and_dont_get_executed)
 

Function Documentation

◆ BOOST_AUTO_TEST_CASE() [1/2]

BOOST_AUTO_TEST_CASE ( queueimpl_jobs_get_executed  )
36 {
38  ThreadPool::WeakQueue::Ptr const weak = queue->getWeak();
39  Semaphore s(0);
40  ThreadPool t(0);
41  t.schedule(clear(&s), weak);
42  t.add();
43  BOOST_CHECK(s.P(long_timeout));
44 }
Here is the call graph for this function:

◆ BOOST_AUTO_TEST_CASE() [2/2]

BOOST_AUTO_TEST_CASE ( queueimpl_jobs_with_deleted_queue_can_be_scheduled_and_dont_get_executed  )
47 {
49  ThreadPool::WeakQueue::Ptr const weak = queue->getWeak();
50  Semaphore s1(0);
51  Semaphore s2(0);
52  ThreadPool t(0);
53  queue.reset();
54  t.schedule(clear(&s1), weak);
55  t.schedule(clear(&s2));
56  t.add();
57  BOOST_CHECK(s2.P(long_timeout));
58  BOOST_CHECK(!s1.try_P());
59 }
Here is the call graph for this function:

◆ long_timeout()

const millisec long_timeout ( 2000  )

Referenced by BOOST_AUTO_TEST_CASE().

Here is the caller graph for this function:

◆ short_timeout()

const millisec short_timeout ( 250  )
ThreadPool::Queue::Ptr
boost::shared_ptr< Queue > Ptr
Definition: threadpool.hh:82
clear
boost::function< void()> clear(Semaphore *s)
Definition: helpers.cc:29
ThreadPool::WeakQueue::Ptr
boost::shared_ptr< WeakQueue > Ptr
Definition: threadpool.hh:137
ThreadPool
Definition: threadpool.hh:46
ThreadPool::Queue::create
static Ptr create()
ThreadPool::Queue.
Definition: threadpoolimpl.cc:377
Scroom::Semaphore
Definition: semaphore.hh:15
long_timeout
const millisec long_timeout(2000)