mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-11-03 21:49:32 +01:00 
			
		
		
		
	v2.13.4
This commit is contained in:
		@@ -14,7 +14,7 @@ if (CMAKE_BINARY_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
 | 
				
			|||||||
endif()
 | 
					endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
project(Catch2 LANGUAGES CXX VERSION 2.13.3)
 | 
					project(Catch2 LANGUAGES CXX VERSION 2.13.4)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Provide path for scripts
 | 
					# Provide path for scripts
 | 
				
			||||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/CMake")
 | 
					list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/CMake")
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
[](https://discord.gg/4CWS9zD)
 | 
					[](https://discord.gg/4CWS9zD)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<a href="https://github.com/catchorg/Catch2/releases/download/v2.13.3/catch.hpp">The latest version of the single header can be downloaded directly using this link</a>
 | 
					<a href="https://github.com/catchorg/Catch2/releases/download/v2.13.4/catch.hpp">The latest version of the single header can be downloaded directly using this link</a>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Catch2 is released!
 | 
					## Catch2 is released!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -177,7 +177,7 @@ the output file name e.g. ".xml".
 | 
				
			|||||||
### `ParseAndAddCatchTests.cmake`
 | 
					### `ParseAndAddCatchTests.cmake`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
⚠ This script is [deprecated](https://github.com/catchorg/Catch2/pull/2120)
 | 
					⚠ This script is [deprecated](https://github.com/catchorg/Catch2/pull/2120)
 | 
				
			||||||
in Catch X.Y.Z and superseded by the above approach using `catch_discover_tests`.
 | 
					in Catch 2.13.4 and superseded by the above approach using `catch_discover_tests`.
 | 
				
			||||||
See [#2092](https://github.com/catchorg/Catch2/issues/2092) for details.
 | 
					See [#2092](https://github.com/catchorg/Catch2/issues/2092) for details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
`ParseAndAddCatchTests` works by parsing all implementation files
 | 
					`ParseAndAddCatchTests` works by parsing all implementation files
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,6 +2,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# Release notes
 | 
					# Release notes
 | 
				
			||||||
**Contents**<br>
 | 
					**Contents**<br>
 | 
				
			||||||
 | 
					[2.13.4](#2134)<br>
 | 
				
			||||||
[2.13.3](#2133)<br>
 | 
					[2.13.3](#2133)<br>
 | 
				
			||||||
[2.13.2](#2132)<br>
 | 
					[2.13.2](#2132)<br>
 | 
				
			||||||
[2.13.1](#2131)<br>
 | 
					[2.13.1](#2131)<br>
 | 
				
			||||||
@@ -44,6 +45,22 @@
 | 
				
			|||||||
[Even Older versions](#even-older-versions)<br>
 | 
					[Even Older versions](#even-older-versions)<br>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2.13.4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Improvements
 | 
				
			||||||
 | 
					* Improved the hashing algorithm used for shuffling test cases (#2070)
 | 
				
			||||||
 | 
					  * `TEST_CASE`s that differ only in the last character should be properly shuffled
 | 
				
			||||||
 | 
					  * Note that this means that v2.13.4 gives you a different order of test cases than 2.13.3, even given the same seed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Miscellaneous
 | 
				
			||||||
 | 
					* Deprecated `ParseAndAddCatchTests` CMake integration (#2092)
 | 
				
			||||||
 | 
					  * It is impossible to implement it properly for all the different test case variants Catch2 provides, and there are better options provided.
 | 
				
			||||||
 | 
					  * Use `catch_discover_tests` instead, which uses runtime information about available tests.
 | 
				
			||||||
 | 
					* Fixed bug in `catch_discover_tests` that would cause it to fail when used in specific project structures (#2119)
 | 
				
			||||||
 | 
					* Added Bazel build file
 | 
				
			||||||
 | 
					* Added an experimental static library target to CMake
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## 2.13.3
 | 
					## 2.13.3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Fixes
 | 
					### Fixes
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,7 +11,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#define CATCH_VERSION_MAJOR 2
 | 
					#define CATCH_VERSION_MAJOR 2
 | 
				
			||||||
#define CATCH_VERSION_MINOR 13
 | 
					#define CATCH_VERSION_MINOR 13
 | 
				
			||||||
#define CATCH_VERSION_PATCH 3
 | 
					#define CATCH_VERSION_PATCH 4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __clang__
 | 
					#ifdef __clang__
 | 
				
			||||||
#    pragma clang system_header
 | 
					#    pragma clang system_header
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -37,7 +37,7 @@ namespace Catch {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Version const& libraryVersion() {
 | 
					    Version const& libraryVersion() {
 | 
				
			||||||
        static Version version( 2, 13, 3, "", 0 );
 | 
					        static Version version( 2, 13, 4, "", 0 );
 | 
				
			||||||
        return version;
 | 
					        return version;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 *  Catch v2.13.3
 | 
					 *  Catch v2.13.4
 | 
				
			||||||
 *  Generated: 2020-10-31 18:20:31.045274
 | 
					 *  Generated: 2020-12-29 14:48:00.116107
 | 
				
			||||||
 *  ----------------------------------------------------------
 | 
					 *  ----------------------------------------------------------
 | 
				
			||||||
 *  This file has been merged from multiple headers. Please don't edit it directly
 | 
					 *  This file has been merged from multiple headers. Please don't edit it directly
 | 
				
			||||||
 *  Copyright (c) 2020 Two Blue Cubes Ltd. All rights reserved.
 | 
					 *  Copyright (c) 2020 Two Blue Cubes Ltd. All rights reserved.
 | 
				
			||||||
@@ -15,7 +15,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#define CATCH_VERSION_MAJOR 2
 | 
					#define CATCH_VERSION_MAJOR 2
 | 
				
			||||||
#define CATCH_VERSION_MINOR 13
 | 
					#define CATCH_VERSION_MINOR 13
 | 
				
			||||||
#define CATCH_VERSION_PATCH 3
 | 
					#define CATCH_VERSION_PATCH 4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __clang__
 | 
					#ifdef __clang__
 | 
				
			||||||
#    pragma clang system_header
 | 
					#    pragma clang system_header
 | 
				
			||||||
@@ -14126,24 +14126,28 @@ namespace Catch {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    namespace {
 | 
					    namespace {
 | 
				
			||||||
        struct TestHasher {
 | 
					        struct TestHasher {
 | 
				
			||||||
            explicit TestHasher(Catch::SimplePcg32& rng_instance) {
 | 
					            using hash_t = uint64_t;
 | 
				
			||||||
                basis = rng_instance();
 | 
					 | 
				
			||||||
                basis <<= 32;
 | 
					 | 
				
			||||||
                basis |= rng_instance();
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            uint64_t basis;
 | 
					            explicit TestHasher( hash_t hashSuffix ):
 | 
				
			||||||
 | 
					                m_hashSuffix{ hashSuffix } {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            uint64_t operator()(TestCase const& t) const {
 | 
					            uint32_t operator()( TestCase const& t ) const {
 | 
				
			||||||
                // Modified FNV-1a hash
 | 
					                // FNV-1a hash with multiplication fold.
 | 
				
			||||||
                static constexpr uint64_t prime = 1099511628211;
 | 
					                const hash_t prime = 1099511628211u;
 | 
				
			||||||
                uint64_t hash = basis;
 | 
					                hash_t hash = 14695981039346656037u;
 | 
				
			||||||
                for (const char c : t.name) {
 | 
					                for ( const char c : t.name ) {
 | 
				
			||||||
                    hash ^= c;
 | 
					                    hash ^= c;
 | 
				
			||||||
                    hash *= prime;
 | 
					                    hash *= prime;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                return hash;
 | 
					                hash ^= m_hashSuffix;
 | 
				
			||||||
 | 
					                hash *= prime;
 | 
				
			||||||
 | 
					                const uint32_t low{ static_cast<uint32_t>( hash ) };
 | 
				
			||||||
 | 
					                const uint32_t high{ static_cast<uint32_t>( hash >> 32 ) };
 | 
				
			||||||
 | 
					                return low * high;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        private:
 | 
				
			||||||
 | 
					            hash_t m_hashSuffix;
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
    } // end unnamed namespace
 | 
					    } // end unnamed namespace
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -14161,9 +14165,9 @@ namespace Catch {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            case RunTests::InRandomOrder: {
 | 
					            case RunTests::InRandomOrder: {
 | 
				
			||||||
                seedRng( config );
 | 
					                seedRng( config );
 | 
				
			||||||
                TestHasher h( rng() );
 | 
					                TestHasher h{ config.rngSeed() };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                using hashedTest = std::pair<uint64_t, TestCase const*>;
 | 
					                using hashedTest = std::pair<TestHasher::hash_t, TestCase const*>;
 | 
				
			||||||
                std::vector<hashedTest> indexed_tests;
 | 
					                std::vector<hashedTest> indexed_tests;
 | 
				
			||||||
                indexed_tests.reserve( unsortedTestCases.size() );
 | 
					                indexed_tests.reserve( unsortedTestCases.size() );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -15316,7 +15320,7 @@ namespace Catch {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Version const& libraryVersion() {
 | 
					    Version const& libraryVersion() {
 | 
				
			||||||
        static Version version( 2, 13, 3, "", 0 );
 | 
					        static Version version( 2, 13, 4, "", 0 );
 | 
				
			||||||
        return version;
 | 
					        return version;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user