Compare commits

..

No commits in common. "devel" and "v3.8.0" have entirely different histories.

11 changed files with 19 additions and 63 deletions

View File

@ -35,7 +35,7 @@ if (CMAKE_BINARY_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
endif() endif()
project(Catch2 project(Catch2
VERSION 3.8.1 # CML version placeholder, don't delete VERSION 3.8.0 # CML version placeholder, don't delete
LANGUAGES CXX LANGUAGES CXX
HOMEPAGE_URL "https://github.com/catchorg/Catch2" HOMEPAGE_URL "https://github.com/catchorg/Catch2"
DESCRIPTION "A modern, C++-native, unit test framework." DESCRIPTION "A modern, C++-native, unit test framework."

View File

@ -1,11 +0,0 @@
<a id="top"></a>
# Catch2 Maintainers
## Current
* Chris Thrasher ([@christhrasher](https://github.com/ChrisThrasher)), gpg key: 56FB686C9DFC8E2C
* Martin Hořeňovský ([@horenmar](https://github.com/horenmar)), gpg key: E29C46F3B8A7502860793B7DECC9C20E314B2360
## Retired
* Phil Nash ([@philsquared](https://github.com/philsquared))

View File

@ -21,10 +21,7 @@ The "Generators" `TEST_CASE` will be entered 3 times, and the value of
`i` will be 1, 3, and 5 in turn. `GENERATE`s can also be used multiple `i` will be 1, 3, and 5 in turn. `GENERATE`s can also be used multiple
times at the same scope, in which case the result will be a cartesian times at the same scope, in which case the result will be a cartesian
product of all elements in the generators. This means that in the snippet product of all elements in the generators. This means that in the snippet
below, the test case will be run 6 (2\*3) times. The `GENERATE` macro below, the test case will be run 6 (2\*3) times.
is defined in the `catch_generators.hpp` header, so compiling
the code examples below also requires
`#include <catch2/generators/catch_generators.hpp>`.
```cpp ```cpp
TEST_CASE("Generators") { TEST_CASE("Generators") {
@ -106,7 +103,7 @@ a test case,
* 2 fundamental generators * 2 fundamental generators
* `SingleValueGenerator<T>` -- contains only single element * `SingleValueGenerator<T>` -- contains only single element
* `FixedValuesGenerator<T>` -- contains multiple elements * `FixedValuesGenerator<T>` -- contains multiple elements
* 5 generic generators that modify other generators (defined in `catch2/generators/catch_generators_adapters.hpp`) * 5 generic generators that modify other generators
* `FilterGenerator<T, Predicate>` -- filters out elements from a generator * `FilterGenerator<T, Predicate>` -- filters out elements from a generator
for which the predicate returns "false" for which the predicate returns "false"
* `TakeGenerator<T>` -- takes first `n` elements from a generator * `TakeGenerator<T>` -- takes first `n` elements from a generator
@ -114,11 +111,11 @@ a test case,
* `MapGenerator<T, U, Func>` -- returns the result of applying `Func` * `MapGenerator<T, U, Func>` -- returns the result of applying `Func`
on elements from a different generator on elements from a different generator
* `ChunkGenerator<T>` -- returns chunks (inside `std::vector`) of n elements from a generator * `ChunkGenerator<T>` -- returns chunks (inside `std::vector`) of n elements from a generator
* 4 specific purpose generators (defined in `catch2/generators/catch_generators_random.hpp`) * 4 specific purpose generators
* `RandomIntegerGenerator<Integral>` -- generates random Integrals from range * `RandomIntegerGenerator<Integral>` -- generates random Integrals from range
* `RandomFloatGenerator<Float>` -- generates random Floats from range * `RandomFloatGenerator<Float>` -- generates random Floats from range
* `RangeGenerator<T>(first, last)` -- generates all values inside a `[first, last)` arithmetic range (defined in `catch2/generators/catch_generators_range.hpp`) * `RangeGenerator<T>(first, last)` -- generates all values inside a `[first, last)` arithmetic range
* `IteratorGenerator<T>` -- copies and returns values from an iterator range (defined in `catch2/generators/catch_generators_range.hpp`) * `IteratorGenerator<T>` -- copies and returns values from an iterator range
> `ChunkGenerator<T>`, `RandomIntegerGenerator<Integral>`, `RandomFloatGenerator<Float>` and `RangeGenerator<T>` were introduced in Catch2 2.7.0. > `ChunkGenerator<T>`, `RandomIntegerGenerator<Integral>`, `RandomFloatGenerator<Float>` and `RangeGenerator<T>` were introduced in Catch2 2.7.0.

View File

@ -2,7 +2,6 @@
# Release notes # Release notes
**Contents**<br> **Contents**<br>
[3.8.1](#381)<br>
[3.8.0](#380)<br> [3.8.0](#380)<br>
[3.7.1](#371)<br> [3.7.1](#371)<br>
[3.7.0](#370)<br> [3.7.0](#370)<br>
@ -67,13 +66,6 @@
[Even Older versions](#even-older-versions)<br> [Even Older versions](#even-older-versions)<br>
## 3.8.1
### Fixes
* Fixed bug where catch_discover_tests fails when no TEST_CASEs are present (#2962)
* Fixed Clang 19 -Wc++20-extensions warning (#2968)
## 3.8.0 ## 3.8.0
### Improvements ### Improvements

View File

@ -143,12 +143,6 @@ function(catch_discover_tests_impl)
# Speed-up reparsing by cutting away unneeded parts of JSON. # Speed-up reparsing by cutting away unneeded parts of JSON.
string(JSON test_listing GET "${listing_output}" "listings" "tests") string(JSON test_listing GET "${listing_output}" "listings" "tests")
string(JSON num_tests LENGTH "${test_listing}") string(JSON num_tests LENGTH "${test_listing}")
# Exit early if no tests are detected
if(num_tests STREQUAL "0")
return()
endif()
# CMake's foreach-RANGE is inclusive, so we have to subtract 1 # CMake's foreach-RANGE is inclusive, so we have to subtract 1
math(EXPR num_tests "${num_tests} - 1") math(EXPR num_tests "${num_tests} - 1")

View File

@ -6,8 +6,8 @@
// SPDX-License-Identifier: BSL-1.0 // SPDX-License-Identifier: BSL-1.0
// Catch v3.8.1 // Catch v3.8.0
// Generated: 2025-04-08 12:33:19.863332 // Generated: 2025-01-06 00:39:54.679994
// ---------------------------------------------------------- // ----------------------------------------------------------
// This file is an amalgamation of multiple different files. // This file is an amalgamation of multiple different files.
// You probably shouldn't edit it directly. // You probably shouldn't edit it directly.
@ -2283,7 +2283,7 @@ namespace Catch {
} }
Version const& libraryVersion() { Version const& libraryVersion() {
static Version version( 3, 8, 1, "", 0 ); static Version version( 3, 8, 0, "", 0 );
return version; return version;
} }

View File

@ -6,8 +6,8 @@
// SPDX-License-Identifier: BSL-1.0 // SPDX-License-Identifier: BSL-1.0
// Catch v3.8.1 // Catch v3.8.0
// Generated: 2025-04-08 12:33:19.851017 // Generated: 2025-01-06 00:39:54.340018
// ---------------------------------------------------------- // ----------------------------------------------------------
// This file is an amalgamation of multiple different files. // This file is an amalgamation of multiple different files.
// You probably shouldn't edit it directly. // You probably shouldn't edit it directly.
@ -191,16 +191,8 @@
# define CATCH_INTERNAL_SUPPRESS_UNUSED_VARIABLE_WARNINGS \ # define CATCH_INTERNAL_SUPPRESS_UNUSED_VARIABLE_WARNINGS \
_Pragma( "clang diagnostic ignored \"-Wunused-variable\"" ) _Pragma( "clang diagnostic ignored \"-Wunused-variable\"" )
# if (__clang_major__ >= 20) # define CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS \
# define CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS \ _Pragma( "clang diagnostic ignored \"-Wgnu-zero-variadic-macro-arguments\"" )
_Pragma( "clang diagnostic ignored \"-Wvariadic-macro-arguments-omitted\"" )
# elif (__clang_major__ == 19)
# define CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS \
_Pragma( "clang diagnostic ignored \"-Wc++20-extensions\"" )
# else
# define CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS
_Pragma( "clang diagnostic ignored \"-Wgnu-zero-variadic-macro-arguments\"" )
# endif
# define CATCH_INTERNAL_SUPPRESS_UNUSED_TEMPLATE_WARNINGS \ # define CATCH_INTERNAL_SUPPRESS_UNUSED_TEMPLATE_WARNINGS \
_Pragma( "clang diagnostic ignored \"-Wunused-template\"" ) _Pragma( "clang diagnostic ignored \"-Wunused-template\"" )
@ -7350,7 +7342,7 @@ namespace Catch {
#define CATCH_VERSION_MAJOR 3 #define CATCH_VERSION_MAJOR 3
#define CATCH_VERSION_MINOR 8 #define CATCH_VERSION_MINOR 8
#define CATCH_VERSION_PATCH 1 #define CATCH_VERSION_PATCH 0
#endif // CATCH_VERSION_MACROS_HPP_INCLUDED #endif // CATCH_VERSION_MACROS_HPP_INCLUDED

View File

@ -8,7 +8,7 @@
project( project(
'catch2', 'catch2',
'cpp', 'cpp',
version: '3.8.1', # CML version placeholder, don't delete version: '3.8.0', # CML version placeholder, don't delete
license: 'BSL-1.0', license: 'BSL-1.0',
meson_version: '>=0.54.1', meson_version: '>=0.54.1',
) )

View File

@ -36,7 +36,7 @@ namespace Catch {
} }
Version const& libraryVersion() { Version const& libraryVersion() {
static Version version( 3, 8, 1, "", 0 ); static Version version( 3, 8, 0, "", 0 );
return version; return version;
} }

View File

@ -10,6 +10,6 @@
#define CATCH_VERSION_MAJOR 3 #define CATCH_VERSION_MAJOR 3
#define CATCH_VERSION_MINOR 8 #define CATCH_VERSION_MINOR 8
#define CATCH_VERSION_PATCH 1 #define CATCH_VERSION_PATCH 0
#endif // CATCH_VERSION_MACROS_HPP_INCLUDED #endif // CATCH_VERSION_MACROS_HPP_INCLUDED

View File

@ -103,16 +103,8 @@
# define CATCH_INTERNAL_SUPPRESS_UNUSED_VARIABLE_WARNINGS \ # define CATCH_INTERNAL_SUPPRESS_UNUSED_VARIABLE_WARNINGS \
_Pragma( "clang diagnostic ignored \"-Wunused-variable\"" ) _Pragma( "clang diagnostic ignored \"-Wunused-variable\"" )
# if (__clang_major__ >= 20) # define CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS \
# define CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS \ _Pragma( "clang diagnostic ignored \"-Wgnu-zero-variadic-macro-arguments\"" )
_Pragma( "clang diagnostic ignored \"-Wvariadic-macro-arguments-omitted\"" )
# elif (__clang_major__ == 19)
# define CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS \
_Pragma( "clang diagnostic ignored \"-Wc++20-extensions\"" )
# else
# define CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS
_Pragma( "clang diagnostic ignored \"-Wgnu-zero-variadic-macro-arguments\"" )
# endif
# define CATCH_INTERNAL_SUPPRESS_UNUSED_TEMPLATE_WARNINGS \ # define CATCH_INTERNAL_SUPPRESS_UNUSED_TEMPLATE_WARNINGS \
_Pragma( "clang diagnostic ignored \"-Wunused-template\"" ) _Pragma( "clang diagnostic ignored \"-Wunused-template\"" )