// // signal_set.cpp // ~~~~~~~~~~~~~~ // // Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // 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) // // Disable autolinking for unit tests. #if !defined(BOOST_ALL_NO_LIB) #define BOOST_ALL_NO_LIB 1 #endif // !defined(BOOST_ALL_NO_LIB) // Test that header file is self-contained. #include #include "archetypes/async_result.hpp" #include #include "unit_test.hpp" //------------------------------------------------------------------------------ // signal_set_compile test // ~~~~~~~~~~~~~~~~~~~~~~~ // The following test checks that all public member functions on the class // signal_set compile and link correctly. Runtime failures are ignored. namespace signal_set_compile { void signal_handler(const boost::system::error_code&, int) { } void test() { using namespace boost::asio; try { io_service ios; archetypes::lazy_handler lazy; boost::system::error_code ec; // basic_signal_set constructors. signal_set set1(ios); signal_set set2(ios, 1); signal_set set3(ios, 1, 2); signal_set set4(ios, 1, 2, 3); // basic_io_object functions. io_service& ios_ref = set1.get_io_service(); (void)ios_ref; // basic_signal_set functions. set1.add(1); set1.add(1, ec); set1.remove(1); set1.remove(1, ec); set1.clear(); set1.clear(ec); set1.cancel(); set1.cancel(ec); set1.async_wait(&signal_handler); int i = set1.async_wait(lazy); (void)i; } catch (std::exception&) { } } } // namespace signal_set_compile //------------------------------------------------------------------------------ BOOST_ASIO_TEST_SUITE ( "signal_set", BOOST_ASIO_TEST_CASE(signal_set_compile::test) )