Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r56976 - in sandbox/task: boost/task libs/task/test
From: oliver.kowalke_at_[hidden]
Date: 2009-10-18 06:21:43


Author: olli
Date: 2009-10-18 06:21:43 EDT (Sun, 18 Oct 2009)
New Revision: 56976
URL: http://svn.boost.org/trac/boost/changeset/56976

Log:
- support for dispatching fibers to other threads than it was created removed

Removed:
   sandbox/task/boost/task/distrib_rr_ums.hpp
   sandbox/task/libs/task/test/test_unbounded_onelock_pool_distrib.cpp
Text files modified:
   sandbox/task/libs/task/test/Jamfile.v2 | 1 -
   1 files changed, 0 insertions(+), 1 deletions(-)

Deleted: sandbox/task/boost/task/distrib_rr_ums.hpp
==============================================================================
--- sandbox/task/boost/task/distrib_rr_ums.hpp 2009-10-18 06:21:43 EDT (Sun, 18 Oct 2009)
+++ (empty file)
@@ -1,175 +0,0 @@
-
-// Copyright Oliver Kowalke 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TASK_DISTRIB_RR_UMS_H
-#define BOOST_TASK_DISTRIB_RR_UMS_H
-
-#include <list>
-
-#include <boost/assert.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/shared_ptr.hpp>
-#include <boost/thread.hpp>
-
-#include <boost/task/detail/atomic.hpp>
-#include <boost/task/detail/fiber.hpp>
-
-#include <boost/config/abi_prefix.hpp>
-
-namespace boost {
-namespace task {
-
-class distrib_rr_ums
-{
-private:
-// class twolock_fifo
-// {
-// struct node
-// {
-// typedef shared_ptr< node > sptr_t;
-//
-// detail::fiber::sptr_t fib;
-// sptr_t next;
-// };
-//
-// node::sptr_t head_;
-// mutex head_mtx_;
-// node::sptr_t tail_;
-// mutex tail_mtx_;
-//
-// bool empty_()
-// { return head_ == get_tail_(); }
-//
-// node::sptr_t get_tail_()
-// {
-// lock_guard< mutex > lk( tail_mtx_);
-// node::sptr_t tmp = tail_;
-// return tmp;
-// }
-//
-// node::sptr_t pop_head_()
-// {
-// node::sptr_t old_head = head_;
-// head_ = old_head->next;
-// return old_head;
-// }
-//
-// public:
-// twolock_fifo() :
-// head_( new node),
-// head_mtx_(),
-// tail_( head_),
-// tail_mtx_()
-// {}
-//
-// bool empty()
-// {
-// unique_lock< mutex > lk( head_mtx_);
-// return empty_();
-// }
-//
-// void put( detail::fiber::sptr_t const& fib)
-// {
-// node::sptr_t new_node( new node);
-// {
-// unique_lock< mutex > lk( tail_mtx_);
-// tail_->fib = fib;
-// tail_->next = new_node;
-// tail_ = new_node;
-// }
-// }
-//
-// bool try_take( detail::fiber::sptr_t & fib)
-// {
-// unique_lock< mutex > lk( head_mtx_);
-// if ( empty_() )
-// return false;
-// fib.swap( head_->fib);
-// pop_head_();
-// return fib;
-// }
-// };
-
- class twolock_fifo
- {
- private:
- mutex mtx_;
- std::list< detail::fiber::sptr_t > lst_;
-
- bool empty_() const
- { return lst_.empty(); }
-
- void put_( detail::fiber::sptr_t const& fib)
- { lst_.push_back( fib); }
-
- bool try_take_( detail::fiber::sptr_t & fib)
- {
- if ( empty_() ) return false;
- fib = lst_.front();
- lst_.pop_front();
- return fib;
- }
-
- public:
- twolock_fifo() :
- mtx_(), lst_()
- {}
-
- bool empty()
- {
- mutex::scoped_lock lk( mtx_);
- return empty_();
- }
-
- void put( detail::fiber::sptr_t const& fib)
- {
- mutex::scoped_lock lk( mtx_);
- put_( fib);
- }
-
- bool try_take( detail::fiber::sptr_t & fib)
- {
- mutex::scoped_lock lk( mtx_);
- return try_take_( fib);
- }
- };
-
- twolock_fifo runnable_;
- twolock_fifo blocked_;
-
-public:
- distrib_rr_ums() :
- runnable_(), blocked_()
- {}
-
- void attach()
- {}
-
- bool has_runnable()
- { return ! runnable_.empty(); }
-
- bool has_blocked()
- { return ! blocked_.empty(); }
-
- void put_runnable( detail::fiber::sptr_t const& fib)
- { runnable_.put( fib); }
-
- void put_blocked( detail::fiber::sptr_t const& fib)
- { blocked_.put( fib); }
-
- bool try_take_runnable( detail::fiber::sptr_t & fib)
- { return runnable_.try_take( fib); }
-
- bool try_take_blocked( detail::fiber::sptr_t & fib)
- { return blocked_.try_take( fib); }
-};
-
-}}
-
-#include <boost/config/abi_suffix.hpp>
-
-#endif // BOOST_TASK_DISTRIB_RR_UMS_H
-

