// Copyright (c) 2005-2006 Chris Miceli (cmicel1@cct.lsu.edu) // // Use, modification and distribution is subject to 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) #if !defined(SAGA_TEST_FUNCTIONS_HPP) #define SAGA_TEST_FUNCTIONS_HPP #include //verification of first state inline void verify_created_state(saga::task t, saga::task::Sync) { BOOST_CHECK_EQUAL(t.get_state(), saga::task::Done); } inline void verify_created_state(saga::task t, saga::task::Async) { BOOST_CHECK(t.get_state() == saga::task::Running || \ t.get_state() == saga::task::Done); } inline void verify_created_state(saga::task t, saga::task::Task) { BOOST_CHECK_EQUAL(t.get_state(), saga::task::New); } template inline void verify_created_state(saga::task t) { verify_created_state(t, Tag()); } //run process inline void run_check_state(saga::task t, saga::task::Sync) { BOOST_CHECK_EQUAL(t.get_state(), saga::task::Done); } inline void run_check_state(saga::task t, saga::task::Async) { BOOST_CHECK(t.get_state() == saga::task::Running || \ t.get_state() == saga::task::Done); } inline void run_check_state(saga::task t, saga::task::Task) { t.run(); BOOST_CHECK(t.get_state() == saga::task::Running || \ t.get_state() == saga::task::Done); } template inline void run_check_state(saga::task t) { run_check_state(t, Tag()); } //wait for all inline void wait_check_state(saga::task t, saga::task::Sync) { BOOST_CHECK_EQUAL(t.get_state(), saga::task::Done); } inline void wait_check_state(saga::task t, saga::task::Async) { t.wait(); BOOST_CHECK_EQUAL(t.get_state(), saga::task::Done); } inline void wait_check_state(saga::task t, saga::task::Task) { t.wait(); BOOST_CHECK_EQUAL(t.get_state(), saga::task::Done); } template inline void wait_check_state(saga::task t) { wait_check_state(t, Tag()); } #endif //SAGA_TEST_FUNCTIONS_HPP