From 28195baabaa7a88508526ab95d3aa0ed1356fb04 Mon Sep 17 00:00:00 2001 From: Mark VanderVoord Date: Thu, 10 Dec 2015 18:12:45 -0500 Subject: [PATCH] - Made some tweaks to the way the new detail handling works (to make it look nicer, mostly) - Fixed a big ugly error in the fancy RUN_TEST handler --- auto/generate_test_runner.rb | 1 + src/unity.c | 7 +++++-- src/unity_internals.h | 26 ++++++++++++++++++------- test/expectdata/testsample_mock_cmd.c | 1 + test/expectdata/testsample_mock_def.c | 1 + test/expectdata/testsample_mock_head1.c | 1 + test/expectdata/testsample_mock_new1.c | 1 + test/expectdata/testsample_mock_new2.c | 1 + test/expectdata/testsample_mock_param.c | 1 + test/expectdata/testsample_mock_run1.c | 1 + test/expectdata/testsample_mock_run2.c | 1 + test/expectdata/testsample_mock_yaml.c | 1 + 12 files changed, 34 insertions(+), 9 deletions(-) diff --git a/auto/generate_test_runner.rb b/auto/generate_test_runner.rb index 0f751cb..1901d4f 100644 --- a/auto/generate_test_runner.rb +++ b/auto/generate_test_runner.rb @@ -254,6 +254,7 @@ class UnityTestRunnerGenerator output.puts(" Unity.CurrentTestLineNumber = TestLineNum; \\") output.puts(" Unity.NumberOfTests++; \\") output.puts(" CMock_Init(); \\") unless (used_mocks.empty?) + output.puts(" UNITY_CLR_DETAILS(); \\") unless (used_mocks.empty?) output.puts(" if (TEST_PROTECT()) \\") output.puts(" { \\") output.puts(" CEXCEPTION_T e; \\") if cexception diff --git a/src/unity.c b/src/unity.c index 6996b6d..08db2a8 100644 --- a/src/unity.c +++ b/src/unity.c @@ -42,6 +42,8 @@ const char UnityStrBreaker[] = "-----------------------"; const char UnityStrResultsTests[] = " Tests "; const char UnityStrResultsFailures[] = " Failures "; const char UnityStrResultsIgnored[] = " Ignored "; +const char UnityStrDetail1Name[] = UNITY_DETAIL1_NAME " "; +const char UnityStrDetail2Name[] = " " UNITY_DETAIL2_NAME " "; #ifdef UNITY_FLOAT_NEEDS_ZERO // Dividing by these constants produces +/- infinity. @@ -368,13 +370,14 @@ static void UnityAddMsgIfSpecified(const char* msg) #ifndef UNITY_EXCLUDE_DETAILS if (Unity.CurrentDetail1) { + UnityPrint(UnityStrDetail1Name); UnityPrint(Unity.CurrentDetail1); - UnityPrint(UnityStrSpacer); if (Unity.CurrentDetail2) { + UnityPrint(UnityStrDetail2Name); UnityPrint(Unity.CurrentDetail2); - UnityPrint(UnityStrSpacer); } + UnityPrint(UnityStrSpacer); } #endif UnityPrint(msg); diff --git a/src/unity_internals.h b/src/unity_internals.h index 5eb4e1c..eb9ad02 100644 --- a/src/unity_internals.h +++ b/src/unity_internals.h @@ -423,14 +423,26 @@ int UnityEnd(void); void UnityConcludeTest(void); void UnityDefaultTestRun(UnityTestFunction Func, const char* FuncName, const int FuncLineNum); -#ifndef UNITY_EXCLUDE_DETAILS -#define UNITY_CLR_DETAILS() { Unity.CurrentDetail1 = 0; Unity.CurrentDetail2 = 0; } -#define UNITY_SET_DETAIL(d1) { Unity.CurrentDetail1 = d1; Unity.CurrentDetail2 = 0; } -#define UNITY_SET_DETAILS(d1,d2) { Unity.CurrentDetail1 = d1; Unity.CurrentDetail2 = d2; } -#else +//------------------------------------------------------- +// Details Support +//------------------------------------------------------- + +#ifdef UNITY_EXCLUDE_DETAILS #define UNITY_CLR_DETAILS() #define UNITY_SET_DETAIL(d1) #define UNITY_SET_DETAILS(d1,d2) +#else +#define UNITY_CLR_DETAILS() { Unity.CurrentDetail1 = 0; Unity.CurrentDetail2 = 0; } +#define UNITY_SET_DETAIL(d1) { Unity.CurrentDetail1 = d1; Unity.CurrentDetail2 = 0; } +#define UNITY_SET_DETAILS(d1,d2) { Unity.CurrentDetail1 = d1; Unity.CurrentDetail2 = d2; } + +#ifndef UNITY_DETAIL1_NAME +#define UNITY_DETAIL1_NAME "Function" +#endif + +#ifndef UNITY_DETAIL2_NAME +#define UNITY_DETAIL2_NAME "Argument" +#endif #endif //------------------------------------------------------- @@ -569,9 +581,9 @@ extern const char UnityStrErr64[]; #ifdef __STDC_VERSION__ #if __STDC_VERSION__ >= 199901L #define RUN_TEST(...) UnityDefaultTestRun(RUN_TEST_FIRST(__VA_ARGS__), RUN_TEST_SECOND(__VA_ARGS__)) -#define RUN_TEST_FIRST(...) RUN_TEST_FIRST_HELPER(##__VA_ARGS__, throwaway) +#define RUN_TEST_FIRST(...) RUN_TEST_FIRST_HELPER(__VA_ARGS__, throwaway) #define RUN_TEST_FIRST_HELPER(first, ...) (first), #first -#define RUN_TEST_SECOND(...) RUN_TEST_SECOND_HELPER(##__VA_ARGS__, __LINE__, throwaway) +#define RUN_TEST_SECOND(...) RUN_TEST_SECOND_HELPER(__VA_ARGS__, __LINE__, throwaway) #define RUN_TEST_SECOND_HELPER(first, second, ...) (second) #endif #endif diff --git a/test/expectdata/testsample_mock_cmd.c b/test/expectdata/testsample_mock_cmd.c index d047b2a..5eaf2fa 100644 --- a/test/expectdata/testsample_mock_cmd.c +++ b/test/expectdata/testsample_mock_cmd.c @@ -7,6 +7,7 @@ Unity.CurrentTestLineNumber = TestLineNum; \ Unity.NumberOfTests++; \ CMock_Init(); \ + UNITY_CLR_DETAILS(); \ if (TEST_PROTECT()) \ { \ CEXCEPTION_T e; \ diff --git a/test/expectdata/testsample_mock_def.c b/test/expectdata/testsample_mock_def.c index 3a90549..b9a6544 100644 --- a/test/expectdata/testsample_mock_def.c +++ b/test/expectdata/testsample_mock_def.c @@ -7,6 +7,7 @@ Unity.CurrentTestLineNumber = TestLineNum; \ Unity.NumberOfTests++; \ CMock_Init(); \ + UNITY_CLR_DETAILS(); \ if (TEST_PROTECT()) \ { \ setUp(); \ diff --git a/test/expectdata/testsample_mock_head1.c b/test/expectdata/testsample_mock_head1.c index a3680ec..5d7e2b0 100644 --- a/test/expectdata/testsample_mock_head1.c +++ b/test/expectdata/testsample_mock_head1.c @@ -7,6 +7,7 @@ Unity.CurrentTestLineNumber = TestLineNum; \ Unity.NumberOfTests++; \ CMock_Init(); \ + UNITY_CLR_DETAILS(); \ if (TEST_PROTECT()) \ { \ setUp(); \ diff --git a/test/expectdata/testsample_mock_new1.c b/test/expectdata/testsample_mock_new1.c index 8dd6847..0f1e6d5 100644 --- a/test/expectdata/testsample_mock_new1.c +++ b/test/expectdata/testsample_mock_new1.c @@ -7,6 +7,7 @@ Unity.CurrentTestLineNumber = TestLineNum; \ Unity.NumberOfTests++; \ CMock_Init(); \ + UNITY_CLR_DETAILS(); \ if (TEST_PROTECT()) \ { \ CEXCEPTION_T e; \ diff --git a/test/expectdata/testsample_mock_new2.c b/test/expectdata/testsample_mock_new2.c index daeb82e..5280e6d 100644 --- a/test/expectdata/testsample_mock_new2.c +++ b/test/expectdata/testsample_mock_new2.c @@ -7,6 +7,7 @@ Unity.CurrentTestLineNumber = TestLineNum; \ Unity.NumberOfTests++; \ CMock_Init(); \ + UNITY_CLR_DETAILS(); \ if (TEST_PROTECT()) \ { \ setUp(); \ diff --git a/test/expectdata/testsample_mock_param.c b/test/expectdata/testsample_mock_param.c index 0f6b05a..b6b6ea8 100644 --- a/test/expectdata/testsample_mock_param.c +++ b/test/expectdata/testsample_mock_param.c @@ -8,6 +8,7 @@ Unity.CurrentTestLineNumber = TestLineNum; \ Unity.NumberOfTests++; \ CMock_Init(); \ + UNITY_CLR_DETAILS(); \ if (TEST_PROTECT()) \ { \ setUp(); \ diff --git a/test/expectdata/testsample_mock_run1.c b/test/expectdata/testsample_mock_run1.c index 8dd6847..0f1e6d5 100644 --- a/test/expectdata/testsample_mock_run1.c +++ b/test/expectdata/testsample_mock_run1.c @@ -7,6 +7,7 @@ Unity.CurrentTestLineNumber = TestLineNum; \ Unity.NumberOfTests++; \ CMock_Init(); \ + UNITY_CLR_DETAILS(); \ if (TEST_PROTECT()) \ { \ CEXCEPTION_T e; \ diff --git a/test/expectdata/testsample_mock_run2.c b/test/expectdata/testsample_mock_run2.c index daeb82e..5280e6d 100644 --- a/test/expectdata/testsample_mock_run2.c +++ b/test/expectdata/testsample_mock_run2.c @@ -7,6 +7,7 @@ Unity.CurrentTestLineNumber = TestLineNum; \ Unity.NumberOfTests++; \ CMock_Init(); \ + UNITY_CLR_DETAILS(); \ if (TEST_PROTECT()) \ { \ setUp(); \ diff --git a/test/expectdata/testsample_mock_yaml.c b/test/expectdata/testsample_mock_yaml.c index b28c8f0..e50f228 100644 --- a/test/expectdata/testsample_mock_yaml.c +++ b/test/expectdata/testsample_mock_yaml.c @@ -7,6 +7,7 @@ Unity.CurrentTestLineNumber = TestLineNum; \ Unity.NumberOfTests++; \ CMock_Init(); \ + UNITY_CLR_DETAILS(); \ if (TEST_PROTECT()) \ { \ CEXCEPTION_T e; \