From 4cdc434dbc166e499f2721bfd9e891667366bc8e Mon Sep 17 00:00:00 2001 From: CYFS <2805686936@qq.com> Date: Thu, 9 Jul 2026 13:11:56 +0800 Subject: [PATCH] utest: keep testcase failures across units --- components/utilities/utest/utest.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/components/utilities/utest/utest.c b/components/utilities/utest/utest.c index f215b01ecc8..9be162d9294 100644 --- a/components/utilities/utest/utest.c +++ b/components/utilities/utest/utest.c @@ -279,6 +279,10 @@ static void utest_do_run(const char *utest_name) if (tc_table[i].tc != RT_NULL) { + local_utest.error = UTEST_PASSED; + local_utest.passed_num = 0; + local_utest.failed_num = 0; + tc_table[i].tc(); if (local_utest.failed_num == 0) { @@ -433,6 +437,9 @@ utest_t utest_handle_get(void) void utest_unit_run(test_unit_func func, const char *unit_func_name) { + rt_uint32_t passed_num = local_utest.passed_num; + rt_uint32_t failed_num = local_utest.failed_num; + LOG_I("[==========] utest unit name: (%s)", unit_func_name); local_utest.error = UTEST_PASSED; local_utest.passed_num = 0; @@ -442,6 +449,16 @@ void utest_unit_run(test_unit_func func, const char *unit_func_name) { func(); } + + passed_num += local_utest.passed_num; + failed_num += local_utest.failed_num; + + local_utest.passed_num = passed_num; + local_utest.failed_num = failed_num; + if (local_utest.failed_num != 0) + { + local_utest.error = UTEST_FAILED; + } } /*