From 9e9adc050cef4db93a524df333123f5b7e2bc089 Mon Sep 17 00:00:00 2001 From: Nimrod Zimerman Date: Tue, 13 Jan 2015 22:48:36 +0200 Subject: [PATCH] Bug fix - ignored tests were incorrectly counted when not selected for running. Ignored tests are now correctly skipped if not selected by test name or by group name. --- extras/fixture/src/unity_fixture.c | 19 +++++++++++-------- extras/fixture/src/unity_fixture.h | 2 +- extras/fixture/src/unity_fixture_internals.h | 2 +- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/extras/fixture/src/unity_fixture.c b/extras/fixture/src/unity_fixture.c index 01d3ae6..7c9dd74 100644 --- a/extras/fixture/src/unity_fixture.c +++ b/extras/fixture/src/unity_fixture.c @@ -115,15 +115,18 @@ void UnityTestRunner(unityfunction* setup, } } -void UnityIgnoreTest(const char * printableName) +void UnityIgnoreTest(const char * printableName, const char * group, const char * name) { - Unity.NumberOfTests++; - Unity.CurrentTestIgnored = 1; - if (!UnityFixture.Verbose) - UNITY_OUTPUT_CHAR('!'); - else - UnityPrint(printableName); - UnityConcludeFixtureTest(); + if (testSelected(name) && groupSelected(group)) + { + Unity.NumberOfTests++; + Unity.CurrentTestIgnored = 1; + if (!UnityFixture.Verbose) + UNITY_OUTPUT_CHAR('!'); + else + UnityPrint(printableName); + UnityConcludeFixtureTest(); + } } diff --git a/extras/fixture/src/unity_fixture.h b/extras/fixture/src/unity_fixture.h index e176bbd..f4f9825 100644 --- a/extras/fixture/src/unity_fixture.h +++ b/extras/fixture/src/unity_fixture.h @@ -45,7 +45,7 @@ int UnityMain(int argc, const char* argv[], void (*runAllTests)(void)); void TEST_##group##_##name##_run(void);\ void TEST_##group##_##name##_run(void)\ {\ - UnityIgnoreTest("IGNORE_TEST(" #group ", " #name ")");\ + UnityIgnoreTest("IGNORE_TEST(" #group ", " #name ")", TEST_GROUP_##group, #name);\ }\ void TEST_##group##_##name##_(void) diff --git a/extras/fixture/src/unity_fixture_internals.h b/extras/fixture/src/unity_fixture_internals.h index c4099fa..968265d 100644 --- a/extras/fixture/src/unity_fixture_internals.h +++ b/extras/fixture/src/unity_fixture_internals.h @@ -25,7 +25,7 @@ void UnityTestRunner(unityfunction * setup, const char * name, const char * file, int line); -void UnityIgnoreTest(const char * printableName); +void UnityIgnoreTest(const char * printableName, const char * group, const char * name); void UnityMalloc_StartTest(void); void UnityMalloc_EndTest(void); int UnityFailureCount(void); -- GitLab