diff --git "a/frameworks\\utest/source/case.cpp" "b/frameworks\\utest/source/case.cpp" index c783318ded..6ca5e6be74 100644 --- "a/frameworks\\utest/source/case.cpp" +++ "b/frameworks\\utest/source/case.cpp" @@ -70,6 +70,11 @@ Case::get_description() const { return description; } +bool +Case::is_empty() const { + return !(handler || control_flow_handler || set_up_handler || tear_down_handler); +} + AsyncCase::AsyncCase(const char *description, const case_handler_t handler, diff --git "a/frameworks\\utest/source/default_handlers.cpp" "b/frameworks\\utest/source/default_handlers.cpp" index ddf3eafc27..cfb37eec99 100644 --- "a/frameworks\\utest/source/default_handlers.cpp" +++ "b/frameworks\\utest/source/default_handlers.cpp" @@ -31,6 +31,8 @@ const char* failureToString(failure_t failure) return "Unspecified Failure"; case FAILURE_CASES: return "Test Cases Failed"; + case FAILURE_EMPTY_CASE: + return "Test Case is Empty"; case FAILURE_SETUP: return "Setup Failed"; case FAILURE_TEARDOWN: diff --git "a/frameworks\\utest/source/harness.cpp" "b/frameworks\\utest/source/harness.cpp" index f2d9371c77..c217c7b359 100644 --- "a/frameworks\\utest/source/harness.cpp" +++ "b/frameworks\\utest/source/harness.cpp" @@ -165,6 +165,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 (case_current->is_empty()) { + raise_failure(FAILURE_EMPTY_CASE); + schedule_next_case(); + return; + } + if (!case_failed && !case_passed) { size_t index = test_index_of_case++; if (handlers.case_set_up && (handlers.case_set_up(case_current, index) != STATUS_CONTINUE)) {