5 // Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com)
7 // Distributed under the Boost Software License, Version 1.0. (See accompanying
8 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
11 // Disable autolinking for unit tests.
12 #if !defined(BOOST_ALL_NO_LIB)
13 #define BOOST_ALL_NO_LIB 1
14 #endif // !defined(BOOST_ALL_NO_LIB)
16 // Test that header file is self-contained.
17 #include <boost/asio/error.hpp>
20 #include "unit_test.hpp"
22 void test_error_code(const boost::system::error_code
& code
)
24 boost::system::error_code
error(code
);
25 BOOST_ASIO_CHECK(code
== error
);
27 BOOST_ASIO_CHECK(!code
|| error
);
28 BOOST_ASIO_CHECK(!code
|| !!error
);
30 boost::system::error_code
error2(error
);
31 BOOST_ASIO_CHECK(error
== error2
);
32 BOOST_ASIO_CHECK(!(error
!= error2
));
34 boost::system::error_code error3
;
36 BOOST_ASIO_CHECK(error
== error3
);
37 BOOST_ASIO_CHECK(!(error
!= error3
));
39 std::ostringstream os
;
41 BOOST_ASIO_CHECK(!os
.str().empty());
46 test_error_code(boost::asio::error::access_denied
);
47 test_error_code(boost::asio::error::address_family_not_supported
);
48 test_error_code(boost::asio::error::address_in_use
);
49 test_error_code(boost::asio::error::already_connected
);
50 test_error_code(boost::asio::error::already_started
);
51 test_error_code(boost::asio::error::connection_aborted
);
52 test_error_code(boost::asio::error::connection_refused
);
53 test_error_code(boost::asio::error::connection_reset
);
54 test_error_code(boost::asio::error::bad_descriptor
);
55 test_error_code(boost::asio::error::eof
);
56 test_error_code(boost::asio::error::fault
);
57 test_error_code(boost::asio::error::host_not_found
);
58 test_error_code(boost::asio::error::host_not_found_try_again
);
59 test_error_code(boost::asio::error::host_unreachable
);
60 test_error_code(boost::asio::error::in_progress
);
61 test_error_code(boost::asio::error::interrupted
);
62 test_error_code(boost::asio::error::invalid_argument
);
63 test_error_code(boost::asio::error::message_size
);
64 test_error_code(boost::asio::error::network_down
);
65 test_error_code(boost::asio::error::network_reset
);
66 test_error_code(boost::asio::error::network_unreachable
);
67 test_error_code(boost::asio::error::no_descriptors
);
68 test_error_code(boost::asio::error::no_buffer_space
);
69 test_error_code(boost::asio::error::no_data
);
70 test_error_code(boost::asio::error::no_memory
);
71 test_error_code(boost::asio::error::no_permission
);
72 test_error_code(boost::asio::error::no_protocol_option
);
73 test_error_code(boost::asio::error::no_recovery
);
74 test_error_code(boost::asio::error::not_connected
);
75 test_error_code(boost::asio::error::not_socket
);
76 test_error_code(boost::asio::error::operation_aborted
);
77 test_error_code(boost::asio::error::operation_not_supported
);
78 test_error_code(boost::asio::error::service_not_found
);
79 test_error_code(boost::asio::error::shut_down
);
80 test_error_code(boost::asio::error::timed_out
);
81 test_error_code(boost::asio::error::try_again
);
82 test_error_code(boost::asio::error::would_block
);
88 BOOST_ASIO_TEST_CASE(error_test
)