From fad9dd1a8891770846f3f98c60bebf2c2bf72e05 Mon Sep 17 00:00:00 2001 From: MarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz> Date: Mon, 2 Feb 2026 20:43:12 +0100 Subject: [PATCH] test: kernel test fixups * Allow byte arrays; Adjust size check, which would otherwise fail, because two byte arrays of a type are always of the same size: https://github.com/bitcoin/bitcoin/pull/30595#discussion_r2642930435 * Require empty range: https://github.com/bitcoin/bitcoin/pull/30595#discussion_r2653846374 --- src/test/kernel/test_kernel.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/test/kernel/test_kernel.cpp b/src/test/kernel/test_kernel.cpp index 2afc588c3ca..5a380065397 100644 --- a/src/test/kernel/test_kernel.cpp +++ b/src/test/kernel/test_kernel.cpp @@ -265,9 +265,7 @@ void run_verify_test( } template -concept HasToBytes = requires(T t) { - { t.ToBytes() } -> std::convertible_to>; -}; +concept HasToBytes = requires(T t) { t.ToBytes(); }; template void CheckHandle(T object, T distinct_object) @@ -277,7 +275,9 @@ void CheckHandle(T object, T distinct_object) BOOST_CHECK(object.get() != distinct_object.get()); if constexpr (HasToBytes) { - BOOST_CHECK_NE(object.ToBytes().size(), distinct_object.ToBytes().size()); + const auto object_bytes = object.ToBytes(); + const auto distinct_bytes = distinct_object.ToBytes(); + BOOST_CHECK(!std::ranges::equal(object_bytes, distinct_bytes)); } // Copy constructor @@ -321,7 +321,8 @@ void CheckRange(const RangeType& range, size_t expected_size) using value_type = std::ranges::range_value_t; BOOST_CHECK_EQUAL(range.size(), expected_size); - BOOST_CHECK_EQUAL(range.empty(), (expected_size == 0)); + BOOST_REQUIRE(range.size() > 0); // Some checks below assume a non-empty range + BOOST_REQUIRE(!range.empty()); BOOST_CHECK(range.begin() != range.end()); BOOST_CHECK_EQUAL(std::distance(range.begin(), range.end()), static_cast(expected_size)); @@ -332,7 +333,6 @@ void CheckRange(const RangeType& range, size_t expected_size) BOOST_CHECK_EQUAL(range[i].get(), (*(range.begin() + i)).get()); } - BOOST_CHECK_NE(range.at(0).get(), range.at(expected_size - 1).get()); BOOST_CHECK_THROW(range.at(expected_size), std::out_of_range); BOOST_CHECK_EQUAL(range.front().get(), range[0].get());