From 8e3d949541a9bd3eb31d98591541ea6d78b960c6 Mon Sep 17 00:00:00 2001 From: Simone Basso Date: Tue, 19 Jan 2021 07:25:29 +0100 Subject: [PATCH] chore: update to catchorg/Catch2 2.13.4 --- include/private/catch.hpp | 40 +++++++++++++++++++++------------------ script/vendor/catch | 2 +- 2 files changed, 23 insertions(+), 19 deletions(-) diff --git a/include/private/catch.hpp b/include/private/catch.hpp index 2a2d77a27..0384171ae 100644 --- a/include/private/catch.hpp +++ b/include/private/catch.hpp @@ -1,6 +1,6 @@ /* - * Catch v2.13.3 - * Generated: 2020-10-31 18:20:31.045274 + * Catch v2.13.4 + * Generated: 2020-12-29 14:48:00.116107 * ---------------------------------------------------------- * This file has been merged from multiple headers. Please don't edit it directly * Copyright (c) 2020 Two Blue Cubes Ltd. All rights reserved. @@ -15,7 +15,7 @@ #define CATCH_VERSION_MAJOR 2 #define CATCH_VERSION_MINOR 13 -#define CATCH_VERSION_PATCH 3 +#define CATCH_VERSION_PATCH 4 #ifdef __clang__ # pragma clang system_header @@ -14126,24 +14126,28 @@ namespace Catch { namespace { struct TestHasher { - explicit TestHasher(Catch::SimplePcg32& rng_instance) { - basis = rng_instance(); - basis <<= 32; - basis |= rng_instance(); - } + using hash_t = uint64_t; - uint64_t basis; + explicit TestHasher( hash_t hashSuffix ): + m_hashSuffix{ hashSuffix } {} - uint64_t operator()(TestCase const& t) const { - // Modified FNV-1a hash - static constexpr uint64_t prime = 1099511628211; - uint64_t hash = basis; - for (const char c : t.name) { + uint32_t operator()( TestCase const& t ) const { + // FNV-1a hash with multiplication fold. + const hash_t prime = 1099511628211u; + hash_t hash = 14695981039346656037u; + for ( const char c : t.name ) { hash ^= c; hash *= prime; } - return hash; + hash ^= m_hashSuffix; + hash *= prime; + const uint32_t low{ static_cast( hash ) }; + const uint32_t high{ static_cast( hash >> 32 ) }; + return low * high; } + + private: + hash_t m_hashSuffix; }; } // end unnamed namespace @@ -14161,9 +14165,9 @@ namespace Catch { case RunTests::InRandomOrder: { seedRng( config ); - TestHasher h( rng() ); + TestHasher h{ config.rngSeed() }; - using hashedTest = std::pair; + using hashedTest = std::pair; std::vector indexed_tests; indexed_tests.reserve( unsortedTestCases.size() ); @@ -15316,7 +15320,7 @@ namespace Catch { } Version const& libraryVersion() { - static Version version( 2, 13, 3, "", 0 ); + static Version version( 2, 13, 4, "", 0 ); return version; } diff --git a/script/vendor/catch b/script/vendor/catch index e6831c258..10b819689 100755 --- a/script/vendor/catch +++ b/script/vendor/catch @@ -1,5 +1,5 @@ #!/bin/sh set -ex -version=v2.13.3 +version=v2.13.4 curl -fsSLo include/private/catch.hpp \ https://github.com/catchorg/Catch2/releases/download/$version/catch.hpp