From 64f54ed35c587ec695b9efea42a6eadb89948f04 Mon Sep 17 00:00:00 2001 From: Niklas Hauser Date: Wed, 11 Nov 2015 13:49:03 +0000 Subject: [PATCH] Harness: Call case setup only once for control flow cases. --- "frameworks\\utest/source/default_handlers.cpp" | 2 +- "frameworks\\utest/source/harness.cpp" | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git "a/frameworks\\utest/source/default_handlers.cpp" "b/frameworks\\utest/source/default_handlers.cpp" index f400836f94..76b1151b14 100644 --- "a/frameworks\\utest/source/default_handlers.cpp" +++ "b/frameworks\\utest/source/default_handlers.cpp" @@ -61,7 +61,7 @@ void mbed::test::v0::verbose_test_tear_down_handler(const size_t passed, const s mbed::test::v0::status_t mbed::test::v0::verbose_case_set_up_handler(const mbed::test::v0::Case *const source, const size_t index_of_case) { - printf("\n>>> Running #%u: '%s'...\n", index_of_case, source->get_description()); + printf("\n>>> Running case #%u: '%s'...\n", index_of_case + 1, source->get_description()); return STATUS_CONTINUE; } diff --git "a/frameworks\\utest/source/harness.cpp" "b/frameworks\\utest/source/harness.cpp" index 6221519a63..658fdd044f 100644 --- "a/frameworks\\utest/source/harness.cpp" +++ "b/frameworks\\utest/source/harness.cpp" @@ -143,10 +143,12 @@ void Harness::run_next_case() handlers.case_tear_down = defaults.get_handler(case_current->tear_down_handler); handlers.case_failure = defaults.get_handler(case_current->failure_handler); - if (handlers.case_set_up && (handlers.case_set_up(case_current, test_index_of_case) != STATUS_CONTINUE)) { - raise_failure(FAILURE_SETUP); + if (!case_failed && !case_passed) { + if (handlers.case_set_up && (handlers.case_set_up(case_current, test_index_of_case) != STATUS_CONTINUE)) { + raise_failure(FAILURE_SETUP); + } + test_index_of_case++; } - test_index_of_case++; case_failed_before = case_failed;