Fix lazy removal of unscoped messages also removing still valid msgs

This commit is contained in:
Martin Hořeňovský
2025-11-30 12:56:06 +01:00
parent a1faad9315
commit 985a3f4460
21 changed files with 222 additions and 18 deletions

View File

@@ -0,0 +1,27 @@
// Copyright Catch2 Authors
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE.txt or copy at
// https://www.boost.org/LICENSE_1_0.txt)
// SPDX-License-Identifier: BSL-1.0
/**\file
* Checks that when we use up an unscoped message (e.g. `UNSCOPED_INFO`),
* with an assertion, and then add another message later, it will be
* properly reported with later failing assertion.
*
* This needs separate binary to avoid the main test binary's validating
* listener, which disables the assertion fast path.
*/
#include <catch2/catch_test_macros.hpp>
TEST_CASE(
"Delayed unscoped message clearing does not catch newly inserted messages",
"[messages][unscoped][!shouldfail]" ) {
UNSCOPED_INFO( "a" );
REQUIRE( true );
UNSCOPED_INFO( "b" );
REQUIRE( false );
}