Modified: sandbox/task/libs/task/test/Jamfile.v2
==============================================================================
--- sandbox/task/libs/task/test/Jamfile.v2 (original)
+++ sandbox/task/libs/task/test/Jamfile.v2 2009-10-18 06:21:43 EDT (Sun, 18 Oct 2009)
@@ -31,7 +31,6 @@
     [ task-test test_new_thread ]
     [ task-test test_unbounded_twolock_pool ]
     [ task-test test_unbounded_onelock_pool ]
- [ task-test test_unbounded_onelock_pool_distrib ]
     [ task-test test_bounded_twolock_pool ]
     [ task-test test_bounded_onelock_pool ]
     [ task-test test_as_sub_task ]

Deleted: sandbox/task/libs/task/test/test_unbounded_onelock_pool_distrib.cpp
==============================================================================
--- sandbox/task/libs/task/test/test_unbounded_onelock_pool_distrib.cpp 2009-10-18 06:21:43 EDT (Sun, 18 Oct 2009)
+++ (empty file)
@@ -1,540 +0,0 @@
-
-// Copyright Oliver Kowalke 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <cstdlib>
-#include <iostream>
-#include <map>
-#include <stdexcept>
-#include <vector>
-
-#include <boost/bind.hpp>
-#include <boost/date_time/posix_time/posix_time.hpp>
-#include <boost/function.hpp>
-#include <boost/ref.hpp>
-#include <boost/test/unit_test.hpp>
-#include <boost/thread.hpp>
-#include <boost/thread/barrier.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/utility.hpp>
-
-#include <boost/task.hpp>
-
-#include "test_functions.hpp"
-
-namespace pt = boost::posix_time;
-namespace tsk = boost::task;
-
-namespace {
-
-// check size and move op
-void test_case_1()
-{
- tsk::static_pool<
- tsk::unbounded_onelock_fifo,
- tsk::distrib_rr_ums
- > pool1( tsk::poolsize( 3) );
- BOOST_CHECK( pool1);
- BOOST_CHECK_EQUAL( pool1.size(), std::size_t( 3) );
-
- tsk::static_pool<
- tsk::unbounded_onelock_fifo,
- tsk::distrib_rr_ums
- > pool2;
- BOOST_CHECK( ! pool2);
- BOOST_CHECK_THROW( pool2.size(), tsk::pool_moved);
-
- pool2 = boost::move( pool1);
-
- BOOST_CHECK( ! pool1);
- BOOST_CHECK_THROW( pool1.size(), tsk::pool_moved);
-
- BOOST_CHECK( pool2);
- BOOST_CHECK_EQUAL( pool2.size(), std::size_t( 3) );
-
- tsk::task< int > t( fibonacci_fn, 10);
- tsk::handle< int > h(
- tsk::async( boost::move( t), pool2) );
- BOOST_CHECK_EQUAL( h.get(), 55);
-}
-
-// check submit
-void test_case_2()
-{
- tsk::static_pool<
- tsk::unbounded_onelock_fifo,
- tsk::distrib_rr_ums
- > pool( tsk::poolsize( 3) );
- tsk::task< int > t( fibonacci_fn, 10);
- tsk::handle< int > h(
- tsk::async( boost::move( t), pool) );
- BOOST_CHECK_EQUAL( h.get(), 55);
-}
-
-// check assignment
-void test_case_3()
-{
- tsk::static_pool<
- tsk::unbounded_onelock_fifo,
- tsk::distrib_rr_ums
- > pool( tsk::poolsize( 3) );
- tsk::task< int > t( fibonacci_fn, 10);
- tsk::handle< int > h1;
- tsk::handle< int > h2(
- tsk::async( boost::move( t), pool) );
- h1 = h2;
- BOOST_CHECK_EQUAL( h1.get(), 55);
- BOOST_CHECK_EQUAL( h2.get(), 55);
-}
-
-// check swap
-void test_case_4()
-{
- tsk::static_pool<
- tsk::unbounded_onelock_fifo,
- tsk::distrib_rr_ums
- > pool( tsk::poolsize( 3) );
- tsk::task< int > t1( fibonacci_fn, 5);
- tsk::task< int > t2( fibonacci_fn, 10);
- tsk::handle< int > h1(
- tsk::async( boost::move( t1), pool) );
- tsk::handle< int > h2(
- tsk::async( boost::move( t2), pool) );
- BOOST_CHECK_EQUAL( h1.get(), 5);
- BOOST_CHECK_EQUAL( h2.get(), 55);
- BOOST_CHECK_NO_THROW( h1.swap( h2) );
- BOOST_CHECK_EQUAL( h1.get(), 55);
- BOOST_CHECK_EQUAL( h2.get(), 5);
-}
-
-// check runs in pool
-void test_case_5()
-{
- tsk::static_pool<
- tsk::unbounded_onelock_fifo,
- tsk::distrib_rr_ums
- > pool( tsk::poolsize( 1) );
- tsk::task< bool > t( runs_in_pool_fn);
- tsk::handle< bool > h(
- tsk::async( boost::move( t), pool) );
- BOOST_CHECK_EQUAL( h.get(), true);
-}
-
-// check shutdown
-void test_case_6()
-{
- tsk::static_pool<
- tsk::unbounded_onelock_fifo,
- tsk::distrib_rr_ums
- > pool( tsk::poolsize( 1) );
- tsk::task< int > t( fibonacci_fn, 10);
- tsk::handle< int > h(
- tsk::async( boost::move( t), pool) );
- pool.shutdown();
- BOOST_CHECK( pool.closed() );
- BOOST_CHECK_EQUAL( h.get(), 55);
-}
-
-// check runtime_error throw inside task
-void test_case_7()
-{
- tsk::static_pool<
- tsk::unbounded_onelock_fifo,
- tsk::distrib_rr_ums
- > pool( tsk::poolsize( 1) );
- tsk::task< void > t( throwing_fn);
- tsk::handle< void > h(
- tsk::async( boost::move( t), pool) );
- pool.shutdown();
- BOOST_CHECK_THROW( h.get(), std::runtime_error);
-}
-
-// check shutdown with task_rejected exception
-void test_case_8()
-{
- tsk::static_pool<
- tsk::unbounded_onelock_fifo,
- tsk::distrib_rr_ums
- > pool( tsk::poolsize( 1) );
- tsk::task< int > t( fibonacci_fn, 10);
- pool.shutdown();
- BOOST_CHECK( pool.closed() );
- BOOST_CHECK_THROW(
- tsk::async( boost::move( t), pool),
- tsk::task_rejected);
-}
-
-// check shutdown_now with thread_interrupted exception
-void test_case_9()
-{
- tsk::static_pool<
- tsk::unbounded_onelock_fifo,
- tsk::distrib_rr_ums
- > pool( tsk::poolsize( 1) );
- tsk::task< void > t( delay_fn, pt::millisec( 500) );
- tsk::handle< void > h(
- tsk::async( boost::move( t), pool) );
- boost::this_thread::sleep( pt::millisec( 250) );
- BOOST_CHECK_EQUAL( pool.size(), std::size_t( 1) );
- pool.shutdown_now();
- BOOST_CHECK( pool.closed() );
- BOOST_CHECK_EQUAL( pool.size(), std::size_t( 0) );
- BOOST_CHECK_THROW( h.get(), tsk::task_interrupted);
-}
-
-// check wait
-void test_case_10()
-{
- tsk::static_pool<
- tsk::unbounded_onelock_fifo,
- tsk::distrib_rr_ums
- > pool( tsk::poolsize( 3) );
- tsk::task< int > t( fibonacci_fn, 10);
- tsk::handle< int > h(
- tsk::async( boost::move( t), pool) );
- h.wait();
- BOOST_CHECK( h.is_ready() );
- BOOST_CHECK( h.has_value() );
- BOOST_CHECK( ! h.has_exception() );
- BOOST_CHECK_EQUAL( h.get(), 55);
-}
-
-// check wait_for
-void test_case_11()
-{
- tsk::static_pool<
- tsk::unbounded_onelock_fifo,
- tsk::distrib_rr_ums
- > pool( tsk::poolsize( 3) );
- tsk::task< void > t( delay_fn, pt::seconds( 1) );
- tsk::handle< void > h(
- tsk::async( boost::move( t), pool) );
- BOOST_CHECK( h.wait_for( pt::seconds( 3) ) );
- BOOST_CHECK( h.is_ready() );
- BOOST_CHECK( h.has_value() );
- BOOST_CHECK( ! h.has_exception() );
-}
-
-// check wait_for
-void test_case_12()
-{
- tsk::static_pool<
- tsk::unbounded_onelock_fifo,
- tsk::distrib_rr_ums
- > pool( tsk::poolsize( 3) );
- tsk::task< void > t( delay_fn, pt::seconds( 3) );
- tsk::handle< void > h(
- tsk::async( boost::move( t), pool) );
- BOOST_CHECK( ! h.wait_for( pt::seconds( 1) ) );
- BOOST_CHECK( ! h.is_ready() );
- BOOST_CHECK( ! h.has_value() );
- BOOST_CHECK( ! h.has_exception() );
-}
-
-// check wait_until
-void test_case_13()
-{
- tsk::static_pool<
- tsk::unbounded_onelock_fifo,
- tsk::distrib_rr_ums
- > pool( tsk::poolsize( 3) );
- tsk::task< void > t( delay_fn, pt::seconds( 1) );
- tsk::handle< void > h(
- tsk::async( boost::move( t), pool) );
- BOOST_CHECK( h.wait_until( boost::get_system_time() + pt::seconds( 3) ) );
- BOOST_CHECK( h.is_ready() );
- BOOST_CHECK( h.has_value() );
- BOOST_CHECK( ! h.has_exception() );
-}
-
-// check wait_until
-void test_case_14()
-{
- tsk::static_pool<
- tsk::unbounded_onelock_fifo,
- tsk::distrib_rr_ums
- > pool( tsk::poolsize( 3) );
- tsk::task< void > t( delay_fn, pt::seconds( 3) );
- tsk::handle< void > h(
- tsk::async( boost::move( t), pool) );
- BOOST_CHECK( ! h.wait_until( boost::get_system_time() + pt::seconds( 1) ) );
- BOOST_CHECK( ! h.is_ready() );
- BOOST_CHECK( ! h.has_value() );
- BOOST_CHECK( ! h.has_exception() );
-}
-
-// check interrupt
-void test_case_15()
-{
- tsk::static_pool<
- tsk::unbounded_onelock_fifo,
- tsk::distrib_rr_ums
- > pool( tsk::poolsize( 3) );
- tsk::task< void > t( delay_fn, pt::seconds( 3) );
- tsk::handle< void > h(
- tsk::async( boost::move( t), pool) );
- h.interrupt();
- BOOST_CHECK( h.interruption_requested() );
- BOOST_CHECK_THROW( h.get(), tsk::task_interrupted);
-}
-
-// check interrupt_all_worker
-void test_case_16()
-{
- tsk::static_pool<
- tsk::unbounded_onelock_fifo,
- tsk::distrib_rr_ums
- > pool( tsk::poolsize( 5) );
- tsk::task< void > t1( delay_fn, pt::seconds( 3) );
- tsk::task< void > t2( delay_fn, pt::seconds( 3) );
- tsk::task< void > t3( delay_fn, pt::seconds( 3) );
- tsk::handle< void > h1(
- tsk::async( boost::move( t1), pool) );
- tsk::handle< void > h2(
- tsk::async( boost::move( t2), pool) );
- tsk::handle< void > h3(
- tsk::async( boost::move( t3), pool) );
- boost::this_thread::sleep( pt::millisec( 250) );
- pool.interrupt_all_worker();
- BOOST_CHECK( ! h1.interruption_requested() );
- BOOST_CHECK( ! h2.interruption_requested() );
- BOOST_CHECK( ! h3.interruption_requested() );
- BOOST_CHECK_THROW( h1.get(), tsk::task_interrupted);
- BOOST_CHECK_THROW( h2.get(), tsk::task_interrupted);
- BOOST_CHECK_THROW( h3.get(), tsk::task_interrupted);
- BOOST_CHECK_EQUAL( pool.size(), std::size_t( 5) );
-}
-
-// check interrupt_and_wait
-void test_case_17()
-{
- tsk::static_pool<
- tsk::unbounded_onelock_fifo,
- tsk::distrib_rr_ums
- > pool( tsk::poolsize( 3) );
- bool finished( false);
- tsk::task< void > t(
- interrupt_fn,
- pt::seconds( 1),
- boost::ref( finished) );
- tsk::handle< void > h(
- tsk::async( boost::move( t), pool) );
- h.interrupt_and_wait();
- BOOST_CHECK( finished);
- BOOST_CHECK( h.is_ready() );
- BOOST_CHECK( ! h.has_value() );
- BOOST_CHECK( h.has_exception() );
- BOOST_CHECK( h.interruption_requested() );
- BOOST_CHECK_THROW( h.get(), tsk::task_interrupted);
-}
-
-// check interrupt_and_wait_for
-void test_case_18()
-{
- tsk::static_pool<
- tsk::unbounded_onelock_fifo,
- tsk::distrib_rr_ums
- > pool( tsk::poolsize( 3) );
- bool finished( false);
- tsk::task< void > t(
- interrupt_fn,
- pt::seconds( 1),
- boost::ref( finished) );
- tsk::handle< void > h(
- tsk::async( boost::move( t), pool) );
- BOOST_CHECK( h.interrupt_and_wait_for( pt::seconds( 3) ) );
- BOOST_CHECK( finished);
- BOOST_CHECK( h.is_ready() );
- BOOST_CHECK( ! h.has_value() );
- BOOST_CHECK( h.has_exception() );
- BOOST_CHECK( h.interruption_requested() );
- BOOST_CHECK_THROW( h.get(), tsk::task_interrupted);
-}
-
-// check interrupt_and_wait_for
-void test_case_19()
-{
- tsk::static_pool<
- tsk::unbounded_onelock_fifo,
- tsk::distrib_rr_ums
- > pool( tsk::poolsize( 3) );
- tsk::task< void > t( non_interrupt_fn, 3);
- tsk::handle< void > h(
- tsk::async( boost::move( t), pool) );
- BOOST_CHECK( ! h.interrupt_and_wait_for( pt::seconds( 1) ) );
-}
-
-// check interrupt_and_wait_until
-void test_case_20()
-{
- tsk::static_pool<
- tsk::unbounded_onelock_fifo,
- tsk::distrib_rr_ums
- > pool( tsk::poolsize( 3) );
- bool finished( false);
- tsk::task< void > t(
- interrupt_fn,
- pt::seconds( 1),
- boost::ref( finished) );
- tsk::handle< void > h(
- tsk::async( boost::move( t), pool) );
- BOOST_CHECK( h.interrupt_and_wait_until( boost::get_system_time() + pt::seconds( 3) ) );
- BOOST_CHECK( finished);
- BOOST_CHECK( h.is_ready() );
- BOOST_CHECK( ! h.has_value() );
- BOOST_CHECK( h.has_exception() );
- BOOST_CHECK( h.interruption_requested() );
- BOOST_CHECK_THROW( h.get(), tsk::task_interrupted);
-}
-
-// check interrupt_and_wait_until
-void test_case_21()
-{
- tsk::static_pool<
- tsk::unbounded_onelock_fifo,
- tsk::distrib_rr_ums
- > pool( tsk::poolsize( 3) );
- tsk::task< void > t( non_interrupt_fn, 3);
- tsk::handle< void > h(
- tsk::async( boost::move( t), pool) );
- BOOST_CHECK( ! h.interrupt_and_wait_until( boost::get_system_time() + pt::seconds( 1) ) );
-}
-
-// check fifo scheduling
-void test_case_22()
-{
- typedef tsk::static_pool<
- tsk::unbounded_onelock_fifo,
- tsk::distrib_rr_ums
- > pool_type;
- BOOST_CHECK( ! tsk::has_attribute< pool_type >::value);
- pool_type pool( tsk::poolsize( 1) );
- boost::barrier b( 2);
- std::vector< int > buffer;
- tsk::task< void > t1( barrier_fn, boost::ref( b) );
- tsk::task< void > t2(
- buffer_fibonacci_fn,
- boost::ref( buffer),
- 10);
- tsk::task< void > t3(
- buffer_fibonacci_fn,
- boost::ref( buffer),
- 0);
- tsk::async( boost::move( t1), pool);
- boost::this_thread::sleep( pt::millisec( 250) );
- tsk::async( boost::move( t2), pool);
- tsk::async( boost::move( t3), pool);
- b.wait();
- pool.shutdown();
- BOOST_CHECK_EQUAL( buffer[0], 55);
- BOOST_CHECK_EQUAL( buffer[1], 0);
- BOOST_CHECK_EQUAL( buffer.size(), std::size_t( 2) );
-}
-
-// check priority scheduling
-void test_case_23()
-{
- typedef tsk::static_pool<
- tsk::unbounded_onelock_prio_queue< int >,
- tsk::distrib_rr_ums
- > pool_type;
- BOOST_CHECK( tsk::has_attribute< pool_type >::value);
- typedef boost::is_same< tsk::attribute_type< pool_type >::type, int > type;
- BOOST_CHECK( type::value);
- pool_type pool( tsk::poolsize( 1) );
- boost::barrier b( 2);
- std::vector< int > buffer;
- tsk::task< void > t1( barrier_fn, boost::ref( b) );
- tsk::task< void > t2(
- buffer_fibonacci_fn,
- boost::ref( buffer),
- 10) ;
- tsk::task< void > t3(
- buffer_fibonacci_fn,
- boost::ref( buffer),
- 0);
- tsk::async( boost::move( t1), 0, pool);
- boost::this_thread::sleep( pt::millisec( 250) );
- tsk::async( boost::move( t2), 1, pool);
- tsk::async( boost::move( t3), 0, pool);
- b.wait();
- pool.shutdown();
- BOOST_CHECK_EQUAL( buffer[0], 55);
- BOOST_CHECK_EQUAL( buffer[1], 0);
- BOOST_CHECK_EQUAL( buffer.size(), std::size_t( 2) );
-}
-
-// check smart scheduling
-void test_case_24()
-{
- typedef tsk::static_pool<
- tsk::unbounded_onelock_smart_queue< int, std::less< int > >,
- tsk::distrib_rr_ums
- > pool_type;
- BOOST_CHECK( tsk::has_attribute< pool_type >::value);
- typedef boost::is_same< tsk::attribute_type< pool_type >::type, int > type;
- BOOST_CHECK( type::value);
- pool_type pool( tsk::poolsize( 1) );
- boost::barrier b( 2);
- std::vector< int > buffer;
- tsk::task< void > t1( barrier_fn, boost::ref( b) );
- tsk::task< void > t2(
- buffer_fibonacci_fn,
- boost::ref( buffer),
- 10);
- tsk::task< void > t3(
- buffer_fibonacci_fn,
- boost::ref( buffer),
- 0);
- tsk::task< void > t4(
- buffer_fibonacci_fn,
- boost::ref( buffer),
- 1);
- pool.submit( boost::move( t1), 0);
- boost::this_thread::sleep( pt::millisec( 250) );
- tsk::async( boost::move( t2), 2, pool);
- tsk::async( boost::move( t3), 1, pool);
- tsk::async( boost::move( t4), 2, pool);
- b.wait();
- pool.shutdown();
- BOOST_CHECK_EQUAL( buffer[0], 0);
- BOOST_CHECK_EQUAL( buffer[1], 1);
- BOOST_CHECK_EQUAL( buffer.size(), std::size_t( 2) );
-}
-
-}
-
-boost::unit_test::test_suite * init_unit_test_suite( int, char* [])
-{
- boost::unit_test::test_suite * test =
- BOOST_TEST_SUITE("Boost.Task: unbounded-onelock-pool test suite");
-
- test->add( BOOST_TEST_CASE( & test_case_1) );
- test->add( BOOST_TEST_CASE( & test_case_2) );
- test->add( BOOST_TEST_CASE( & test_case_3) );
- test->add( BOOST_TEST_CASE( & test_case_4) );
- test->add( BOOST_TEST_CASE( & test_case_5) );
- test->add( BOOST_TEST_CASE( & test_case_6) );
- test->add( BOOST_TEST_CASE( & test_case_7) );
- test->add( BOOST_TEST_CASE( & test_case_8) );
- test->add( BOOST_TEST_CASE( & test_case_9) );
- test->add( BOOST_TEST_CASE( & test_case_10) );
- test->add( BOOST_TEST_CASE( & test_case_11) );
- test->add( BOOST_TEST_CASE( & test_case_12) );
- test->add( BOOST_TEST_CASE( & test_case_13) );
- test->add( BOOST_TEST_CASE( & test_case_14) );
- test->add( BOOST_TEST_CASE( & test_case_15) );
- test->add( BOOST_TEST_CASE( & test_case_16) );
- test->add( BOOST_TEST_CASE( & test_case_17) );
- test->add( BOOST_TEST_CASE( & test_case_18) );
- test->add( BOOST_TEST_CASE( & test_case_19) );
- test->add( BOOST_TEST_CASE( & test_case_20) );
- test->add( BOOST_TEST_CASE( & test_case_21) );
- test->add( BOOST_TEST_CASE( & test_case_22) );
- test->add( BOOST_TEST_CASE( & test_case_23) );
- test->add( BOOST_TEST_CASE( & test_case_24) );
-
- return test;
-}


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk