]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/system/test/std_interop_test2.cpp
1 // Copyright 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_code.hpp>
6 #include <boost/system/system_category.hpp>
7 #include <boost/system/generic_category.hpp>
8 #include <boost/core/lightweight_test.hpp>
9 #include <boost/config/pragma_message.hpp>
12 #if !defined(BOOST_SYSTEM_HAS_SYSTEM_ERROR)
14 BOOST_PRAGMA_MESSAGE( "BOOST_SYSTEM_HAS_SYSTEM_ERROR not defined, test will be skipped" )
19 #include <system_error>
21 void f1( std::error_code ec
, int value
, std::error_category
const& category
)
23 BOOST_TEST_EQ( ec
.value(), value
);
24 BOOST_TEST_EQ( &ec
.category(), &category
);
27 void f2( std::error_code
const& ec
, int value
, std::error_category
const& category
)
29 BOOST_TEST_EQ( ec
.value(), value
);
30 BOOST_TEST_EQ( &ec
.category(), &category
);
36 boost::system::error_code e1
;
37 boost::system::error_code
e2( e1
);
39 f1( e1
, e1
.value(), e1
.category() );
40 #if !defined(BOOST_SYSTEM_CLANG_6)
41 f2( e1
, e1
.value(), e1
.category() );
44 BOOST_TEST_EQ( e1
, e2
);
48 boost::system::error_code
e1( 0, boost::system::system_category() );
49 boost::system::error_code
e2( e1
);
51 f1( e1
, e1
.value(), e1
.category() );
52 #if !defined(BOOST_SYSTEM_CLANG_6)
53 f2( e1
, e1
.value(), e1
.category() );
56 BOOST_TEST_EQ( e1
, e2
);
60 boost::system::error_code
e1( 5, boost::system::system_category() );
61 boost::system::error_code
e2( e1
);
63 f1( e1
, e1
.value(), e1
.category() );
64 #if !defined(BOOST_SYSTEM_CLANG_6)
65 f2( e1
, e1
.value(), e1
.category() );
68 BOOST_TEST_EQ( e1
, e2
);
72 boost::system::error_code
e1( 0, boost::system::generic_category() );
73 boost::system::error_code
e2( e1
);
75 f1( e1
, e1
.value(), e1
.category() );
76 #if !defined(BOOST_SYSTEM_CLANG_6)
77 f2( e1
, e1
.value(), e1
.category() );
80 BOOST_TEST_EQ( e1
, e2
);
84 boost::system::error_code
e1( ENOENT
, boost::system::generic_category() );
85 boost::system::error_code
e2( e1
);
87 f1( e1
, e1
.value(), e1
.category() );
88 #if !defined(BOOST_SYSTEM_CLANG_6)
89 f2( e1
, e1
.value(), e1
.category() );
92 BOOST_TEST_EQ( e1
, e2
);
95 return boost::report_errors();