]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/asio/test/error.cpp
update sources to v12.2.3
[ceph.git] / ceph / src / boost / libs / asio / test / error.cpp
1 //
2 // error.cpp
3 // ~~~~~~~~~
4 //
5 // Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com)
6 //
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)
9 //
10
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)
15
16 // Test that header file is self-contained.
17 #include <boost/asio/error.hpp>
18
19 #include <sstream>
20 #include "unit_test.hpp"
21
22 void test_error_code(const boost::system::error_code& code)
23 {
24 boost::system::error_code error(code);
25 BOOST_ASIO_CHECK(code == error);
26
27 BOOST_ASIO_CHECK(!code || error);
28 BOOST_ASIO_CHECK(!code || !!error);
29
30 boost::system::error_code error2(error);
31 BOOST_ASIO_CHECK(error == error2);
32 BOOST_ASIO_CHECK(!(error != error2));
33
34 boost::system::error_code error3;
35 error3 = error;
36 BOOST_ASIO_CHECK(error == error3);
37 BOOST_ASIO_CHECK(!(error != error3));
38
39 std::ostringstream os;
40 os << error;
41 BOOST_ASIO_CHECK(!os.str().empty());
42 }
43
44 void error_test()
45 {
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);
83 }
84
85 BOOST_ASIO_TEST_SUITE
86 (
87 "error",
88 BOOST_ASIO_TEST_CASE(error_test)
89 )