Read-only mirrors. Development, issues and pull requests are on GitHub.

summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorLeitwolf112026-11-02 00:16:57 +0300
committerLeitwolf112026-11-02 00:16:57 +0300
commit3ed0fd930371823b6d44ae64d00dbd79e421a552 (patch)
tree510f7ece1750b2da6d9b4666b7c58908c8d193bb
parente66db1cf17714be2ebfeab37670ef3d8965fc7cc (diff)
parent13324a043042110eba456424fa39c1334857ceaa (diff)
downloadcatch3-3ed0fd930371823b6d44ae64d00dbd79e421a552.tar.gz
Merge devel into feature/cpp-toolsfeature/cpp-tools
-rw-r--r--.github/workflows/linux-builds.yml13
-rw-r--r--CMakeLists.txt3
-rw-r--r--MODULE.bazel2
-rw-r--r--docs/release-notes.md14
-rw-r--r--extras/catch_amalgamated.cpp4
-rw-r--r--extras/catch_amalgamated.hpp2
-rw-r--r--extras/catch_amalgamated_third_party.hpp2
-rw-r--r--meson.build2
-rw-r--r--src/Progmasoft/Catch3/Version.hpp2
-rw-r--r--xmake.lua2
10 files changed, 36 insertions, 10 deletions
diff --git a/.github/workflows/linux-builds.yml b/.github/workflows/linux-builds.yml
index 5290574b..a9c38c66 100644
--- a/.github/workflows/linux-builds.yml
+++ b/.github/workflows/linux-builds.yml
@@ -52,6 +52,19 @@ jobs:
- name: Test
run: ctest --test-dir build -j
+ - name: Install, and find the installed package
+ run: |
+ cmake --install build --prefix "$RUNNER_TEMP/catch3"
+ mkdir "$RUNNER_TEMP/consumer"
+ cat > "$RUNNER_TEMP/consumer/CMakeLists.txt" <<'EOF'
+ cmake_minimum_required(VERSION 3.16)
+ project(Consumer CXX)
+ find_package(Catch3 REQUIRED)
+ EOF
+ cmake -S "$RUNNER_TEMP/consumer" -B "$RUNNER_TEMP/consumer/build" \
+ -GNinja -DCMAKE_CXX_COMPILER=clang++ \
+ -DCMAKE_PREFIX_PATH="$RUNNER_TEMP/catch3"
+
thread-sanitizer:
name: Ubuntu 26.04, C++17, ThreadSanitizer and UBSan
runs-on: ubuntu-26.04
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6806acf0..376e47d6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -37,7 +37,7 @@ endif()
# The version is Catch3's; the Catch2 engine it is built on keeps its own in
# CATCH_VERSION_MAJOR and the other macros of Progmasoft/Catch3/EngineVersionMacros.hpp.
project(Catch3
- VERSION 0.3.0.1
+ VERSION 0.3.0.2
LANGUAGES CXX
HOMEPAGE_URL "https://github.com/Progmasoft/catch3"
DESCRIPTION "A C++ test framework with a Catch2-compatible API, a parallel runner, property testing and snapshots."
@@ -164,7 +164,6 @@ if(NOT_SUBPROJECT)
# Install CMake scripts
install(
FILES
- "extras/ParseAndAddCatchTests.cmake"
"extras/Catch3.cmake"
"extras/Catch3AddTests.cmake"
"extras/Catch3ShardTests.cmake"
diff --git a/MODULE.bazel b/MODULE.bazel
index cba2b4e7..c4196428 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -1,4 +1,4 @@
-module(name = "catch3", version = "0.3.0.1")
+module(name = "catch3", version = "0.3.0.2")
bazel_dep(name = "bazel_skylib", version = "1.9.0")
bazel_dep(name = "rules_cc", version = "0.2.17")
diff --git a/docs/release-notes.md b/docs/release-notes.md
index c7cf145c..4e2dea80 100644
--- a/docs/release-notes.md
+++ b/docs/release-notes.md
@@ -7,12 +7,26 @@ based on Catch2 3.16.1; Catch2's own history is in
[its release notes](https://github.com/catchorg/Catch2/blob/devel/docs/release-notes.md).
**Contents**<br>
+[0.3.0.2](#0302)<br>
[0.3.0.1](#0301)<br>
[0.3.0](#030)<br>
[0.2.0](#020)<br>
[0.1.0](#010)<br>
+## 0.3.0.2
+
+Released 2026-11-01.
+
+### Mocks
+
+* `<Progmasoft/Catch3/Mock.hpp>` adds mocks of virtual interfaces and of free
+ functions behind a seam: `CATCH3_MOCK_METHOD`, `CATCH3_EXPECT_CALL`,
+ `Sequence` and `ScopedSeam`. Expectations check call counts, arguments and
+ order, and failures go through the same assertions as the rest of a test.
+ See [Mocking](progmasoft-mocking.md#top).
+
+
## 0.3.0.1
Released 2026-11-01.
diff --git a/extras/catch_amalgamated.cpp b/extras/catch_amalgamated.cpp
index a39fd323..5be0c78b 100644
--- a/extras/catch_amalgamated.cpp
+++ b/extras/catch_amalgamated.cpp
@@ -6,7 +6,7 @@
// SPDX-License-Identifier: BSL-1.0
-// Catch3 v0.3.0.1, on the Catch2 v3.16.1 engine
+// Catch3 v0.3.0.2, on the Catch2 v3.16.1 engine
// ----------------------------------------------------------
// This file is an amalgamation of multiple different files.
// You probably shouldn't edit it directly.
@@ -2293,7 +2293,7 @@ namespace Progmasoft::Catch3
namespace Progmasoft::Catch3
{
/// The version of Catch3: of its runner, its tools and its formats.
- inline constexpr const char *kVersion = "0.3.0.1";
+ inline constexpr const char *kVersion = "0.3.0.2";
} // namespace Progmasoft::Catch3
// Copyright (c) 2026 Progmasoft.
// SPDX-License-Identifier: MPL-2.0 WITH AdditionRef-Progmasoft-Exception-2.0
diff --git a/extras/catch_amalgamated.hpp b/extras/catch_amalgamated.hpp
index 859f9455..fad2f28c 100644
--- a/extras/catch_amalgamated.hpp
+++ b/extras/catch_amalgamated.hpp
@@ -6,7 +6,7 @@
// SPDX-License-Identifier: BSL-1.0
-// Catch3 v0.3.0.1, on the Catch2 v3.16.1 engine
+// Catch3 v0.3.0.2, on the Catch2 v3.16.1 engine
// ----------------------------------------------------------
// This file is an amalgamation of multiple different files.
// You probably shouldn't edit it directly.
diff --git a/extras/catch_amalgamated_third_party.hpp b/extras/catch_amalgamated_third_party.hpp
index e9a8c4f7..5a3aa21c 100644
--- a/extras/catch_amalgamated_third_party.hpp
+++ b/extras/catch_amalgamated_third_party.hpp
@@ -1,4 +1,4 @@
-// Catch3 v0.3.0.1: yyjson and pugixml for catch_amalgamated.cpp
+// Catch3 v0.3.0.2: yyjson and pugixml for catch_amalgamated.cpp
// ----------------------------------------------------------
// This file is an amalgamation of src/Progmasoft/Runner/Yyjson.inl,
// src/Progmasoft/PugiXml.inl and the libraries they include from
diff --git a/meson.build b/meson.build
index 3c396fbb..1c3699e9 100644
--- a/meson.build
+++ b/meson.build
@@ -8,7 +8,7 @@
project(
'catch3',
'cpp',
- version: '0.3.0.1',
+ version: '0.3.0.2',
license: ['BSL-1.0', 'MPL-2.0 WITH AdditionRef-Progmasoft-Exception-2.0'],
# Meson 1.1 added clang-cl support for the C++ modes used by Progmasoft tests.
meson_version: '>=1.1.0',
diff --git a/src/Progmasoft/Catch3/Version.hpp b/src/Progmasoft/Catch3/Version.hpp
index 14a3e76e..e83874f3 100644
--- a/src/Progmasoft/Catch3/Version.hpp
+++ b/src/Progmasoft/Catch3/Version.hpp
@@ -5,5 +5,5 @@
namespace Progmasoft::Catch3
{
/// The version of Catch3: of its runner, its tools and its formats.
- inline constexpr const char *kVersion = "0.3.0.1";
+ inline constexpr const char *kVersion = "0.3.0.2";
} // namespace Progmasoft::Catch3
diff --git a/xmake.lua b/xmake.lua
index e7686aff..23f5dc85 100644
--- a/xmake.lua
+++ b/xmake.lua
@@ -2,7 +2,7 @@
-- SPDX-License-Identifier: MPL-2.0 WITH AdditionRef-Progmasoft-Exception-2.0
set_project("Catch3")
-set_version("0.3.0.1")
+set_version("0.3.0.2")
set_languages("cxx17")
set_warnings("all")