Merge pull request #6025
323de27
Initialization: setup environment before starting QT tests (dexX7)7494e09
Initialization: setup environment before starting tests (dexX7)df45564
Initialization: set fallback locale as environment variable (dexX7)
This commit is contained in:
commit
3a70613398
|
@ -6,6 +6,7 @@
|
|||
#include "config/bitcoin-config.h"
|
||||
#endif
|
||||
|
||||
#include "util.h"
|
||||
#include "uritests.h"
|
||||
|
||||
#ifdef ENABLE_WALLET
|
||||
|
@ -27,6 +28,7 @@ Q_IMPORT_PLUGIN(qkrcodecs)
|
|||
// This is all you need to run all the tests
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
SetupEnvironment();
|
||||
bool fInvalid = false;
|
||||
|
||||
// Don't remove this, it's needed to access
|
||||
|
|
|
@ -30,6 +30,7 @@ struct TestingSetup {
|
|||
boost::thread_group threadGroup;
|
||||
|
||||
TestingSetup() {
|
||||
SetupEnvironment();
|
||||
fPrintToDebugLog = false; // don't want to write to debug.log file
|
||||
fCheckBlockIndex = true;
|
||||
SelectParams(CBaseChainParams::UNITTEST);
|
||||
|
|
|
@ -713,18 +713,19 @@ void RenameThread(const char* name)
|
|||
|
||||
void SetupEnvironment()
|
||||
{
|
||||
std::locale loc("C");
|
||||
// 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.
|
||||
#if !defined(WIN32) && !defined(MAC_OSX) && !defined(__FreeBSD__) && !defined(__OpenBSD__)
|
||||
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&) {
|
||||
std::locale::global(std::locale("C"));
|
||||
setenv("LC_ALL", "C", 1);
|
||||
}
|
||||
#endif
|
||||
// The path locale is lazy initialized and to avoid deinitialization errors
|
||||
// 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)
|
||||
|
|
Loading…
Reference in New Issue