]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | // |
2 | // error.cpp | |
3 | // ~~~~~~~~~ | |
4 | // | |
b32b8144 | 5 | // Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) |
7c673cae FG |
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 | ) |