diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2017-10-11 13:25:44 +0200 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2017-10-16 16:25:34 +0000 |
commit | 65eed6d5978738b06e047c9bd5d162b2596759f7 (patch) | |
tree | 283d7edafd13bacb209f486b6021facffbd57f3b /tests | |
parent | a090076e93487f8e461d9b866b9da1c0c21cb59b (diff) |
configure: make C++11 <random> a required functionality
Error out if it's missing or broken (Mersenne Twister not present).
This ensures that we never have a low-quality random generator in Qt.
Change-Id: I0a103569c81b4711a649fffd14ec80649df7087e
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/corelib/global/qrandomgenerator/tst_qrandomgenerator.cpp | 26 |
1 files changed, 3 insertions, 23 deletions
diff --git a/tests/auto/corelib/global/qrandomgenerator/tst_qrandomgenerator.cpp b/tests/auto/corelib/global/qrandomgenerator/tst_qrandomgenerator.cpp index bf43f6d710..2195bf8ec8 100644 --- a/tests/auto/corelib/global/qrandomgenerator/tst_qrandomgenerator.cpp +++ b/tests/auto/corelib/global/qrandomgenerator/tst_qrandomgenerator.cpp @@ -34,11 +34,9 @@ #include <private/qrandom_p.h> #include <algorithm> -#if QT_CONFIG(cxx11_random) -# include <random> -#endif +#include <random> -#if !QT_CONFIG(getentropy) && (QT_CONFIG(cxx11_random) || defined(Q_OS_BSD4) || defined(Q_OS_WIN)) +#if !QT_CONFIG(getentropy) && (defined(Q_OS_BSD4) || defined(Q_OS_WIN)) # define HAVE_FALLBACK_ENGINE #endif @@ -468,9 +466,6 @@ template <typename Engine> void seedStdRandomEngine() void tst_QRandomGenerator::seedStdRandomEngines() { -#if !QT_CONFIG(cxx11_random) - QSKIP("<random> not found"); -#else seedStdRandomEngine<std::default_random_engine>(); seedStdRandomEngine<std::minstd_rand0>(); seedStdRandomEngine<std::minstd_rand>(); @@ -480,7 +475,6 @@ void tst_QRandomGenerator::seedStdRandomEngines() seedStdRandomEngine<std::ranlux48_base>(); seedStdRandomEngine<std::ranlux24>(); seedStdRandomEngine<std::ranlux48>(); -#endif } void tst_QRandomGenerator::stdUniformIntDistribution_data() @@ -511,9 +505,6 @@ void tst_QRandomGenerator::stdUniformIntDistribution_data() void tst_QRandomGenerator::stdUniformIntDistribution() { -#if !QT_CONFIG(cxx11_random) - QSKIP("<random> not found"); -#else QFETCH(uint, control); QFETCH(quint32, max); setRNGControl(control & (SkipHWRNG|SkipSystemRNG|SkipMemfill)); @@ -575,14 +566,11 @@ void tst_QRandomGenerator::stdUniformIntDistribution() QVERIFY(value <= dist.max()); } } -#endif } void tst_QRandomGenerator::stdGenerateCanonical() { -#if !QT_CONFIG(cxx11_random) - QSKIP("<random> not found"); -#elif defined(Q_CC_MSVC) && Q_CC_MSVC < 1900 +#if defined(Q_CC_MSVC) && Q_CC_MSVC < 1900 // see https://connect.microsoft.com/VisualStudio/feedback/details/811611 QSKIP("MSVC 2013's std::generate_canonical is broken"); #else @@ -634,9 +622,6 @@ void tst_QRandomGenerator::stdUniformRealDistribution_data() void tst_QRandomGenerator::stdUniformRealDistribution() { -#if !QT_CONFIG(cxx11_random) - QSKIP("<random> not found"); -#else QFETCH(uint, control); QFETCH(double, min); QFETCH(double, sup); @@ -663,14 +648,10 @@ void tst_QRandomGenerator::stdUniformRealDistribution() QVERIFY(value < dist.max()); } } -#endif } void tst_QRandomGenerator::stdRandomDistributions() { -#if !QT_CONFIG(cxx11_random) - QSKIP("<random> not found"); -#else // just a compile check for some of the distributions, besides // std::uniform_int_distribution and std::uniform_real_distribution (tested // above) @@ -695,7 +676,6 @@ void tst_QRandomGenerator::stdRandomDistributions() QVERIFY(discrete(rd) != 0); QVERIFY_3TIMES(discrete(rd) == 3); } -#endif } QTEST_APPLESS_MAIN(tst_QRandomGenerator) |