]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/assert/test/source_location_test.cpp
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / boost / libs / assert / test / source_location_test.cpp
CommitLineData
f67539c2
TL
1// Copyright 2019 Peter Dimov
2// Distributed under the Boost Software License, Version 1.0.
3// http://www.boost.org/LICENSE_1_0.txt
4
5#include <boost/assert/source_location.hpp>
6#include <boost/core/lightweight_test.hpp>
7
8int main()
9{
10 {
11 boost::source_location loc;
12
1e59de90
TL
13 BOOST_TEST_CSTR_EQ( loc.file_name(), "" );
14 BOOST_TEST_CSTR_EQ( loc.function_name(), "" );
f67539c2
TL
15 BOOST_TEST_EQ( loc.line(), 0 );
16 BOOST_TEST_EQ( loc.column(), 0 );
17 }
18
19 {
1e59de90 20 boost::source_location loc( __FILE__, __LINE__, "main()" );
f67539c2
TL
21
22 BOOST_TEST_CSTR_EQ( loc.file_name(), __FILE__ );
f67539c2 23 BOOST_TEST_EQ( loc.line(), 20 );
1e59de90 24 BOOST_TEST_CSTR_EQ( loc.function_name(), "main()" );
f67539c2
TL
25 BOOST_TEST_EQ( loc.column(), 0 );
26 }
27
1e59de90
TL
28 {
29 boost::source_location loc( "file", 1, "main()", 2 );
30
31 BOOST_TEST_CSTR_EQ( loc.file_name(), "file" );
32 BOOST_TEST_EQ( loc.line(), 1 );
33 BOOST_TEST_CSTR_EQ( loc.function_name(), "main()" );
34 BOOST_TEST_EQ( loc.column(), 2 );
35 }
36
37 {
38 boost::source_location loc = BOOST_CURRENT_LOCATION;
39
40 BOOST_TEST_CSTR_EQ( loc.file_name(), __FILE__ );
41 BOOST_TEST_EQ( loc.line(), 38 );
42 }
43
44 {
45 BOOST_STATIC_CONSTEXPR boost::source_location loc = BOOST_CURRENT_LOCATION;
46
47 BOOST_TEST_CSTR_EQ( loc.file_name(), __FILE__ );
48 BOOST_TEST_EQ( loc.line(), 45 );
49 }
50
51#if defined(__cpp_lib_source_location) && __cpp_lib_source_location >= 201907L
52
53 {
54 std::source_location loc = std::source_location::current();
55 boost::source_location loc2 = loc;
56
57 BOOST_TEST_CSTR_EQ( loc2.file_name(), loc.file_name() );
58 BOOST_TEST_CSTR_EQ( loc2.function_name(), loc.function_name() );
59 BOOST_TEST_EQ( loc2.line(), loc.line() );
60 BOOST_TEST_EQ( loc2.column(), loc.column() );
61 }
62
63#endif
64
f67539c2
TL
65 return boost::report_errors();
66}