This is an automated email from the ASF dual-hosted git repository. bneradt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver-libswoc.git
commit 169cfab1c5a23846d35768fdd338b552681cfded Author: Brian Neradt <[email protected]> AuthorDate: Tue Aug 19 14:23:17 2025 -0500 Catch2: update to v3.9.1 (#12453) This updates our Catch2 version from v2.13.8 to the latest v3.9.1. It also transitions us from the deprecated monolithic header file to the new library model using CMake via FetchContent. This has several advantages: * This uses the library model which the authors of Catch2 advocate for. The monolithic header we used before this patch is not "the primarily supported option". * Since not all of catch.hpp is built for every UT, compilation times are quicker. * Since the new v3 version provides a main function definition via Catch2::Catch2WithMain, we no longer need the empty unit_test_main.cc files we had before. * The updated Catch v3 is purported to execute its checks more efficiently (according to the changelog). As a part of this transition, this removes src/records/unit_tests/unit_test_main_on_eventsystem.cc since that was added with #7704 for DynamicStats which has since been removed. In v2, this simply didn't run any tests. In v3, this failed because no tests were run. --- unit_tests/ex_IntrusiveDList.cc | 2 +- unit_tests/ex_Lexicon.cc | 2 +- unit_tests/ex_MemArena.cc | 2 +- unit_tests/ex_TextView.cc | 2 +- unit_tests/ex_UnitParser.cc | 2 +- unit_tests/ex_bw_format.cc | 2 +- unit_tests/ex_ipspace_properties.cc | 2 +- unit_tests/test_BufferWriter.cc | 2 +- unit_tests/test_Errata.cc | 2 +- unit_tests/test_IntrusiveDList.cc | 2 +- unit_tests/test_IntrusiveHashMap.cc | 2 +- unit_tests/test_Lexicon.cc | 2 +- unit_tests/test_MemArena.cc | 3 ++- unit_tests/test_MemSpan.cc | 2 +- unit_tests/test_Scalar.cc | 2 +- unit_tests/test_TextView.cc | 6 ++++-- unit_tests/test_Vectray.cc | 2 +- unit_tests/test_bw_format.cc | 3 ++- unit_tests/test_ip.cc | 6 ++++-- unit_tests/test_meta.cc | 2 +- unit_tests/test_range.cc | 2 +- unit_tests/test_swoc_file.cc | 2 +- unit_tests/unit_test_main.cc | 4 ++-- 23 files changed, 32 insertions(+), 26 deletions(-) diff --git a/unit_tests/ex_IntrusiveDList.cc b/unit_tests/ex_IntrusiveDList.cc index a26f386..aed0e7c 100644 --- a/unit_tests/ex_IntrusiveDList.cc +++ b/unit_tests/ex_IntrusiveDList.cc @@ -30,7 +30,7 @@ #include "swoc/IntrusiveDList.h" #include "swoc/bwf_base.h" -#include "catch.hpp" +#include <catch2/catch_test_macros.hpp> using swoc::IntrusiveDList; diff --git a/unit_tests/ex_Lexicon.cc b/unit_tests/ex_Lexicon.cc index 1be975e..58cd95d 100644 --- a/unit_tests/ex_Lexicon.cc +++ b/unit_tests/ex_Lexicon.cc @@ -10,7 +10,7 @@ #include "swoc/Lexicon.h" #include "swoc/swoc_file.h" #include "swoc/swoc_ip.h" -#include "catch.hpp" +#include <catch2/catch_test_macros.hpp> // Example code for documentatoin // --- diff --git a/unit_tests/ex_MemArena.cc b/unit_tests/ex_MemArena.cc index e0e9a03..1287c55 100644 --- a/unit_tests/ex_MemArena.cc +++ b/unit_tests/ex_MemArena.cc @@ -25,7 +25,7 @@ #include "swoc/IntrusiveHashMap.h" #include "swoc/bwf_base.h" #include "swoc/ext/HashFNV.h" -#include "catch.hpp" +#include <catch2/catch_test_macros.hpp> using swoc::MemSpan; using swoc::MemArena; diff --git a/unit_tests/ex_TextView.cc b/unit_tests/ex_TextView.cc index d048439..9fcbafb 100644 --- a/unit_tests/ex_TextView.cc +++ b/unit_tests/ex_TextView.cc @@ -13,7 +13,7 @@ #include "swoc/swoc_file.h" #include "swoc/TextView.h" -#include "catch.hpp" +#include <catch2/catch_test_macros.hpp> using swoc::TextView; using namespace swoc::literals; diff --git a/unit_tests/ex_UnitParser.cc b/unit_tests/ex_UnitParser.cc index b146196..5026744 100644 --- a/unit_tests/ex_UnitParser.cc +++ b/unit_tests/ex_UnitParser.cc @@ -10,7 +10,7 @@ #include "swoc/Lexicon.h" #include "swoc/Errata.h" -#include "catch.hpp" +#include <catch2/catch_test_macros.hpp> using swoc::TextView; using swoc::Lexicon; diff --git a/unit_tests/ex_bw_format.cc b/unit_tests/ex_bw_format.cc index d26b70c..c82c047 100644 --- a/unit_tests/ex_bw_format.cc +++ b/unit_tests/ex_bw_format.cc @@ -28,7 +28,7 @@ #include "swoc/bwf_ex.h" #include "swoc/bwf_ip.h" -#include "catch.hpp" +#include <catch2/catch_test_macros.hpp> using namespace std::literals; using swoc::TextView; diff --git a/unit_tests/ex_ipspace_properties.cc b/unit_tests/ex_ipspace_properties.cc index 8db96fe..98ae0c0 100644 --- a/unit_tests/ex_ipspace_properties.cc +++ b/unit_tests/ex_ipspace_properties.cc @@ -6,7 +6,7 @@ Example use of IPSpace for property mapping. */ -#include "catch.hpp" +#include <catch2/catch_test_macros.hpp> #include <memory> #include <limits> diff --git a/unit_tests/test_BufferWriter.cc b/unit_tests/test_BufferWriter.cc index 9eeee19..c7f18d5 100644 --- a/unit_tests/test_BufferWriter.cc +++ b/unit_tests/test_BufferWriter.cc @@ -24,7 +24,7 @@ #include "swoc/MemArena.h" #include "swoc/BufferWriter.h" #include "swoc/ArenaWriter.h" -#include "catch.hpp" +#include <catch2/catch_test_macros.hpp> using swoc::TextView; using swoc::MemSpan; diff --git a/unit_tests/test_Errata.cc b/unit_tests/test_Errata.cc index ea4e2e8..890ffab 100644 --- a/unit_tests/test_Errata.cc +++ b/unit_tests/test_Errata.cc @@ -11,7 +11,7 @@ #include "swoc/bwf_ex.h" #include "swoc/swoc_file.h" #include "swoc/Lexicon.h" -#include "catch.hpp" +#include <catch2/catch_test_macros.hpp> using swoc::Errata; using swoc::Rv; diff --git a/unit_tests/test_IntrusiveDList.cc b/unit_tests/test_IntrusiveDList.cc index 96c3e6f..4deca98 100644 --- a/unit_tests/test_IntrusiveDList.cc +++ b/unit_tests/test_IntrusiveDList.cc @@ -26,7 +26,7 @@ #include "swoc/IntrusiveDList.h" #include "swoc/bwf_base.h" -#include "catch.hpp" +#include <catch2/catch_test_macros.hpp> using swoc::IntrusiveDList; using swoc::bwprint; diff --git a/unit_tests/test_IntrusiveHashMap.cc b/unit_tests/test_IntrusiveHashMap.cc index e3fa247..ee02fd3 100644 --- a/unit_tests/test_IntrusiveHashMap.cc +++ b/unit_tests/test_IntrusiveHashMap.cc @@ -26,7 +26,7 @@ #include "swoc/IntrusiveHashMap.h" #include "swoc/bwf_base.h" -#include "catch.hpp" +#include <catch2/catch_test_macros.hpp> using swoc::IntrusiveHashMap; diff --git a/unit_tests/test_Lexicon.cc b/unit_tests/test_Lexicon.cc index 463ed3b..c6f5051 100644 --- a/unit_tests/test_Lexicon.cc +++ b/unit_tests/test_Lexicon.cc @@ -8,7 +8,7 @@ #include <iostream> #include "swoc/Lexicon.h" -#include "catch.hpp" +#include <catch2/catch_test_macros.hpp> // Example code for documentatoin // --- diff --git a/unit_tests/test_MemArena.cc b/unit_tests/test_MemArena.cc index e98a982..d0224d7 100644 --- a/unit_tests/test_MemArena.cc +++ b/unit_tests/test_MemArena.cc @@ -24,10 +24,11 @@ #include <map> #include <set> #include <random> +#include <algorithm> #include "swoc/MemArena.h" #include "swoc/TextView.h" -#include "catch.hpp" +#include <catch2/catch_test_macros.hpp> using swoc::MemSpan; using swoc::MemArena; diff --git a/unit_tests/test_MemSpan.cc b/unit_tests/test_MemSpan.cc index 6355530..5752985 100644 --- a/unit_tests/test_MemSpan.cc +++ b/unit_tests/test_MemSpan.cc @@ -5,7 +5,7 @@ */ -#include "catch.hpp" +#include <catch2/catch_test_macros.hpp> #include <iostream> #include <vector> diff --git a/unit_tests/test_Scalar.cc b/unit_tests/test_Scalar.cc index f7f4479..cd9c36d 100644 --- a/unit_tests/test_Scalar.cc +++ b/unit_tests/test_Scalar.cc @@ -20,7 +20,7 @@ #include "swoc/Scalar.h" #include "swoc/bwf_base.h" -#include "catch.hpp" +#include <catch2/catch_test_macros.hpp> using Bytes = swoc::Scalar<1, off_t>; using Paragraphs = swoc::Scalar<16, off_t>; diff --git a/unit_tests/test_TextView.cc b/unit_tests/test_TextView.cc index 1499594..2e05092 100644 --- a/unit_tests/test_TextView.cc +++ b/unit_tests/test_TextView.cc @@ -10,9 +10,11 @@ #include <string> #include <map> #include <unordered_map> +#include <cmath> +#include <algorithm> #include "swoc/TextView.h" -#include "catch.hpp" +#include <catch2/catch_test_macros.hpp> using swoc::TextView; using namespace std::literals; @@ -73,7 +75,7 @@ TEST_CASE("TextView Operations", "[libswoc][TextView]") { REQUIRE(tv); REQUIRE(!tv == false); if (nothing) { - REQUIRE(nullptr == "bad operator bool on TextView"); + REQUIRE(false); // bad operator bool on TextView } REQUIRE(!nothing == true); REQUIRE(nothing.empty() == true); diff --git a/unit_tests/test_Vectray.cc b/unit_tests/test_Vectray.cc index ebe7d34..b6fdd5a 100644 --- a/unit_tests/test_Vectray.cc +++ b/unit_tests/test_Vectray.cc @@ -7,7 +7,7 @@ #include <iostream> #include "swoc/Vectray.h" -#include "catch.hpp" +#include <catch2/catch_test_macros.hpp> using swoc::Vectray; diff --git a/unit_tests/test_bw_format.cc b/unit_tests/test_bw_format.cc index dc3169a..2cfb99a 100644 --- a/unit_tests/test_bw_format.cc +++ b/unit_tests/test_bw_format.cc @@ -7,6 +7,7 @@ #include <chrono> #include <iostream> #include <variant> +#include <cmath> #include <netinet/in.h> @@ -15,7 +16,7 @@ #include "swoc/bwf_std.h" #include "swoc/bwf_ex.h" -#include "catch.hpp" +#include <catch2/catch_test_macros.hpp> using namespace std::literals; using namespace swoc::literals; diff --git a/unit_tests/test_ip.cc b/unit_tests/test_ip.cc index 8cfb9fe..1a24b6a 100644 --- a/unit_tests/test_ip.cc +++ b/unit_tests/test_ip.cc @@ -5,10 +5,12 @@ IP address support testing. */ -#include "catch.hpp" +#include <catch2/catch_test_macros.hpp> -#include <set> +#include <algorithm> #include <iostream> +#include <random> +#include <set> #include <type_traits> #include "swoc/TextView.h" diff --git a/unit_tests/test_meta.cc b/unit_tests/test_meta.cc index d0d6ec5..e4da5b6 100644 --- a/unit_tests/test_meta.cc +++ b/unit_tests/test_meta.cc @@ -24,7 +24,7 @@ #include "swoc/swoc_meta.h" #include "swoc/TextView.h" -#include "catch.hpp" +#include <catch2/catch_test_macros.hpp> using swoc::TextView; using namespace swoc::literals; diff --git a/unit_tests/test_range.cc b/unit_tests/test_range.cc index 30c9064..d94c9dc 100644 --- a/unit_tests/test_range.cc +++ b/unit_tests/test_range.cc @@ -5,7 +5,7 @@ #include "swoc/DiscreteRange.h" #include "swoc/TextView.h" -#include "catch.hpp" +#include <catch2/catch_test_macros.hpp> using swoc::TextView; using namespace std::literals; diff --git a/unit_tests/test_swoc_file.cc b/unit_tests/test_swoc_file.cc index 7076c8a..435516b 100644 --- a/unit_tests/test_swoc_file.cc +++ b/unit_tests/test_swoc_file.cc @@ -23,7 +23,7 @@ #include <fstream> #include "swoc/swoc_file.h" -#include "catch.hpp" +#include <catch2/catch_test_macros.hpp> using namespace swoc; using namespace swoc::literals; diff --git a/unit_tests/unit_test_main.cc b/unit_tests/unit_test_main.cc index 083564d..21830d3 100644 --- a/unit_tests/unit_test_main.cc +++ b/unit_tests/unit_test_main.cc @@ -20,8 +20,8 @@ the License. */ -#define CATCH_CONFIG_RUNNER -#include "catch.hpp" +#include <catch2/catch_test_macros.hpp> +#include <catch2/catch_session.hpp> #include <array>
