Improve platform detection and reduce includes:

The existing platform detection code was derived from the old Beast
library, which was, itself, derived from JUCE.

This commit removes that code and replaces it with the Boost.Predef
library which defines a consistent set of compiler, architecture,
operating system, library, and other version numbers.

For more on Boost.Predef, please see the Boost documentation. The
documentation for the current version as of this writing is at:
https://www.boost.org/doc/libs/1_71_0/doc/html/predef.html
This commit is contained in:
Nik Bougalis
2019-12-02 02:15:44 -08:00
parent 4a1148eb28
commit 63503ee8f0
44 changed files with 120 additions and 1058 deletions

View File

@@ -79,14 +79,6 @@ int main(int ac, char const* av[])
using namespace std;
using namespace beast::unit_test;
#if BOOST_MSVC
{
int flags = _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG);
flags |= _CRTDBG_LEAK_CHECK_DF;
_CrtSetDbgFlag(flags);
}
#endif
namespace po = boost::program_options;
po::options_description desc("Options");
desc.add_options()

View File

@@ -37,10 +37,7 @@
#include <ripple/beast/clock/basic_seconds_clock.h>
#include <ripple/beast/core/CurrentThreadName.h>
#include <beast/unit_test/dstream.hpp>
#include <beast/unit_test/global_suites.hpp>
#include <beast/unit_test/match.hpp>
#include <beast/unit_test/reporter.hpp>
#include <test/unit_test/multi_runner.h>
#include <google/protobuf/stubs/common.h>
@@ -48,19 +45,31 @@
#include <boost/filesystem.hpp>
#include <boost/process.hpp>
#include <boost/program_options.hpp>
#include <boost/system/error_code.hpp>
#include <boost/version.hpp>
#include <boost/predef.h>
#include <cstdlib>
#include <iostream>
#include <utility>
#include <stdexcept>
#ifdef _MSC_VER
#if BOOST_OS_WINDOWS
#include <sys/types.h>
#include <sys/timeb.h>
#endif
// Do we know the plaform we're compiling on? If you're adding new platforms
// modify this check accordingly.
#if !BOOST_OS_LINUX && !BOOST_OS_WINDOWS && !BOOST_OS_MACOS
#error Supported platforms are: Linux, Windows and MacOS
#endif
// Ensure that precisely one platform is detected.
#if (BOOST_OS_LINUX && (BOOST_OS_WINDOWS || BOOST_OS_MACOS)) || \
(BOOST_OS_MACOS && (BOOST_OS_WINDOWS || BOOST_OS_LINUX)) || \
(BOOST_OS_WINDOWS && (BOOST_OS_LINUX || BOOST_OS_MACOS))
#error Multiple supported platforms appear active at once
#endif
namespace po = boost::program_options;
namespace ripple {
@@ -727,7 +736,7 @@ int run (int argc, char** argv)
//
int main (int argc, char** argv)
{
#ifdef _MSC_VER
#if BOOST_OS_WINDOWS
{
// Work around for https://svn.boost.org/trac/boost/ticket/10657
// Reported against boost version 1.56.0. If an application's

View File

@@ -1084,7 +1084,7 @@ void NetworkOPsImp::apply (std::unique_lock<std::mutex>& batchLock)
if (isTemMalformed (e.result))
app_.getHashRouter().setFlags (e.transaction->getID(), SF_BAD);
#ifdef BEAST_DEBUG
#ifdef DEBUG
if (e.result != tesSUCCESS)
{
std::string token, human;

View File

@@ -27,6 +27,7 @@
#include <date/date.h>
#include <cmath>
#include <mutex>
#include <shared_mutex>

View File

@@ -47,12 +47,10 @@ ValidatorSite::Site::Resource::Resource (std::string uri_)
if (!pUrl.domain.empty())
throw std::runtime_error("file URI cannot contain a hostname");
#if _MSC_VER // MSVC: Windows paths need the leading / removed
{
if (pUrl.path[0] == '/')
pUrl.path = pUrl.path.substr(1);
}
#if BOOST_OS_WINDOWS
// Paths on Windows need the leading / removed
if (pUrl.path[0] == '/')
pUrl.path = pUrl.path.substr(1);
#endif
if (pUrl.path.empty())

View File

@@ -635,7 +635,7 @@ Transactor::operator()()
{
JLOG(j_.trace()) << "apply: " << ctx_.tx.getTransactionID ();
#ifdef BEAST_DEBUG
#ifdef DEBUG
{
Serializer ser;
ctx_.tx.add (ser);

View File

@@ -32,6 +32,7 @@
#include <boost/endian/conversion.hpp>
#include <boost/functional/hash.hpp>
#include <array>
#include <cstring>
#include <functional>
#include <type_traits>

View File

@@ -20,7 +20,6 @@
#ifndef RIPPLE_BASICS_RANDOM_H_INCLUDED
#define RIPPLE_BASICS_RANDOM_H_INCLUDED
#include <ripple/basics/win32_workaround.h>
#include <ripple/beast/xor_shift_engine.h>
#include <boost/thread/tss.hpp>
#include <cassert>

View File

@@ -1,45 +0,0 @@
//------------------------------------------------------------------------------
/*
This file is part of Beast: https://github.com/vinniefalco/Beast
Copyright 2015, Vinnie Falco <vinnie.falco@gmail.com>
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
//==============================================================================
#ifndef BEAST_WINDOWS_H_INCLUDED
#define BEAST_WINDOWS_H_INCLUDED
#ifdef _MSC_VER
#pragma push_macro("NOMINMAX")
#pragma push_macro("UNICODE")
#pragma push_macro("STRICT")
# ifndef NOMINMAX
# define NOMINMAX
# endif
# ifndef UNICODE
# define UNICODE
# endif
# ifndef STRICT
# define STRICT
# endif
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
# endif
# include <Windows.h>
#pragma pop_macro("STRICT")
#pragma pop_macro("UNICODE")
#pragma pop_macro("NOMINMAX")
#endif
#endif

View File

@@ -28,6 +28,7 @@
#include <boost/intrusive/list.hpp>
#include <boost/intrusive/unordered_set.hpp>
#include <algorithm>
#include <cmath>
#include <functional>
#include <initializer_list>
#include <iterator>

View File

@@ -1,302 +0,0 @@
//------------------------------------------------------------------------------
/*
This file is part of Beast: https://github.com/vinniefalco/Beast
Copyright 2013, Vinnie Falco <vinnie.falco@gmail.com>
Portions of this file are from JUCE.
Copyright (c) 2013 - Raw Material Software Ltd.
Please visit http://www.juce.com
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
//==============================================================================
#ifndef BEAST_MODULE_CORE_NATIVE_BASICNATIVEHEADERS_H_INCLUDED
#define BEAST_MODULE_CORE_NATIVE_BASICNATIVEHEADERS_H_INCLUDED
#include <ripple/beast/core/Config.h>
#undef T
//==============================================================================
#if BEAST_MAC || BEAST_IOS
#if BEAST_IOS
#ifdef __OBJC__
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <CoreData/CoreData.h>
#import <MobileCoreServices/MobileCoreServices.h>
#endif
#include <sys/fcntl.h>
#else
#ifdef __OBJC__
#define Point CarbonDummyPointName
#define Component CarbonDummyCompName
#import <Cocoa/Cocoa.h>
#import <CoreAudio/HostTime.h>
#undef Point
#undef Component
#endif
#include <sys/dir.h>
#endif
#include <sys/socket.h>
#include <sys/sysctl.h>
#include <sys/stat.h>
#include <sys/param.h>
#include <sys/mount.h>
#include <sys/utsname.h>
#include <sys/mman.h>
#include <fnmatch.h>
#include <utime.h>
#include <dlfcn.h>
#include <ifaddrs.h>
#include <net/if_dl.h>
#include <mach/mach_time.h>
#include <mach-o/dyld.h>
#include <objc/runtime.h>
#include <objc/objc.h>
#include <objc/message.h>
//==============================================================================
#elif BEAST_WINDOWS
#if BEAST_MSVC
#ifndef _CPPRTTI
#error "Beast requires RTTI!"
#endif
#ifndef _CPPUNWIND
#error "Beast requires RTTI!"
#endif
#pragma warning (push)
#pragma warning (disable : 4100 4201 4514 4312 4995)
#endif
#define STRICT 1
#define WIN32_LEAN_AND_MEAN 1
#ifndef _WIN32_WINNT
#if BEAST_MINGW
#define _WIN32_WINNT 0x0501
#else
#define _WIN32_WINNT 0x0600
#endif
#endif
#define _UNICODE 1
#define UNICODE 1
#ifndef _WIN32_IE
#define _WIN32_IE 0x0400
#endif
#include <windows.h>
#include <shellapi.h>
#include <tchar.h>
#include <stddef.h>
#include <ctime>
#include <wininet.h>
#include <nb30.h>
#include <iphlpapi.h>
#include <mapi.h>
#include <float.h>
#include <process.h>
#pragma warning ( push )
#pragma warning ( disable: 4091 )
#include <shlobj.h>
#pragma warning ( pop )
#include <shlwapi.h>
#include <mmsystem.h>
#if BEAST_MINGW
#include <basetyps.h>
#else
#include <crtdbg.h>
#include <comutil.h>
#endif
#undef PACKED
#if BEAST_MSVC
#pragma warning (pop)
#pragma warning (4: 4511 4512 4100 /*4365*/) // (enable some warnings that are turned off in VC8)
#endif
#if BEAST_MSVC && ! BEAST_DONT_AUTOLINK_TO_WIN32_LIBRARIES
#pragma comment (lib, "kernel32.lib")
#pragma comment (lib, "user32.lib")
#pragma comment (lib, "wininet.lib")
#pragma comment (lib, "advapi32.lib")
#pragma comment (lib, "ws2_32.lib")
#pragma comment (lib, "version.lib")
#pragma comment (lib, "shlwapi.lib")
#pragma comment (lib, "winmm.lib")
#ifdef _NATIVE_WCHAR_T_DEFINED
#ifdef _DEBUG
#pragma comment (lib, "comsuppwd.lib")
#else
#pragma comment (lib, "comsuppw.lib")
#endif
#else
#ifdef _DEBUG
#pragma comment (lib, "comsuppd.lib")
#else
#pragma comment (lib, "comsupp.lib")
#endif
#endif
#endif
//==============================================================================
#elif BEAST_LINUX || BEAST_BSD
#include <sched.h>
#include <pthread.h>
#include <sys/time.h>
#include <errno.h>
#include <sys/stat.h>
#include <sys/ptrace.h>
#include <sys/wait.h>
#include <sys/mman.h>
#include <fnmatch.h>
#include <utime.h>
#include <pwd.h>
#include <fcntl.h>
#include <dlfcn.h>
#include <netdb.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <sys/types.h>
#include <sys/ioctl.h>
#include <sys/socket.h>
#include <net/if.h>
#include <sys/file.h>
#include <signal.h>
#include <stddef.h>
#if BEAST_BSD
#include <dirent.h>
#include <ifaddrs.h>
#include <net/if_dl.h>
#include <kvm.h>
#include <langinfo.h>
#include <sys/cdefs.h>
#include <sys/param.h>
#include <sys/mount.h>
#include <sys/types.h>
#include <sys/sysctl.h>
// This has to be in the global namespace
extern char** environ;
#else
#include <sys/dir.h>
#include <sys/vfs.h>
#include <sys/sysinfo.h>
#include <sys/prctl.h>
#endif
//==============================================================================
#elif BEAST_ANDROID
#include <jni.h>
#include <pthread.h>
#include <sched.h>
#include <sys/time.h>
#include <utime.h>
#include <errno.h>
#include <fcntl.h>
#include <dlfcn.h>
#include <sys/stat.h>
#include <sys/statfs.h>
#include <sys/ptrace.h>
#include <sys/sysinfo.h>
#include <sys/mman.h>
#include <pwd.h>
#include <dirent.h>
#include <fnmatch.h>
#include <sys/wait.h>
#endif
// Need to clear various moronic redefinitions made by system headers..
#undef max
#undef min
#undef direct
#undef check
// Order matters, since headers don't have their own #include lines.
// Add new includes to the bottom.
#include <ripple/beast/core/LexicalCast.h>
#include <ripple/beast/core/SemanticVersion.h>
#include <locale>
#include <cctype>
#if ! BEAST_BSD
#include <sys/timeb.h>
#endif
#if ! BEAST_ANDROID
#include <cwctype>
#endif
#if BEAST_WINDOWS
#include <ctime>
#include <winsock2.h>
#include <ws2tcpip.h>
#if ! BEAST_MINGW
#pragma warning ( push )
#pragma warning ( disable: 4091 )
#include <Dbghelp.h>
#pragma warning ( pop )
#if ! BEAST_DONT_AUTOLINK_TO_WIN32_LIBRARIES
#pragma comment (lib, "DbgHelp.lib")
#endif
#endif
#if BEAST_MINGW
#include <ws2spi.h>
#endif
#else
#if BEAST_LINUX || BEAST_ANDROID
#include <sys/types.h>
#include <sys/socket.h>
#include <unistd.h>
#include <netinet/in.h>
#endif
#if BEAST_LINUX
#include <langinfo.h>
#endif
#include <pwd.h>
#include <fcntl.h>
#include <netdb.h>
#include <arpa/inet.h>
#include <netinet/tcp.h>
#include <sys/time.h>
#include <net/if.h>
#include <sys/ioctl.h>
#endif
#if BEAST_MAC || BEAST_IOS
#include <xlocale.h>
#include <mach/mach.h>
#endif
#if BEAST_ANDROID
#include <android/log.h>
#endif
#endif // BEAST_BASICNATIVEHEADERS_H_INCLUDED

View File

@@ -1,31 +0,0 @@
//------------------------------------------------------------------------------
/*
This file is part of Beast: https://github.com/vinniefalco/Beast
Copyright 2013, Vinnie Falco <vinnie.falco@gmail.com>
Portions of this file are from JUCE.
Copyright (c) 2013 - Raw Material Software Ltd.
Please visit http://www.juce.com
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
//==============================================================================
#ifndef BEAST_CONFIG_H_INCLUDED
#define BEAST_CONFIG_H_INCLUDED
#include <ripple/beast/core/PlatformConfig.h>
#include <ripple/beast/core/StandardConfig.h>
#include <ripple/beast/core/ConfigCheck.h>
#endif

View File

@@ -1,31 +0,0 @@
//------------------------------------------------------------------------------
/*
This file is part of Beast: https://github.com/vinniefalco/Beast
Copyright 2013, Vinnie Falco <vinnie.falco@gmail.com>
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
//==============================================================================
#ifndef BEAST_CONFIG_CONFIGCHECK_H_INCLUDED
#define BEAST_CONFIG_CONFIGCHECK_H_INCLUDED
//
// Apply sensible defaults for the configuration settings
//
#ifndef BEAST_DONT_AUTOLINK_TO_WIN32_LIBRARIES
#define BEAST_DONT_AUTOLINK_TO_WIN32_LIBRARIES 0
#endif
#endif

View File

@@ -22,111 +22,98 @@
//==============================================================================
#include <ripple/beast/core/CurrentThreadName.h>
#include <ripple/beast/core/Config.h>
#include <boost/thread/tss.hpp>
#include <ripple/beast/core/BasicNativeHeaders.h>
#include <ripple/beast/core/StandardIncludes.h>
namespace beast {
namespace detail {
static boost::thread_specific_ptr<std::string> threadName;
void saveThreadName (std::string name)
{
threadName.reset (new std::string {std::move(name)});
}
} // detail
boost::optional<std::string> getCurrentThreadName ()
{
if (auto r = detail::threadName.get())
return *r;
return boost::none;
}
} // beast
#include <boost/predef.h>
//------------------------------------------------------------------------------
#if BEAST_WINDOWS
#if BOOST_OS_WINDOWS
#include <windows.h>
#include <process.h>
#include <tchar.h>
namespace beast {
namespace detail {
namespace beast::detail {
void setCurrentThreadNameImpl (std::string const& name)
inline void setCurrentThreadNameImpl (std::string_view name)
{
#if BEAST_DEBUG && BEAST_MSVC
struct
#if DEBUG && BOOST_COMP_MSVC
// This technique is documented by Microsoft and works for all versions
// of Windows and Visual Studio provided that the process is being run
// under the Visual Studio debugger. For more details, see:
// https://docs.microsoft.com/en-us/visualstudio/debugger/how-to-set-a-thread-name-in-native-code
#pragma pack(push,8)
struct THREADNAME_INFO
{
DWORD dwType;
LPCSTR szName;
DWORD dwThreadID;
DWORD dwFlags;
} info;
};
#pragma pack(pop)
info.dwType = 0x1000;
info.szName = name.c_str ();
info.dwThreadID = GetCurrentThreadId();
info.dwFlags = 0;
THREADNAME_INFO ni;
ni.dwType = 0x1000;
ni.szName = name.data();
ni.dwThreadID = GetCurrentThreadId();
ni.dwFlags = 0;
#pragma warning(push)
#pragma warning(disable: 6320 6322)
__try
{
RaiseException (0x406d1388 /*MS_VC_EXCEPTION*/, 0, sizeof (info) / sizeof (ULONG_PTR), (ULONG_PTR*) &info);
RaiseException (0x406d1388, 0,
sizeof(ni) / sizeof(ULONG_PTR), (ULONG_PTR*)&ni);
}
__except (EXCEPTION_CONTINUE_EXECUTION)
{}
#else
(void) name;
#endif
#pragma warning(pop)
#endif
}
} // detail
} // beast
#elif BEAST_MAC
} // beast::detail
#endif // BOOST_OS_WINDOWS
#if BOOST_OS_MACOS
#include <pthread.h>
namespace beast {
namespace detail {
namespace beast::detail {
void setCurrentThreadNameImpl (std::string const& name)
inline void setCurrentThreadNameImpl (std::string_view name)
{
pthread_setname_np(name.c_str());
pthread_setname_np(name.data());
}
} // detail
} // beast
#else // BEAST_LINUX
} // beast::detail
#endif // BOOST_OS_MACOS
#if BOOST_OS_LINUX
#include <pthread.h>
namespace beast::detail {
inline void setCurrentThreadNameImpl (std::string_view name)
{
pthread_setname_np(pthread_self(), name.data());
}
} // beast::detail
#endif // BOOST_OS_LINUX
namespace beast {
namespace detail {
void setCurrentThreadNameImpl (std::string const& name)
{
pthread_setname_np(pthread_self(), name.c_str());
}
thread_local std::string threadName;
} // detail
} // beast
#endif // BEAST_LINUX
namespace beast {
void setCurrentThreadName (std::string name)
std::string getCurrentThreadName ()
{
detail::setCurrentThreadNameImpl (name);
detail::saveThreadName (std::move (name));
return detail::threadName;
}
void setCurrentThreadName (std::string_view name)
{
detail::threadName = name;
detail::setCurrentThreadNameImpl(name);
}
} // beast

