forked from boostorg/beast
Add test::error to experimental
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
//
|
||||
// Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
//
|
||||
// Official repository: https://github.com/boostorg/beast
|
||||
//
|
||||
|
||||
#ifndef BOOST_BEAST_TEST_DETAIL_ERROR_HPP
|
||||
#define BOOST_BEAST_TEST_DETAIL_ERROR_HPP
|
||||
|
||||
#include <boost/beast/core/error.hpp>
|
||||
#include <boost/beast/core/string.hpp>
|
||||
|
||||
namespace boost {
|
||||
|
||||
namespace beast {
|
||||
namespace test {
|
||||
enum class error;
|
||||
} // test
|
||||
} // beast
|
||||
|
||||
namespace system {
|
||||
template<>
|
||||
struct is_error_code_enum<beast::test::error>
|
||||
{
|
||||
static bool const value = true;
|
||||
};
|
||||
|
||||
} // system
|
||||
|
||||
namespace beast {
|
||||
namespace test {
|
||||
namespace detail {
|
||||
|
||||
class error_codes : public error_category
|
||||
{
|
||||
public:
|
||||
const char*
|
||||
name() const noexcept override;
|
||||
|
||||
std::string
|
||||
message(int ev) const override;
|
||||
|
||||
error_condition
|
||||
default_error_condition(int ev) const noexcept override;
|
||||
};
|
||||
|
||||
} // detail
|
||||
|
||||
error_code
|
||||
make_error_code(error e);
|
||||
|
||||
} // test
|
||||
} // beast
|
||||
|
||||
} // boost
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,37 @@
|
||||
//
|
||||
// Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
//
|
||||
// Official repository: https://github.com/boostorg/beast
|
||||
//
|
||||
|
||||
#ifndef BOOST_BEAST_TEST_ERROR_HPP
|
||||
#define BOOST_BEAST_TEST_ERROR_HPP
|
||||
|
||||
#include <boost/beast/core/error.hpp>
|
||||
#include <boost/beast/experimental/test/detail/error.hpp>
|
||||
|
||||
namespace boost {
|
||||
namespace beast {
|
||||
namespace test {
|
||||
|
||||
/// Error codes returned from unit testing algorithms
|
||||
enum class error
|
||||
{
|
||||
/** The test stream generated a simulated testing error
|
||||
|
||||
This error is returned by the test @ref stream when it
|
||||
generates a simulated error.
|
||||
*/
|
||||
test_failure = 1
|
||||
};
|
||||
|
||||
} // test
|
||||
} // beast
|
||||
} // boost
|
||||
|
||||
#include <boost/beast/experimental/test/impl/error.ipp>
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,62 @@
|
||||
//
|
||||
// Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
//
|
||||
// Official repository: https://github.com/boostorg/beast
|
||||
//
|
||||
|
||||
#ifndef BOOST_BEAST_TEST_IMPL_ERROR_IPP
|
||||
#define BOOST_BEAST_TEST_IMPL_ERROR_IPP
|
||||
|
||||
namespace boost {
|
||||
namespace beast {
|
||||
namespace test {
|
||||
|
||||
namespace detail {
|
||||
|
||||
inline
|
||||
const char*
|
||||
error_codes::
|
||||
name() const noexcept
|
||||
{
|
||||
return "boost.beast.test";
|
||||
}
|
||||
|
||||
inline
|
||||
std::string
|
||||
error_codes::
|
||||
message(int ev) const
|
||||
{
|
||||
switch(static_cast<error>(ev))
|
||||
{
|
||||
default:
|
||||
case error::test_failure: return "The test stream generated a simulated error";
|
||||
}
|
||||
}
|
||||
|
||||
inline
|
||||
error_condition
|
||||
error_codes::
|
||||
default_error_condition(int ev) const noexcept
|
||||
{
|
||||
return error_condition{ev, *this};
|
||||
}
|
||||
|
||||
} // detail
|
||||
|
||||
inline
|
||||
error_code
|
||||
make_error_code(error e)
|
||||
{
|
||||
static detail::error_codes const cat{};
|
||||
return error_code{static_cast<
|
||||
std::underlying_type<error>::type>(e), cat};
|
||||
}
|
||||
|
||||
} // test
|
||||
} // beast
|
||||
} // boost
|
||||
|
||||
#endif
|
||||
@@ -7,8 +7,8 @@
|
||||
// Official repository: https://github.com/boostorg/beast
|
||||
//
|
||||
|
||||
#ifndef BOOST_BEAST_WEBSOCKET_DETAIL_ERROR_IPP
|
||||
#define BOOST_BEAST_WEBSOCKET_DETAIL_ERROR_IPP
|
||||
#ifndef BOOST_BEAST_WEBSOCKET_DETAIL_ERROR_HPP
|
||||
#define BOOST_BEAST_WEBSOCKET_DETAIL_ERROR_HPP
|
||||
|
||||
#include <boost/beast/core/error.hpp>
|
||||
#include <boost/beast/core/string.hpp>
|
||||
|
||||
Reference in New Issue
Block a user