From 6470522813b969f8e498893e05435ac975a114f4 Mon Sep 17 00:00:00 2001 From: Eduard Valeyev Date: Wed, 28 Oct 2026 16:34:20 -0400 Subject: [PATCH] tests: include TiledArray/config.h before testing TA_ASSERT_POLICY in unit_test_config.h The policy was tested before anything defined it, so TA_ASSERT_POLICY == TA_ASSERT_THROW compared 0 == 0 and BOOST_{WARN,CHECK,REQUIRE}_TA_ASSERT expanded to BOOST_*_THROW under every policy; with TA_ASSERT_IGNORE/ABORT, conversions_suite/concat failed 4 checks. Also #error if the policy is undefined. --- tests/unit_test_config.h.in | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests/unit_test_config.h.in b/tests/unit_test_config.h.in index 01c04cf1ce..5ad236c0af 100644 --- a/tests/unit_test_config.h.in +++ b/tests/unit_test_config.h.in @@ -61,6 +61,12 @@ #define TA_UT_LABEL_DISTRIBUTED *boost::unit_test::label("distributed") #define TA_UT_LABEL_SERIAL *boost::unit_test::label("serial") +// TA_ASSERT_POLICY must be defined before it is tested: undefined macros evaluate to 0 in #if +#include +#if !defined(TA_ASSERT_POLICY) || !defined(TA_ASSERT_THROW) +#error "TA_ASSERT_POLICY and TA_ASSERT_THROW must be defined by TiledArray/config.h" +#endif + #if (TA_ASSERT_POLICY == TA_ASSERT_THROW) #define BOOST_WARN_TA_ASSERT( S, E ) \