mirror of
https://github.com/catchorg/Catch2.git
synced 2024-11-22 13:26:10 +01:00
Add test for runtime behaviour of STATIC_CHECK
This commit is contained in:
parent
67caef6f45
commit
d012735c6e
@ -151,6 +151,17 @@ set_tests_properties(
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
add_executable(DeferredStaticChecks ${TESTS_DIR}/X05-DeferredStaticChecks.cpp)
|
||||||
|
target_link_libraries(DeferredStaticChecks PRIVATE Catch2WithMain)
|
||||||
|
target_compile_definitions(DeferredStaticChecks PRIVATE "CATCH_CONFIG_RUNTIME_STATIC_REQUIRE")
|
||||||
|
|
||||||
|
add_test(NAME DeferredStaticChecks COMMAND DeferredStaticChecks -r compact)
|
||||||
|
set_tests_properties(
|
||||||
|
DeferredStaticChecks
|
||||||
|
PROPERTIES
|
||||||
|
PASS_REGULAR_EXPRESSION "Failed 1 test case, failed all 3 assertions."
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
add_executable(FallbackStringifier ${TESTS_DIR}/X10-FallbackStringifier.cpp)
|
add_executable(FallbackStringifier ${TESTS_DIR}/X10-FallbackStringifier.cpp)
|
||||||
target_compile_definitions( FallbackStringifier PRIVATE CATCH_CONFIG_FALLBACK_STRINGIFIER=fallbackStringifier )
|
target_compile_definitions( FallbackStringifier PRIVATE CATCH_CONFIG_FALLBACK_STRINGIFIER=fallbackStringifier )
|
||||||
|
22
tests/ExtraTests/X05-DeferredStaticChecks.cpp
Normal file
22
tests/ExtraTests/X05-DeferredStaticChecks.cpp
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
|
||||||
|
// Copyright Catch2 Authors
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// https://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
|
||||||
|
// SPDX-License-Identifier: BSL-1.0
|
||||||
|
|
||||||
|
/**\file
|
||||||
|
* Checks that when `STATIC_CHECK` is deferred to runtime and fails, it
|
||||||
|
* does not abort the test case.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <catch2/catch_test_macros.hpp>
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
TEST_CASE("Deferred static checks") {
|
||||||
|
STATIC_CHECK(1 == 2);
|
||||||
|
STATIC_CHECK_FALSE(1 != 2);
|
||||||
|
// This last assertion must be executed too
|
||||||
|
CHECK(1 == 2);
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user