mirror of
https://github.com/dashpay/dash.git
synced 2024-12-27 21:12:48 +01:00
Merge pull request #5950
3a3ecc0
Initialization: setup environment before starting QT tests (dexX7)fc3979a
Initialization: setup environment before starting tests (dexX7)ba0fa0d
Initialization: set fallback locale as environment variable (dexX7)
This commit is contained in:
commit
41113e33ad
@ -6,6 +6,7 @@
|
|||||||
#include "config/bitcoin-config.h"
|
#include "config/bitcoin-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "util.h"
|
||||||
#include "uritests.h"
|
#include "uritests.h"
|
||||||
|
|
||||||
#ifdef ENABLE_WALLET
|
#ifdef ENABLE_WALLET
|
||||||
@ -27,6 +28,7 @@ Q_IMPORT_PLUGIN(qkrcodecs)
|
|||||||
// This is all you need to run all the tests
|
// This is all you need to run all the tests
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
|
SetupEnvironment();
|
||||||
bool fInvalid = false;
|
bool fInvalid = false;
|
||||||
|
|
||||||
// Don't remove this, it's needed to access
|
// Don't remove this, it's needed to access
|
||||||
|
@ -28,6 +28,7 @@ extern void noui_connect();
|
|||||||
|
|
||||||
BasicTestingSetup::BasicTestingSetup()
|
BasicTestingSetup::BasicTestingSetup()
|
||||||
{
|
{
|
||||||
|
SetupEnvironment();
|
||||||
fPrintToDebugLog = false; // don't want to write to debug.log file
|
fPrintToDebugLog = false; // don't want to write to debug.log file
|
||||||
SelectParams(CBaseChainParams::MAIN);
|
SelectParams(CBaseChainParams::MAIN);
|
||||||
}
|
}
|
||||||
|
@ -723,18 +723,19 @@ void RenameThread(const char* name)
|
|||||||
|
|
||||||
void SetupEnvironment()
|
void SetupEnvironment()
|
||||||
{
|
{
|
||||||
|
std::locale loc("C");
|
||||||
// On most POSIX systems (e.g. Linux, but not BSD) the environment's locale
|
// On most POSIX systems (e.g. Linux, but not BSD) the environment's locale
|
||||||
// may be invalid, in which case the "C" locale is used as fallback.
|
// may be invalid, in which case the "C" locale is used as fallback.
|
||||||
#if !defined(WIN32) && !defined(MAC_OSX) && !defined(__FreeBSD__) && !defined(__OpenBSD__)
|
#if !defined(WIN32) && !defined(MAC_OSX) && !defined(__FreeBSD__) && !defined(__OpenBSD__)
|
||||||
try {
|
try {
|
||||||
std::locale(""); // Raises a runtime error if current locale is invalid
|
loc = std::locale(""); // Raises a runtime error if current locale is invalid
|
||||||
} catch (const std::runtime_error&) {
|
} catch (const std::runtime_error&) {
|
||||||
std::locale::global(std::locale("C"));
|
setenv("LC_ALL", "C", 1);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
// The path locale is lazy initialized and to avoid deinitialization errors
|
// The path locale is lazy initialized and to avoid deinitialization errors
|
||||||
// in multithreading environments, it is set explicitly by the main thread.
|
// in multithreading environments, it is set explicitly by the main thread.
|
||||||
boost::filesystem::path::imbue(std::locale());
|
boost::filesystem::path::imbue(loc);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetThreadPriority(int nPriority)
|
void SetThreadPriority(int nPriority)
|
||||||
|
Loading…
Reference in New Issue
Block a user