View File

@@ -24,7 +24,7 @@
#ifndef BEAST_CORE_CURRENT_THREAD_NAME_H_INCLUDED
#define BEAST_CORE_CURRENT_THREAD_NAME_H_INCLUDED
#include <boost/optional.hpp>
#include <string_view>
#include <string>
namespace beast {
@@ -32,16 +32,17 @@ namespace beast {
/** Changes the name of the caller thread.
Different OSes may place different length or content limits on this name.
*/
void setCurrentThreadName (std::string newThreadName);
void setCurrentThreadName (std::string_view newThreadName);
/** Returns the name of the caller thread.
The name returned is the name as set by a call to setCurrentThreadName().
If the thread name is set by an external force, then that name change
will not be reported. If no name has ever been set, then boost::none
is returned.
will not be reported.
If no name has ever been set, then the empty string is returned.
*/
boost::optional<std::string> getCurrentThreadName ();
std::string getCurrentThreadName ();
}

View File

@@ -20,7 +20,6 @@
#ifndef BEAST_MODULE_CORE_TEXT_LEXICALCAST_H_INCLUDED
#define BEAST_MODULE_CORE_TEXT_LEXICALCAST_H_INCLUDED
#include <ripple/beast/core/Config.h>
#include <algorithm>
#include <cassert>
#include <cerrno>
@@ -33,11 +32,13 @@
#include <typeinfo>
#include <utility>
#include <boost/predef.h>
namespace beast {
namespace detail {
#ifdef _MSC_VER
#if BOOST_COMP_MSVC
#pragma warning(push)
#pragma warning(disable: 4800)
#pragma warning(disable: 4804)
@@ -190,10 +191,10 @@ struct LexicalCast <Out, std::string>
{
// Convert the input to lowercase
std::transform(in.begin (), in.end (), in.begin (),
[](auto c)
{
return ::tolower(static_cast<unsigned char>(c));
});
[](auto c)
{
return ::tolower(static_cast<unsigned char>(c));
});
if (in == "1" || in == "true")
{
@@ -238,7 +239,7 @@ struct LexicalCast <Out, char*>
}
};
#ifdef _MSC_VER
#if BOOST_COMP_MSVC
#pragma warning(pop)
#endif

View File

@@ -20,8 +20,6 @@
#ifndef BEAST_INTRUSIVE_LIST_H_INCLUDED
#define BEAST_INTRUSIVE_LIST_H_INCLUDED
#include <ripple/beast/core/Config.h>
#include <iterator>
#include <type_traits>

View File

@@ -1,211 +0,0 @@
//------------------------------------------------------------------------------
/*
This file is part of Beast: https://github.com/vinniefalco/Beast
Copyright 2013, Vinnie Falco <vinnie.falco@gmail.com>
Portions of this file are from JUCE.
Copyright (c) 2013 - Raw Material Software Ltd.
Please visit http://www.juce.com
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
//==============================================================================
#ifndef BEAST_CONFIG_PLATFORMCONFIG_H_INCLUDED
#define BEAST_CONFIG_PLATFORMCONFIG_H_INCLUDED
//==============================================================================
/* This file figures out which platform is being built, and defines some macros
that the rest of the code can use for OS-specific compilation.
Macros that will be set here are:
- One of BEAST_WINDOWS, BEAST_MAC BEAST_LINUX, BEAST_IOS, BEAST_ANDROID, etc.
- Either BEAST_32BIT or BEAST_64BIT, depending on the architecture.
- Either BEAST_LITTLE_ENDIAN or BEAST_BIG_ENDIAN.
- Either BEAST_INTEL or BEAST_PPC
- Either BEAST_GCC or BEAST_MSVC
*/
//==============================================================================
#if (defined (_WIN32) || defined (_WIN64))
#define BEAST_WIN32 1
#define BEAST_WINDOWS 1
#elif defined (BEAST_ANDROID)
#undef BEAST_ANDROID
#define BEAST_ANDROID 1
#elif defined (LINUX) || defined (__linux__)
#define BEAST_LINUX 1
#elif defined (__APPLE_CPP__) || defined(__APPLE_CC__)
#define Point CarbonDummyPointName // (workaround to avoid definition of "Point" by old Carbon headers)
#define Component CarbonDummyCompName
#include <CoreFoundation/CoreFoundation.h> // (needed to find out what platform we're using)
#undef Point
#undef Component
#if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR
#define BEAST_IPHONE 1
#define BEAST_IOS 1
#else
#define BEAST_MAC 1
#endif
#elif defined (__FreeBSD__)
#define BEAST_BSD 1
#else
#error "Unknown platform!"
#endif
//==============================================================================
#if BEAST_WINDOWS
#ifdef _MSC_VER
#ifdef _WIN64
#define BEAST_64BIT 1
#else
#define BEAST_32BIT 1
#endif
#endif
#ifdef _DEBUG
#define BEAST_DEBUG 1
#endif
#ifdef __MINGW32__
#define BEAST_MINGW 1
#ifdef __MINGW64__
#define BEAST_64BIT 1
#else
#define BEAST_32BIT 1
#endif
#endif
/** If defined, this indicates that the processor is little-endian. */
#define BEAST_LITTLE_ENDIAN 1
#define BEAST_INTEL 1
#endif
//==============================================================================
#if BEAST_MAC || BEAST_IOS
#if defined (DEBUG) || defined (_DEBUG) || ! (defined (NDEBUG) || defined (_NDEBUG))
#define BEAST_DEBUG 1
#endif
#ifdef __LITTLE_ENDIAN__
#define BEAST_LITTLE_ENDIAN 1
#else
#define BEAST_BIG_ENDIAN 1
#endif
#endif
#if BEAST_MAC
#if defined (__ppc__) || defined (__ppc64__)
#define BEAST_PPC 1
#elif defined (__arm__)
#define BEAST_ARM 1
#else
#define BEAST_INTEL 1
#endif
#ifdef __LP64__
#define BEAST_64BIT 1
#else
#define BEAST_32BIT 1
#endif
#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_4
#error "Building for OSX 10.3 is no longer supported!"
#endif
#ifndef MAC_OS_X_VERSION_10_5
#error "To build with 10.4 compatibility, use a 10.5 or 10.6 SDK and set the deployment target to 10.4"
#endif
#endif
//==============================================================================
#if BEAST_LINUX || BEAST_ANDROID || BEAST_BSD
#ifdef _DEBUG
#define BEAST_DEBUG 1
#endif
// Allow override for big-endian Linux platforms
#if defined (__LITTLE_ENDIAN__) || ! defined (BEAST_BIG_ENDIAN)
#define BEAST_LITTLE_ENDIAN 1
#undef BEAST_BIG_ENDIAN
#else
#undef BEAST_LITTLE_ENDIAN
#define BEAST_BIG_ENDIAN 1
#endif
#if defined (__LP64__) || defined (_LP64)
#define BEAST_64BIT 1
#else
#define BEAST_32BIT 1
#endif
#if __MMX__ || __SSE__ || __amd64__
#ifdef __arm__
#define BEAST_ARM 1
#else
#define BEAST_INTEL 1
#endif
#endif
#endif
//==============================================================================
// Compiler type macros.
#ifdef __clang__
#define BEAST_CLANG 1
#elif defined (__GNUC__)
#define BEAST_GCC 1
#elif defined (_MSC_VER)
#define BEAST_MSVC 1
#if _MSC_VER < 1500
#define BEAST_VC8_OR_EARLIER 1
#if _MSC_VER < 1400
#define BEAST_VC7_OR_EARLIER 1
#if _MSC_VER < 1300
#warning "MSVC 6.0 is no longer supported!"
#endif
#endif
#endif
#if BEAST_64BIT || ! BEAST_VC7_OR_EARLIER
#define BEAST_USE_INTRINSICS 1
#endif
#else
#error unknown compiler
#endif
//------------------------------------------------------------------------------
// Handy macro that lets pragma warnings be clicked in the output window
//
// Usage: #pragma message(BEAST_FILEANDLINE_ "Advertise here!")
//
// Note that a space following the macro is mandatory for C++11.
//
// This is here so it can be used in C compilations that include this directly.
//
#define BEAST_PP_STR2_(x) #x
#define BEAST_PP_STR1_(x) BEAST_PP_STR2_(x)
#define BEAST_FILEANDLINE_ __FILE__ "(" BEAST_PP_STR1_(__LINE__) "): warning:"
#endif

View File

@@ -1,73 +0,0 @@
//------------------------------------------------------------------------------
/*
This file is part of Beast: https://github.com/vinniefalco/Beast
Copyright 2013, Vinnie Falco <vinnie.falco@gmail.com>
Portions of this file are from JUCE.
Copyright (c) 2013 - Raw Material Software Ltd.
Please visit http://www.juce.com
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
//==============================================================================
#ifndef BEAST_CONFIG_STANDARDCONFIG_H_INCLUDED
#define BEAST_CONFIG_STANDARDCONFIG_H_INCLUDED
// Now we'll include some common OS headers..
#if BEAST_MSVC
#pragma warning (push)
#pragma warning (disable: 4514 4245 4100)
#endif
#if BEAST_USE_INTRINSICS
#include <intrin.h>
#endif
#if BEAST_MAC || BEAST_IOS
#include <libkern/OSAtomic.h>
#endif
#if BEAST_LINUX
#include <signal.h>
# if __INTEL_COMPILER
# if __ia64__
#include <ia64intrin.h>
# else
#include <ia32intrin.h>
# endif
# endif
#endif
#if BEAST_MSVC && BEAST_DEBUG
#include <crtdbg.h>
#include <stdlib.h>
#include <malloc.h>
#endif
#if BEAST_MSVC
#pragma warning (pop)
#endif
#if BEAST_ANDROID
#include <sys/atomics.h>
#include <byteswap.h>
#endif
// undef symbols that are sometimes set by misguided 3rd-party headers..
#undef check
#undef TYPE_BOOL
#undef max
#undef min
#endif

View File

@@ -1,78 +0,0 @@
//------------------------------------------------------------------------------
/*
This file is part of Beast: https://github.com/vinniefalco/Beast
Copyright 2013, Vinnie Falco <vinnie.falco@gmail.com>
Portions of this file are from JUCE.
Copyright (c) 2013 - Raw Material Software Ltd.
Please visit http://www.juce.com
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
//==============================================================================
#ifndef BEAST_MODULE_CORE_SYSTEM_STANDARDINCLUDES_H_INCLUDED
#define BEAST_MODULE_CORE_SYSTEM_STANDARDINCLUDES_H_INCLUDED
// Include some common OS headers..
#if BEAST_MSVC
#pragma warning (push)
#pragma warning (disable: 4514 4245 4100)
#endif
#include <algorithm>
#include <cfloat>
#include <climits>
#include <cmath>
#include <cstdarg>
#include <cstddef>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cwchar>
#include <exception>
#include <iostream>
#include <istream>
#include <iterator>
#include <limits>
#include <list>
#include <map>
#include <new>
#include <numeric>
#include <ostream>
#include <sstream>
#include <stdexcept>
#include <string>
#include <typeinfo>
#include <vector>
#include <assert.h>
#include <ctype.h>
#include <errno.h>
#include <float.h>
#include <locale.h>
#include <math.h>
#include <memory.h>
#include <stdarg.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// undef symbols that are sometimes set by misguided 3rd-party headers..
#undef check
#undef TYPE_BOOL
#undef max
#undef min
#endif

View File

@@ -21,58 +21,6 @@
*/
//==============================================================================
#include <ripple/beast/core/BasicNativeHeaders.h>
#include <ripple/beast/core/Config.h>
#include <ripple/beast/core/StandardIncludes.h>
//------------------------------------------------------------------------------
// If the MSVC debug heap headers were included, disable
// the macros during the juce include since they conflict.
#ifdef _CRTDBG_MAP_ALLOC
#pragma push_macro("calloc")
#pragma push_macro("free")
#pragma push_macro("malloc")
#pragma push_macro("realloc")
#pragma push_macro("_recalloc")
#pragma push_macro("_aligned_free")
#pragma push_macro("_aligned_malloc")
#pragma push_macro("_aligned_offset_malloc")
#pragma push_macro("_aligned_realloc")
#pragma push_macro("_aligned_recalloc")
#pragma push_macro("_aligned_offset_realloc")
#pragma push_macro("_aligned_offset_recalloc")
#pragma push_macro("_aligned_msize")
#undef calloc
#undef free
#undef malloc
#undef realloc
#undef _recalloc
#undef _aligned_free
#undef _aligned_malloc
#undef _aligned_offset_malloc
#undef _aligned_realloc
#undef _aligned_recalloc
#undef _aligned_offset_realloc
#undef _aligned_offset_recalloc
#undef _aligned_msize
#endif
#include <ripple/beast/core/CurrentThreadName.cpp>
#include <ripple/beast/core/SemanticVersion.cpp>
#ifdef _CRTDBG_MAP_ALLOC
#pragma pop_macro("calloc")
#pragma pop_macro("free")
#pragma pop_macro("malloc")
#pragma pop_macro("realloc")
#pragma pop_macro("_recalloc")
#pragma pop_macro("_aligned_free")
#pragma pop_macro("_aligned_malloc")
#pragma pop_macro("_aligned_offset_malloc")
#pragma pop_macro("_aligned_realloc")
#pragma pop_macro("_aligned_recalloc")
#pragma pop_macro("_aligned_offset_realloc")
#pragma pop_macro("_aligned_offset_recalloc")
#pragma pop_macro("_aligned_msize")
#endif

View File

@@ -17,8 +17,6 @@
*/
//==============================================================================
#include <ripple/beast/core/Config.h>
#include <ripple/beast/insight/Insight.h>
#include <ripple/beast/insight/impl/Collector.cpp>

View File

@@ -21,7 +21,6 @@
#define RIPPLE_CORE_JOBQUEUE_H_INCLUDED
#include <ripple/basics/LocalValue.h>
#include <ripple/basics/win32_workaround.h>
#include <ripple/core/JobTypes.h>
#include <ripple/core/JobTypeData.h>
#include <ripple/core/Stoppable.h>

View File

@@ -393,25 +393,22 @@ int RFC1751::wsrch (std::string const& strWord, int iMin, int iMax)
// -2 words OK but parity is wrong
int RFC1751::etob (std::string& strData, std::vector<std::string> vsHuman)
{
int i, p, v, l;
char b[9];
if (6 != vsHuman.size ())
return -1;
memset (b, 0, sizeof (b));
int i, p = 0;
char b[9] = { 0 };
p = 0;
for (auto& strWord : vsHuman)
{
l = strWord.length ();
int l = strWord.length ();
if (l > 4 || l < 1)
return -1;
standard (strWord);
v = wsrch (strWord,
auto v = wsrch (strWord,
l < 4 ? 0 : 571,
l < 4 ? 570 : 2048);

View File

@@ -22,7 +22,6 @@
#include <ripple/json/json_forwards.h>
#include <cstring>
#include <functional>
#include <map>
#include <string>
#include <vector>

View File

@@ -18,6 +18,7 @@
//==============================================================================
#include <ripple/net/RegisterSSLCerts.h>
#include <boost/predef.h>
#if BOOST_OS_WINDOWS
#include <boost/asio/ssl/error.hpp>
#include <boost/system/error_code.hpp>
@@ -100,7 +101,6 @@ registerSSLCerts(
SSL_CTX_set_cert_store(ctx.native_handle(), store.release());
#else
ctx.set_default_verify_paths(ec);
#endif
}

View File

@@ -32,11 +32,11 @@ EncodedBlob::prepare (
auto ret = m_data.alloc(object->getData ().size () + 9);
// the first 8 bytes are unused
memset (ret, 0, 8);
std::memset (ret, 0, 8);
ret[8] = static_cast<std::uint8_t> (object->getType ());
memcpy (ret + 9,
std::memcpy (ret + 9,
object->getData ().data(),
object->getData ().size());
}

View File

@@ -250,8 +250,7 @@ nodeobject_compress (void const* in,
bit; bit >>= 1)
{
void const* const h = is(32);
if (std::memcmp(
h, zero32(), 32) == 0)
if (std::memcmp(h, zero32(), 32) == 0)
continue;
std::memcpy(
vh.data() + 32 * n, h, 32);

View File

@@ -25,6 +25,8 @@
#include <ripple/peerfinder/Slot.h>
#include <ripple/peerfinder/impl/Tuning.h>
#include <cmath>
namespace ripple {
namespace PeerFinder {

View File

@@ -1,37 +0,0 @@
//------------------------------------------------------------------------------
/*
This file is part of rippled: https://github.com/ripple/rippled
Copyright (c) 2012, 2013 Ripple Labs Inc.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
//==============================================================================
#ifndef RIPPLE_PEERFINDER_PRIVATETYPES_H_INCLUDED
#define RIPPLE_PEERFINDER_PRIVATETYPES_H_INCLUDED
namespace ripple {
namespace PeerFinder {
/** Indicates the action the logic will take after a handshake. */
enum HandshakeAction
{
doActivate,
doRedirect,
doClose
};
}
}
#endif

View File

@@ -27,6 +27,7 @@
#include <ripple/protocol/Seed.h>
#include <ripple/protocol/tokens.h>
#include <array>
#include <cstring>
#include <string>
namespace ripple {
@@ -100,8 +101,7 @@ operator== (SecretKey const& lhs,
SecretKey const& rhs)
{
return lhs.size() == rhs.size() &&
std::memcmp(lhs.data(),
rhs.data(), rhs.size()) == 0;
std::memcmp(lhs.data(), rhs.data(), rhs.size()) == 0;
}
inline

View File

@@ -30,6 +30,7 @@
#include <ripple/protocol/SField.h>
#include <cassert>
#include <cstdint>
#include <cstring>
#include <iomanip>
#include <sstream>
#include <type_traits>

View File

@@ -18,10 +18,11 @@
//==============================================================================
#include <ripple/basics/contract.h>
#include <ripple/beast/core/PlatformConfig.h>
#include <ripple/beast/core/SemanticVersion.h>
#include <ripple/protocol/BuildInfo.h>
#include <boost/preprocessor/stringize.hpp>
namespace ripple {
namespace BuildInfo {
@@ -42,7 +43,7 @@ char const* const versionString = "1.5.0-b1"
#endif
#ifdef SANITIZER
BEAST_PP_STR1_(SANITIZER)
BOOST_PP_STRINGIZE(SANITIZER)
#endif
#endif

View File

@@ -19,6 +19,7 @@
#include <ripple/protocol/ErrorCodes.h>
#include <cassert>
#include <stdexcept>
namespace ripple {
namespace RPC {

View File

@@ -19,6 +19,8 @@
#include <ripple/protocol/STAccount.h>
#include <cstring>
namespace ripple {
STAccount::STAccount ()

View File

@@ -120,7 +120,7 @@ Json::Value doAccountTx (RPC::Context& context)
if (params.isMember(jss::marker))
resumeToken = params[jss::marker];
#ifndef BEAST_DEBUG
#ifndef DEBUG
try
{
@@ -189,7 +189,7 @@ Json::Value doAccountTx (RPC::Context& context)
ret[jss::marker] = resumeToken;
return ret;
#ifndef BEAST_DEBUG
#ifndef DEBUG
}
catch (std::exception const&)
{

View File

@@ -132,7 +132,7 @@ Json::Value doAccountTxOld (RPC::Context& context)
int count = 0;
#ifndef BEAST_DEBUG
#ifndef DEBUG
try
{
@@ -217,7 +217,7 @@ Json::Value doAccountTxOld (RPC::Context& context)
return ret;
#ifndef BEAST_DEBUG
#ifndef DEBUG
}
catch (std::exception const&)
{

View File

@@ -17,9 +17,6 @@
*/
//==============================================================================
#undef DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER
#define DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER /**/
#include <ripple/net/impl/HTTPClient.cpp>
#include <ripple/net/impl/InfoSub.cpp>
#include <ripple/net/impl/RPCCall.cpp>

View File

@@ -41,7 +41,7 @@ private:
*state = 1;
// If there is an initial thread name then we failed.
if (initialThreadName)
if (!initialThreadName.empty())
return;
// Wait until all threads have their names.

View File

@@ -1,58 +0,0 @@
//------------------------------------------------------------------------------
/*
This file is part of rippled: https://github.com/ripple/rippled
Copyright (c) 2012, 2013 Ripple Labs Inc.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
//==============================================================================
#include <ripple/beast/unit_test.h>
namespace beast {
// A simple unit test to determine the diagnostic settings in a build.
//
class Debug_test : public unit_test::suite
{
public:
static int envDebug()
{
#ifdef _DEBUG
return 1;
#else
return 0;
#endif
}
static int beastDebug()
{
#ifdef BEAST_DEBUG
return BEAST_DEBUG;
#else
return 0;
#endif
}
void run() override
{
log <<
"_DEBUG = " << envDebug() << '\n' <<
"BEAST_DEBUG = " << beastDebug() << '\n' <<
"sizeof(std::size_t) = " << sizeof(std::size_t) << std::endl;
pass();
}
};
BEAST_DEFINE_TESTSUITE(Debug, utility, beast);
}

View File

@@ -23,6 +23,7 @@
#include <test/unit_test/FileDirGuard.h>
#include <boost/filesystem.hpp>
#include <boost/filesystem/operations.hpp>
#include <boost/predef.h>
#include <mutex>
#include <condition_variable>

View File

@@ -24,6 +24,5 @@
#include <test/beast/beast_basic_seconds_clock_test.cpp>
#include <test/beast/beast_io_latency_probe_test.cpp>
#include <test/beast/beast_CurrentThreadName_test.cpp>
#include <test/beast/beast_Debug_test.cpp>
#include <test/beast/beast_Journal_test.cpp>
#include <test/beast/beast_PropertyStream_test.cpp>