]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/system/test/error_condition_test3.cpp
1 // Copyright 2020, 2021 Peter Dimov.
2 // Distributed under the Boost Software License, Version 1.0.
3 // http://www.boost.org/LICENSE_1_0.txt
5 #include <boost/system/error_condition.hpp>
6 #include <boost/system/generic_category.hpp>
7 #include <boost/system/system_category.hpp>
8 #include <boost/core/lightweight_test.hpp>
10 namespace sys
= boost::system
;
16 sys::error_condition en
;
18 BOOST_TEST_EQ( en
.value(), 0 );
19 BOOST_TEST( en
.category() == sys::generic_category() );
20 BOOST_TEST_EQ( en
.message(), en
.category().message( en
.value() ) );
21 BOOST_TEST_CSTR_EQ( en
.message( buffer
, sizeof( buffer
) ), en
.category().message( en
.value(), buffer
, sizeof( buffer
) ) );
22 BOOST_TEST( !en
.failed() );
25 BOOST_TEST_EQ( en
.to_string(), std::string( "cond:generic:0" ) );
28 sys::error_condition
en2( en
);
30 BOOST_TEST_EQ( en2
.value(), 0 );
31 BOOST_TEST( en2
.category() == sys::generic_category() );
32 BOOST_TEST_EQ( en2
.message(), en2
.category().message( en2
.value() ) );
33 BOOST_TEST_CSTR_EQ( en2
.message( buffer
, sizeof( buffer
) ), en2
.category().message( en2
.value(), buffer
, sizeof( buffer
) ) );
34 BOOST_TEST( !en2
.failed() );
37 BOOST_TEST_EQ( en
, en2
);
38 BOOST_TEST_NOT( en
!= en2
);
40 BOOST_TEST_EQ( en2
.to_string(), std::string( "cond:generic:0" ) );
44 sys::error_condition
en2( en
.value(), en
.category() );
46 BOOST_TEST_EQ( en2
.value(), 0 );
47 BOOST_TEST( en2
.category() == sys::generic_category() );
48 BOOST_TEST_EQ( en2
.message(), en2
.category().message( en2
.value() ) );
49 BOOST_TEST_CSTR_EQ( en2
.message( buffer
, sizeof( buffer
) ), en2
.category().message( en2
.value(), buffer
, sizeof( buffer
) ) );
50 BOOST_TEST( !en2
.failed() );
53 BOOST_TEST_EQ( en
, en2
);
54 BOOST_TEST_NOT( en
!= en2
);
56 BOOST_TEST_EQ( en2
.to_string(), std::string( "cond:generic:0" ) );
60 sys::error_condition
en2( 5, sys::generic_category() );
62 BOOST_TEST_EQ( en2
.value(), 5 );
63 BOOST_TEST( en2
.category() == sys::generic_category() );
64 BOOST_TEST_EQ( en2
.message(), en2
.category().message( en2
.value() ) );
65 BOOST_TEST_CSTR_EQ( en2
.message( buffer
, sizeof( buffer
) ), en2
.category().message( en2
.value(), buffer
, sizeof( buffer
) ) );
66 BOOST_TEST( en2
.failed() );
68 BOOST_TEST_NOT( !en2
);
70 BOOST_TEST_NE( en
, en2
);
71 BOOST_TEST_NOT( en
== en2
);
73 BOOST_TEST_EQ( en2
.to_string(), std::string( "cond:generic:5" ) );
77 sys::error_condition
en2( 5, sys::system_category() );
79 BOOST_TEST_EQ( en2
.value(), 5 );
80 BOOST_TEST( en2
.category() == sys::system_category() );
81 BOOST_TEST_EQ( en2
.message(), en2
.category().message( en2
.value() ) );
82 BOOST_TEST_CSTR_EQ( en2
.message( buffer
, sizeof( buffer
) ), en2
.category().message( en2
.value(), buffer
, sizeof( buffer
) ) );
83 BOOST_TEST( en2
.failed() );
85 BOOST_TEST_NOT( !en2
);
87 BOOST_TEST_NE( en
, en2
);
88 BOOST_TEST_NOT( en
== en2
);
90 BOOST_TEST_EQ( en2
.to_string(), std::string( "cond:system:5" ) );
93 return boost::report_errors();