From 98a223c85cd9868097220bb96c1f9beff7ad09eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alari=20=C3=95is?= Date: Tue, 5 May 2020 14:14:35 +0300 Subject: [PATCH 01/12] First (far from done) implementation for printf style formatting for test messages --- src/unity.c | 92 ++++++++++++++++++++++++++++--------- src/unity.h | 52 ++++++++++++++++++--- src/unity_internals.h | 103 ++++++++++++++++++++++++++++++------------ 3 files changed, 192 insertions(+), 55 deletions(-) diff --git a/src/unity.c b/src/unity.c index ffa5cf0d..0361a953 100644 --- a/src/unity.c +++ b/src/unity.c @@ -561,6 +561,12 @@ void UnityConcludeTest(void) } /*-----------------------------------------------*/ + +#ifdef UNITY_INCLUDE_PRINT_FORMATTED +static void UnityPrintFVA(const char* format, va_list va); +#endif + + static void UnityAddMsgIfSpecified(const char* msg) { if (msg) @@ -587,6 +593,37 @@ static void UnityAddMsgIfSpecified(const char* msg) } } +static void UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(const char* msg VA_LIST_IF_ENABLED) +{ + if (msg) + { + UnityPrint(UnityStrSpacer); + +#ifdef UNITY_PRINT_TEST_CONTEXT + UNITY_PRINT_TEST_CONTEXT(); +#endif +#ifndef UNITY_EXCLUDE_DETAILS + if (Unity.CurrentDetail1) + { + UnityPrint(UnityStrDetail1Name); + UnityPrint(Unity.CurrentDetail1); + if (Unity.CurrentDetail2) + { + UnityPrint(UnityStrDetail2Name); + UnityPrint(Unity.CurrentDetail2); + } + UnityPrint(UnityStrSpacer); + } +#endif + +#ifdef UNITY_INCLUDE_PRINT_FORMATTED + UnityPrintFVA(msg, va); +#else + UnityPrint(msg); +#endif + } +} + /*-----------------------------------------------*/ static void UnityPrintExpectedAndActualStrings(const char* expected, const char* actual) { @@ -705,9 +742,9 @@ void UnityAssertBits(const UNITY_INT mask, /*-----------------------------------------------*/ void UnityAssertEqualNumber(const UNITY_INT expected, const UNITY_INT actual, - const char* msg, const UNITY_LINE_TYPE lineNumber, - const UNITY_DISPLAY_STYLE_T style) + const UNITY_DISPLAY_STYLE_T style, + const char* msg VA_ARGS_IF_ENABLED) { RETURN_IF_FAIL_OR_IGNORE; @@ -718,7 +755,14 @@ void UnityAssertEqualNumber(const UNITY_INT expected, UnityPrintNumberByStyle(expected, style); UnityPrint(UnityStrWas); UnityPrintNumberByStyle(actual, style); - UnityAddMsgIfSpecified(msg); + #ifdef UNITY_INCLUDE_PRINT_FORMATTED + va_list va; + va_start(va, msg); + UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg, va); + va_end(va); + #else + UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg); + #endif UNITY_FAIL_AND_BAIL; } } @@ -1731,21 +1775,6 @@ static void UnityPrintFVA(const char* format, va_list va) } } } - -void UnityPrintF(const UNITY_LINE_TYPE line, const char* format, ...) -{ - UnityTestResultsBegin(Unity.TestFile, line); - UnityPrint("INFO"); - if(format != NULL) - { - UnityPrint(": "); - va_list va; - va_start(va, format); - UnityPrintFVA(format, va); - va_end(va); - } - UNITY_PRINT_EOL(); -} #endif /* ! UNITY_INCLUDE_PRINT_FORMATTED */ @@ -1754,7 +1783,7 @@ void UnityPrintF(const UNITY_LINE_TYPE line, const char* format, ...) *-----------------------------------------------*/ /*-----------------------------------------------*/ -void UnityFail(const char* msg, const UNITY_LINE_TYPE line) +void UnityFail(const UNITY_LINE_TYPE line, const char* msg VA_ARGS_IF_ENABLED) { RETURN_IF_FAIL_OR_IGNORE; @@ -1784,14 +1813,21 @@ void UnityFail(const char* msg, const UNITY_LINE_TYPE line) { UNITY_OUTPUT_CHAR(' '); } +#ifndef UNITY_INCLUDE_PRINT_FORMATTED UnityPrint(msg); +#else + va_list va; + va_start(va, msg); + UnityPrintFVA(msg, va); + va_end(va); +#endif } UNITY_FAIL_AND_BAIL; } /*-----------------------------------------------*/ -void UnityIgnore(const char* msg, const UNITY_LINE_TYPE line) +void UnityIgnore(const UNITY_LINE_TYPE line, const char* msg VA_ARGS_IF_ENABLED) { RETURN_IF_FAIL_OR_IGNORE; @@ -1801,13 +1837,20 @@ void UnityIgnore(const char* msg, const UNITY_LINE_TYPE line) { UNITY_OUTPUT_CHAR(':'); UNITY_OUTPUT_CHAR(' '); +#ifndef UNITY_INCLUDE_PRINT_FORMATTED UnityPrint(msg); +#else + va_list va; + va_start(va, msg); + UnityPrintFVA(msg, va); + va_end(va); +#endif } UNITY_IGNORE_AND_BAIL; } /*-----------------------------------------------*/ -void UnityMessage(const char* msg, const UNITY_LINE_TYPE line) +void UnityMessage(const UNITY_LINE_TYPE line, const char* msg VA_ARGS_IF_ENABLED) { UnityTestResultsBegin(Unity.TestFile, line); UnityPrint("INFO"); @@ -1815,7 +1858,14 @@ void UnityMessage(const char* msg, const UNITY_LINE_TYPE line) { UNITY_OUTPUT_CHAR(':'); UNITY_OUTPUT_CHAR(' '); +#ifndef UNITY_INCLUDE_PRINT_FORMATTED UnityPrint(msg); +#else + va_list va; + va_start(va, msg); + UnityPrintFVA(msg, va); + va_end(va); +#endif } UNITY_PRINT_EOL(); } diff --git a/src/unity.h b/src/unity.h index 8caa7852..97a7db64 100644 --- a/src/unity.h +++ b/src/unity.h @@ -98,20 +98,30 @@ void verifyTest(void); * Basic Fail and Ignore *-------------------------------------------------------*/ +#ifndef UNITY_INCLUDE_PRINT_FORMATTED #define TEST_FAIL_MESSAGE(message) UNITY_TEST_FAIL(__LINE__, (message)) -#define TEST_FAIL() UNITY_TEST_FAIL(__LINE__, NULL) #define TEST_IGNORE_MESSAGE(message) UNITY_TEST_IGNORE(__LINE__, (message)) +#define TEST_MESSAGE(message) UnityMessage(__LINE__, (message)) +#else +#define TEST_FAIL_MESSAGE(...) UNITY_TEST_FAIL(__LINE__, __VA_ARGS__) +#define TEST_IGNORE_MESSAGE(...) UNITY_TEST_IGNORE(__LINE__, __VA_ARGS__) +#define TEST_MESSAGE(...) UnityMessage(__LINE__, __VA_ARGS__) +#define TEST_PRINTF(...) UnityMessage(__LINE__, __VA_ARGS__) +#endif + +#define TEST_FAIL() UNITY_TEST_FAIL(__LINE__, NULL) #define TEST_IGNORE() UNITY_TEST_IGNORE(__LINE__, NULL) -#define TEST_MESSAGE(message) UnityMessage((message), __LINE__) #define TEST_ONLY() -#ifdef UNITY_INCLUDE_PRINT_FORMATTED -#define TEST_PRINTF(message, ...) UnityPrintF(__LINE__, (message), __VA_ARGS__) -#endif + /* It is not necessary for you to call PASS. A PASS condition is assumed if nothing fails. * This method allows you to abort a test immediately with a PASS state, ignoring the remainder of the test. */ #define TEST_PASS() TEST_ABORT() -#define TEST_PASS_MESSAGE(message) do { UnityMessage((message), __LINE__); TEST_ABORT(); } while(0) +#ifndef UNITY_INCLUDE_PRINT_FORMATTED +#define TEST_PASS_MESSAGE(message) do { UnityMessage(__LINE__, (message)); TEST_ABORT(); } while(0) +#else +#define TEST_PASS_MESSAGE(...) do { UnityMessage(__LINE__, __VA_ARGS__); TEST_ABORT(); } while(0) +#endif /* This macro does nothing, but it is useful for build tools (like Ceedling) to make use of this to figure out * which files should be linked to in order to perform a test. Use it like TEST_FILE("sandwiches.c") */ @@ -390,6 +400,7 @@ void verifyTest(void); *-------------------------------------------------------*/ /* Boolean */ +#ifndef UNITY_INCLUDE_PRINT_FORMATTED #define TEST_ASSERT_MESSAGE(condition, message) UNITY_TEST_ASSERT( (condition), __LINE__, (message)) #define TEST_ASSERT_TRUE_MESSAGE(condition, message) UNITY_TEST_ASSERT( (condition), __LINE__, (message)) #define TEST_ASSERT_UNLESS_MESSAGE(condition, message) UNITY_TEST_ASSERT( !(condition), __LINE__, (message)) @@ -398,8 +409,19 @@ void verifyTest(void); #define TEST_ASSERT_NOT_NULL_MESSAGE(pointer, message) UNITY_TEST_ASSERT_NOT_NULL((pointer), __LINE__, (message)) #define TEST_ASSERT_EMPTY_MESSAGE(pointer, message) UNITY_TEST_ASSERT_EMPTY( (pointer), __LINE__, (message)) #define TEST_ASSERT_NOT_EMPTY_MESSAGE(pointer, message) UNITY_TEST_ASSERT_NOT_EMPTY((pointer), __LINE__, (message)) +#else +#define TEST_ASSERT_MESSAGE(condition, ...) UNITY_TEST_ASSERT( (condition), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_TRUE_MESSAGE(condition, ...) UNITY_TEST_ASSERT( (condition), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_UNLESS_MESSAGE(condition, ...) UNITY_TEST_ASSERT( !(condition), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_FALSE_MESSAGE(condition, ...) UNITY_TEST_ASSERT( !(condition), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_NULL_MESSAGE(pointer, ...) UNITY_TEST_ASSERT_NULL( (pointer), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_NOT_NULL_MESSAGE(pointer, ...) UNITY_TEST_ASSERT_NOT_NULL((pointer), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EMPTY_MESSAGE(pointer, ...) UNITY_TEST_ASSERT_EMPTY( (pointer), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_NOT_EMPTY_MESSAGE(pointer, ...) UNITY_TEST_ASSERT_NOT_EMPTY((pointer), __LINE__, __VA_ARGS__) +#endif /* Integers (of all sizes) */ +#ifndef UNITY_INCLUDE_PRINT_FORMATTED #define TEST_ASSERT_EQUAL_INT_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT((expected), (actual), __LINE__, (message)) #define TEST_ASSERT_EQUAL_INT8_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT8((expected), (actual), __LINE__, (message)) #define TEST_ASSERT_EQUAL_INT16_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT16((expected), (actual), __LINE__, (message)) @@ -416,6 +438,24 @@ void verifyTest(void); #define TEST_ASSERT_EQUAL_HEX16_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_HEX16((expected), (actual), __LINE__, (message)) #define TEST_ASSERT_EQUAL_HEX32_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_HEX32((expected), (actual), __LINE__, (message)) #define TEST_ASSERT_EQUAL_HEX64_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_HEX64((expected), (actual), __LINE__, (message)) +#else +#define TEST_ASSERT_EQUAL_INT_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_INT((expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_INT8_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_INT8((expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_INT16_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_INT16((expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_INT32_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_INT32((expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_INT64_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_INT64((expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_UINT_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_UINT((expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_UINT8_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_UINT8((expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_UINT16_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_UINT16((expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_UINT32_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_UINT32((expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_UINT64_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_UINT64((expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_size_t_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_UINT((expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_HEX_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_HEX32((expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_HEX8_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_HEX8((expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_HEX16_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_HEX16((expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_HEX32_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_HEX32((expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_HEX64_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_HEX64((expected), (actual), __LINE__, __VA_ARGS__) +#endif #define TEST_ASSERT_BITS_MESSAGE(mask, expected, actual, message) UNITY_TEST_ASSERT_BITS((mask), (expected), (actual), __LINE__, (message)) #define TEST_ASSERT_BITS_HIGH_MESSAGE(mask, actual, message) UNITY_TEST_ASSERT_BITS((mask), (UNITY_UINT32)(-1), (actual), __LINE__, (message)) #define TEST_ASSERT_BITS_LOW_MESSAGE(mask, actual, message) UNITY_TEST_ASSERT_BITS((mask), (UNITY_UINT32)(0), (actual), __LINE__, (message)) diff --git a/src/unity_internals.h b/src/unity_internals.h index 705c6121..d41669f9 100644 --- a/src/unity_internals.h +++ b/src/unity_internals.h @@ -174,6 +174,17 @@ #define UNITY_INTERNAL_PTR UNITY_PTR_ATTRIBUTE const void* #endif +/*------------------------------------------------------- + * Formatted Message Support + *-------------------------------------------------------*/ +#ifdef UNITY_INCLUDE_PRINT_FORMATTED +#define VA_LIST_IF_ENABLED , va_list va +#define VA_ARGS_IF_ENABLED , ... +#else +#define VA_LIST_IF_ENABLED +#define VA_ARGS_IF_ENABLED +#endif + /*------------------------------------------------------- * Float Support *-------------------------------------------------------*/ @@ -519,10 +530,6 @@ void UNITY_PRINT_TEST_CONTEXT(void); void UnityPrint(const char* string); -#ifdef UNITY_INCLUDE_PRINT_FORMATTED -void UnityPrintF(const UNITY_LINE_TYPE line, const char* format, ...); -#endif - void UnityPrintLen(const char* string, const UNITY_UINT32 length); void UnityPrintMask(const UNITY_UINT mask, const UNITY_UINT number); void UnityPrintNumberByStyle(const UNITY_INT number, const UNITY_DISPLAY_STYLE_T style); @@ -544,9 +551,9 @@ void UnityPrintFloat(const UNITY_DOUBLE input_number); void UnityAssertEqualNumber(const UNITY_INT expected, const UNITY_INT actual, - const char* msg, const UNITY_LINE_TYPE lineNumber, - const UNITY_DISPLAY_STYLE_T style); + const UNITY_DISPLAY_STYLE_T style, + const char* msg VA_ARGS_IF_ENABLED); void UnityAssertGreaterOrLessOrEqualNumber(const UNITY_INT threshold, const UNITY_INT actual, @@ -611,9 +618,9 @@ void UnityAssertNumbersArrayWithin(const UNITY_UINT delta, const UNITY_DISPLAY_STYLE_T style, const UNITY_FLAGS_T flags); -void UnityFail(const char* message, const UNITY_LINE_TYPE line); -void UnityIgnore(const char* message, const UNITY_LINE_TYPE line); -void UnityMessage(const char* message, const UNITY_LINE_TYPE line); +void UnityFail(const UNITY_LINE_TYPE line, const char* message VA_ARGS_IF_ENABLED); +void UnityIgnore(const UNITY_LINE_TYPE line, const char* message VA_ARGS_IF_ENABLED); +void UnityMessage(const UNITY_LINE_TYPE line, const char* message VA_ARGS_IF_ENABLED); #ifndef UNITY_EXCLUDE_FLOAT void UnityAssertFloatsWithin(const UNITY_FLOAT delta, @@ -753,31 +760,59 @@ int UnityTestMatches(void); * Basic Fail and Ignore *-------------------------------------------------------*/ -#define UNITY_TEST_FAIL(line, message) UnityFail( (message), (UNITY_LINE_TYPE)(line)) -#define UNITY_TEST_IGNORE(line, message) UnityIgnore( (message), (UNITY_LINE_TYPE)(line)) - +#ifndef UNITY_INCLUDE_PRINT_FORMATTED +#define UNITY_TEST_FAIL(line, message) UnityFail((UNITY_LINE_TYPE)(line), (message)) +#define UNITY_TEST_IGNORE(line, message) UnityIgnore((UNITY_LINE_TYPE)(line), (message)) +#else +#define UNITY_TEST_FAIL(line, ...) UnityFail((UNITY_LINE_TYPE)(line), __VA_ARGS__) +#define UNITY_TEST_IGNORE(line, ...) UnityIgnore((UNITY_LINE_TYPE)(line), __VA_ARGS__) +#endif /*------------------------------------------------------- * Test Asserts *-------------------------------------------------------*/ +#ifndef UNITY_INCLUDE_PRINT_FORMATTED #define UNITY_TEST_ASSERT(condition, line, message) do {if (condition) {} else {UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), (message));}} while(0) #define UNITY_TEST_ASSERT_NULL(pointer, line, message) UNITY_TEST_ASSERT(((pointer) == NULL), (UNITY_LINE_TYPE)(line), (message)) #define UNITY_TEST_ASSERT_NOT_NULL(pointer, line, message) UNITY_TEST_ASSERT(((pointer) != NULL), (UNITY_LINE_TYPE)(line), (message)) #define UNITY_TEST_ASSERT_EMPTY(pointer, line, message) UNITY_TEST_ASSERT(((pointer[0]) == 0), (UNITY_LINE_TYPE)(line), (message)) #define UNITY_TEST_ASSERT_NOT_EMPTY(pointer, line, message) UNITY_TEST_ASSERT(((pointer[0]) != 0), (UNITY_LINE_TYPE)(line), (message)) +#else +#define UNITY_TEST_ASSERT(condition, line, ...) do {if (condition) {} else {UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), __VA_ARGS__);}} while(0) +#define UNITY_TEST_ASSERT_NULL(pointer, line, ...) UNITY_TEST_ASSERT(((pointer) == NULL), (UNITY_LINE_TYPE)(line), __VA_ARGS__) +#define UNITY_TEST_ASSERT_NOT_NULL(pointer, line, ...) UNITY_TEST_ASSERT(((pointer) != NULL), (UNITY_LINE_TYPE)(line), __VA_ARGS__) +#define UNITY_TEST_ASSERT_EMPTY(pointer, line, ...) UNITY_TEST_ASSERT(((pointer[0]) == 0), (UNITY_LINE_TYPE)(line), __VA_ARGS__) +#define UNITY_TEST_ASSERT_NOT_EMPTY(pointer, line, ...) UNITY_TEST_ASSERT(((pointer[0]) != 0), (UNITY_LINE_TYPE)(line), __VA_ARGS__) +#endif + +#ifndef UNITY_INCLUDE_PRINT_FORMATTED +#define UNITY_TEST_ASSERT_EQUAL_INT(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, (message)) +#define UNITY_TEST_ASSERT_EQUAL_INT8(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT8 )(expected), (UNITY_INT)(UNITY_INT8 )(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, (message)) +#define UNITY_TEST_ASSERT_EQUAL_INT16(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT16)(expected), (UNITY_INT)(UNITY_INT16)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, (message)) +#define UNITY_TEST_ASSERT_EQUAL_INT32(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT32)(expected), (UNITY_INT)(UNITY_INT32)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, (message)) +#define UNITY_TEST_ASSERT_EQUAL_UINT(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, (message)) +#define UNITY_TEST_ASSERT_EQUAL_UINT8(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_UINT8 )(expected), (UNITY_INT)(UNITY_UINT8 )(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, (message)) +#define UNITY_TEST_ASSERT_EQUAL_UINT16(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_UINT16)(expected), (UNITY_INT)(UNITY_UINT16)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, (message)) +#define UNITY_TEST_ASSERT_EQUAL_UINT32(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_UINT32)(expected), (UNITY_INT)(UNITY_UINT32)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, (message)) +#define UNITY_TEST_ASSERT_EQUAL_HEX8(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT8 )(expected), (UNITY_INT)(UNITY_INT8 )(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, (message)) +#define UNITY_TEST_ASSERT_EQUAL_HEX16(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT16)(expected), (UNITY_INT)(UNITY_INT16)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, (message)) +#define UNITY_TEST_ASSERT_EQUAL_HEX32(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT32)(expected), (UNITY_INT)(UNITY_INT32)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, (message)) +#define UNITY_TEST_ASSERT_EQUAL_CHAR(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT8 )(expected), (UNITY_INT)(UNITY_INT8 )(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, (message)) +#else +#define UNITY_TEST_ASSERT_EQUAL_INT(expected, actual, line, ...) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_INT8(expected, actual, line, ...) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT8 )(expected), (UNITY_INT)(UNITY_INT8 )(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_INT16(expected, actual, line, ...) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT16)(expected), (UNITY_INT)(UNITY_INT16)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_INT32(expected, actual, line, ...) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT32)(expected), (UNITY_INT)(UNITY_INT32)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_UINT(expected, actual, line, ...) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_UINT8(expected, actual, line, ...) UnityAssertEqualNumber((UNITY_INT)(UNITY_UINT8 )(expected), (UNITY_INT)(UNITY_UINT8 )(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_UINT16(expected, actual, line, ...) UnityAssertEqualNumber((UNITY_INT)(UNITY_UINT16)(expected), (UNITY_INT)(UNITY_UINT16)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_UINT32(expected, actual, line, ...) UnityAssertEqualNumber((UNITY_INT)(UNITY_UINT32)(expected), (UNITY_INT)(UNITY_UINT32)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_HEX8(expected, actual, line, ...) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT8 )(expected), (UNITY_INT)(UNITY_INT8 )(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_HEX16(expected, actual, line, ...) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT16)(expected), (UNITY_INT)(UNITY_INT16)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_HEX32(expected, actual, line, ...) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT32)(expected), (UNITY_INT)(UNITY_INT32)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_CHAR(expected, actual, line, ...) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT8 )(expected), (UNITY_INT)(UNITY_INT8 )(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, __VA_ARGS__) +#endif -#define UNITY_TEST_ASSERT_EQUAL_INT(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) -#define UNITY_TEST_ASSERT_EQUAL_INT8(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT8 )(expected), (UNITY_INT)(UNITY_INT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) -#define UNITY_TEST_ASSERT_EQUAL_INT16(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT16)(expected), (UNITY_INT)(UNITY_INT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) -#define UNITY_TEST_ASSERT_EQUAL_INT32(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT32)(expected), (UNITY_INT)(UNITY_INT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) -#define UNITY_TEST_ASSERT_EQUAL_UINT(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) -#define UNITY_TEST_ASSERT_EQUAL_UINT8(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_UINT8 )(expected), (UNITY_INT)(UNITY_UINT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) -#define UNITY_TEST_ASSERT_EQUAL_UINT16(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_UINT16)(expected), (UNITY_INT)(UNITY_UINT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) -#define UNITY_TEST_ASSERT_EQUAL_UINT32(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_UINT32)(expected), (UNITY_INT)(UNITY_UINT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) -#define UNITY_TEST_ASSERT_EQUAL_HEX8(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT8 )(expected), (UNITY_INT)(UNITY_INT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) -#define UNITY_TEST_ASSERT_EQUAL_HEX16(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT16)(expected), (UNITY_INT)(UNITY_INT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) -#define UNITY_TEST_ASSERT_EQUAL_HEX32(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT32)(expected), (UNITY_INT)(UNITY_INT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) -#define UNITY_TEST_ASSERT_EQUAL_CHAR(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT8 )(expected), (UNITY_INT)(UNITY_INT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR) #define UNITY_TEST_ASSERT_BITS(mask, expected, actual, line, message) UnityAssertBits((UNITY_INT)(mask), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line)) #define UNITY_TEST_ASSERT_NOT_EQUAL_INT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) @@ -872,7 +907,7 @@ int UnityTestMatches(void); #define UNITY_TEST_ASSERT_CHAR_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT8 )(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_PTR(expected, actual, line, message) UnityAssertEqualNumber((UNITY_PTR_TO_INT)(expected), (UNITY_PTR_TO_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER) +#define UNITY_TEST_ASSERT_EQUAL_PTR(expected, actual, line, message) UnityAssertEqualNumber((UNITY_PTR_TO_INT)(expected), (UNITY_PTR_TO_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER, (message)) #define UNITY_TEST_ASSERT_EQUAL_STRING(expected, actual, line, message) UnityAssertEqualString((const char*)(expected), (const char*)(actual), (message), (UNITY_LINE_TYPE)(line)) #define UNITY_TEST_ASSERT_EQUAL_STRING_LEN(expected, actual, len, line, message) UnityAssertEqualStringLen((const char*)(expected), (const char*)(actual), (UNITY_UINT32)(len), (message), (UNITY_LINE_TYPE)(line)) #define UNITY_TEST_ASSERT_EQUAL_MEMORY(expected, actual, len, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), 1, (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY) @@ -910,9 +945,15 @@ int UnityTestMatches(void); #define UNITY_TEST_ASSERT_EACH_EQUAL_CHAR(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT8 )(expected), 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, UNITY_ARRAY_TO_VAL) #ifdef UNITY_SUPPORT_64 -#define UNITY_TEST_ASSERT_EQUAL_INT64(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) -#define UNITY_TEST_ASSERT_EQUAL_UINT64(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) -#define UNITY_TEST_ASSERT_EQUAL_HEX64(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) +#ifndef UNITY_INCLUDE_PRINT_FORMATTED +#define UNITY_TEST_ASSERT_EQUAL_INT64(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, (message)) +#define UNITY_TEST_ASSERT_EQUAL_UINT64(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, (message)) +#define UNITY_TEST_ASSERT_EQUAL_HEX64(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, (message)) +#else +#define UNITY_TEST_ASSERT_EQUAL_INT64(expected, actual, line, ...) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_UINT64(expected, actual, line, ...) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_HEX64(expected, actual, line, ...) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, __VA_ARGS__) +#endif #define UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, UNITY_ARRAY_TO_ARRAY) #define UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, UNITY_ARRAY_TO_ARRAY) #define UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, UNITY_ARRAY_TO_ARRAY) @@ -941,9 +982,15 @@ int UnityTestMatches(void); #define UNITY_TEST_ASSERT_UINT64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT64)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, UNITY_ARRAY_TO_ARRAY) #define UNITY_TEST_ASSERT_HEX64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT64)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, UNITY_ARRAY_TO_ARRAY) #else +#ifndef UNITY_INCLUDE_PRINT_FORMATTED #define UNITY_TEST_ASSERT_EQUAL_INT64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) #define UNITY_TEST_ASSERT_EQUAL_UINT64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) #define UNITY_TEST_ASSERT_EQUAL_HEX64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#else +#define UNITY_TEST_ASSERT_EQUAL_INT64(expected, actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_EQUAL_UINT64(expected, actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_EQUAL_HEX64(expected, actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#endif #define UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) #define UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) #define UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) From a2214da822059650f23097ba3eb076ca2a23e880 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alari=20=C3=95is?= Date: Tue, 5 May 2020 20:48:04 +0300 Subject: [PATCH 02/12] printf style formatting support for UnityAssertBits --- src/unity.c | 13 ++++++++++--- src/unity.h | 16 +++++++++++----- src/unity_internals.h | 10 +++++++--- 3 files changed, 28 insertions(+), 11 deletions(-) diff --git a/src/unity.c b/src/unity.c index 0361a953..1b8eba7f 100644 --- a/src/unity.c +++ b/src/unity.c @@ -722,8 +722,8 @@ static int UnityIsOneArrayNull(UNITY_INTERNAL_PTR expected, void UnityAssertBits(const UNITY_INT mask, const UNITY_INT expected, const UNITY_INT actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber) + const UNITY_LINE_TYPE lineNumber, + const char* msg VA_ARGS_IF_ENABLED) { RETURN_IF_FAIL_OR_IGNORE; @@ -734,7 +734,14 @@ void UnityAssertBits(const UNITY_INT mask, UnityPrintMask((UNITY_UINT)mask, (UNITY_UINT)expected); UnityPrint(UnityStrWas); UnityPrintMask((UNITY_UINT)mask, (UNITY_UINT)actual); - UnityAddMsgIfSpecified(msg); + #ifdef UNITY_INCLUDE_PRINT_FORMATTED + va_list va; + va_start(va, msg); + UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg, va); + va_end(va); + #else + UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg); + #endif UNITY_FAIL_AND_BAIL; } } diff --git a/src/unity.h b/src/unity.h index 97a7db64..53cae230 100644 --- a/src/unity.h +++ b/src/unity.h @@ -438,6 +438,11 @@ void verifyTest(void); #define TEST_ASSERT_EQUAL_HEX16_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_HEX16((expected), (actual), __LINE__, (message)) #define TEST_ASSERT_EQUAL_HEX32_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_HEX32((expected), (actual), __LINE__, (message)) #define TEST_ASSERT_EQUAL_HEX64_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_HEX64((expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_BITS_MESSAGE(mask, expected, actual, message) UNITY_TEST_ASSERT_BITS((mask), (expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_BITS_HIGH_MESSAGE(mask, actual, message) UNITY_TEST_ASSERT_BITS((mask), (UNITY_UINT32)(-1), (actual), __LINE__, (message)) +#define TEST_ASSERT_BITS_LOW_MESSAGE(mask, actual, message) UNITY_TEST_ASSERT_BITS((mask), (UNITY_UINT32)(0), (actual), __LINE__, (message)) +#define TEST_ASSERT_BIT_HIGH_MESSAGE(bit, actual, message) UNITY_TEST_ASSERT_BITS(((UNITY_UINT32)1 << (bit)), (UNITY_UINT32)(-1), (actual), __LINE__, (message)) +#define TEST_ASSERT_BIT_LOW_MESSAGE(bit, actual, message) UNITY_TEST_ASSERT_BITS(((UNITY_UINT32)1 << (bit)), (UNITY_UINT32)(0), (actual), __LINE__, (message)) #else #define TEST_ASSERT_EQUAL_INT_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_INT((expected), (actual), __LINE__, __VA_ARGS__) #define TEST_ASSERT_EQUAL_INT8_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_INT8((expected), (actual), __LINE__, __VA_ARGS__) @@ -455,12 +460,13 @@ void verifyTest(void); #define TEST_ASSERT_EQUAL_HEX16_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_HEX16((expected), (actual), __LINE__, __VA_ARGS__) #define TEST_ASSERT_EQUAL_HEX32_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_HEX32((expected), (actual), __LINE__, __VA_ARGS__) #define TEST_ASSERT_EQUAL_HEX64_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_HEX64((expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_BITS_MESSAGE(mask, expected, actual, ...) UNITY_TEST_ASSERT_BITS((mask), (expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_BITS_HIGH_MESSAGE(mask, actual, ...) UNITY_TEST_ASSERT_BITS((mask), (UNITY_UINT32)(-1), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_BITS_LOW_MESSAGE(mask, actual, ...) UNITY_TEST_ASSERT_BITS((mask), (UNITY_UINT32)(0), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_BIT_HIGH_MESSAGE(bit, actual, ...) UNITY_TEST_ASSERT_BITS(((UNITY_UINT32)1 << (bit)), (UNITY_UINT32)(-1), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_BIT_LOW_MESSAGE(bit, actual, ...) UNITY_TEST_ASSERT_BITS(((UNITY_UINT32)1 << (bit)), (UNITY_UINT32)(0), (actual), __LINE__, __VA_ARGS__) #endif -#define TEST_ASSERT_BITS_MESSAGE(mask, expected, actual, message) UNITY_TEST_ASSERT_BITS((mask), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_BITS_HIGH_MESSAGE(mask, actual, message) UNITY_TEST_ASSERT_BITS((mask), (UNITY_UINT32)(-1), (actual), __LINE__, (message)) -#define TEST_ASSERT_BITS_LOW_MESSAGE(mask, actual, message) UNITY_TEST_ASSERT_BITS((mask), (UNITY_UINT32)(0), (actual), __LINE__, (message)) -#define TEST_ASSERT_BIT_HIGH_MESSAGE(bit, actual, message) UNITY_TEST_ASSERT_BITS(((UNITY_UINT32)1 << (bit)), (UNITY_UINT32)(-1), (actual), __LINE__, (message)) -#define TEST_ASSERT_BIT_LOW_MESSAGE(bit, actual, message) UNITY_TEST_ASSERT_BITS(((UNITY_UINT32)1 << (bit)), (UNITY_UINT32)(0), (actual), __LINE__, (message)) + #define TEST_ASSERT_EQUAL_CHAR_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_CHAR((expected), (actual), __LINE__, (message)) /* Integer Not Equal To (of all sizes) */ diff --git a/src/unity_internals.h b/src/unity_internals.h index d41669f9..2246e670 100644 --- a/src/unity_internals.h +++ b/src/unity_internals.h @@ -573,8 +573,8 @@ void UnityAssertEqualIntArray(UNITY_INTERNAL_PTR expected, void UnityAssertBits(const UNITY_INT mask, const UNITY_INT expected, const UNITY_INT actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber); + const UNITY_LINE_TYPE lineNumber, + const char* msg VA_ARGS_IF_ENABLED); void UnityAssertEqualString(const char* expected, const char* actual, @@ -813,7 +813,11 @@ int UnityTestMatches(void); #define UNITY_TEST_ASSERT_EQUAL_CHAR(expected, actual, line, ...) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT8 )(expected), (UNITY_INT)(UNITY_INT8 )(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, __VA_ARGS__) #endif -#define UNITY_TEST_ASSERT_BITS(mask, expected, actual, line, message) UnityAssertBits((UNITY_INT)(mask), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line)) +#ifndef UNITY_INCLUDE_PRINT_FORMATTED +#define UNITY_TEST_ASSERT_BITS(mask, expected, actual, line, message) UnityAssertBits((UNITY_INT)(mask), (UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), (message)) +#else +#define UNITY_TEST_ASSERT_BITS(mask, expected, actual, line, ...) UnityAssertBits((UNITY_INT)(mask), (UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), __VA_ARGS__) +#endif #define UNITY_TEST_ASSERT_NOT_EQUAL_INT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) #define UNITY_TEST_ASSERT_NOT_EQUAL_INT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) From 6607789ce6d140c9a6e44a55ee0fb7be611eaf94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alari=20=C3=95is?= Date: Tue, 5 May 2020 21:25:17 +0300 Subject: [PATCH 03/12] printf style formatting support for UnityAssertGreaterOrLessOrEqualNumber --- src/unity.c | 13 ++- src/unity.h | 95 +++++++++++++++- src/unity_internals.h | 248 ++++++++++++++++++++++++++++-------------- 3 files changed, 269 insertions(+), 87 deletions(-) diff --git a/src/unity.c b/src/unity.c index 1b8eba7f..4dc108c4 100644 --- a/src/unity.c +++ b/src/unity.c @@ -778,9 +778,9 @@ void UnityAssertEqualNumber(const UNITY_INT expected, void UnityAssertGreaterOrLessOrEqualNumber(const UNITY_INT threshold, const UNITY_INT actual, const UNITY_COMPARISON_T compare, - const char *msg, const UNITY_LINE_TYPE lineNumber, - const UNITY_DISPLAY_STYLE_T style) + const UNITY_DISPLAY_STYLE_T style, + const char* msg VA_ARGS_IF_ENABLED) { int failed = 0; RETURN_IF_FAIL_OR_IGNORE; @@ -809,7 +809,14 @@ void UnityAssertGreaterOrLessOrEqualNumber(const UNITY_INT threshold, if (compare & UNITY_EQUAL_TO) { UnityPrint(UnityStrOrEqual); } if (compare == UNITY_NOT_EQUAL) { UnityPrint(UnityStrNotEqual); } UnityPrintNumberByStyle(threshold, style); - UnityAddMsgIfSpecified(msg); + #ifdef UNITY_INCLUDE_PRINT_FORMATTED + va_list va; + va_start(va, msg); + UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg, va); + va_end(va); + #else + UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg); + #endif UNITY_FAIL_AND_BAIL; } } diff --git a/src/unity.h b/src/unity.h index 53cae230..e53d455a 100644 --- a/src/unity.h +++ b/src/unity.h @@ -470,6 +470,7 @@ void verifyTest(void); #define TEST_ASSERT_EQUAL_CHAR_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_CHAR((expected), (actual), __LINE__, (message)) /* Integer Not Equal To (of all sizes) */ +#ifndef UNITY_INCLUDE_PRINT_FORMATTED #define TEST_ASSERT_NOT_EQUAL_INT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_INT((threshold), (actual), __LINE__, (message)) #define TEST_ASSERT_NOT_EQUAL_INT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_INT8((threshold), (actual), __LINE__, (message)) #define TEST_ASSERT_NOT_EQUAL_INT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_INT16((threshold), (actual), __LINE__, (message)) @@ -486,9 +487,27 @@ void verifyTest(void); #define TEST_ASSERT_NOT_EQUAL_HEX32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_HEX32((threshold), (actual), __LINE__, (message)) #define TEST_ASSERT_NOT_EQUAL_HEX64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_HEX64((threshold), (actual), __LINE__, (message)) #define TEST_ASSERT_NOT_EQUAL_CHAR_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_CHAR((threshold), (actual), __LINE__, (message)) - +#else +#define TEST_ASSERT_NOT_EQUAL_INT_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_NOT_EQUAL_INT((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_NOT_EQUAL_INT8_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_NOT_EQUAL_INT8((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_NOT_EQUAL_INT16_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_NOT_EQUAL_INT16((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_NOT_EQUAL_INT32_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_NOT_EQUAL_INT32((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_NOT_EQUAL_INT64_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_NOT_EQUAL_INT64((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_NOT_EQUAL_UINT_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_NOT_EQUAL_UINT((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_NOT_EQUAL_UINT8_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_NOT_EQUAL_UINT8((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_NOT_EQUAL_UINT16_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_NOT_EQUAL_UINT16((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_NOT_EQUAL_UINT32_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_NOT_EQUAL_UINT32((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_NOT_EQUAL_UINT64_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_NOT_EQUAL_UINT64((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_NOT_EQUAL_size_t_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_NOT_EQUAL_UINT((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_NOT_EQUAL_HEX8_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_NOT_EQUAL_HEX8((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_NOT_EQUAL_HEX16_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_NOT_EQUAL_HEX16((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_NOT_EQUAL_HEX32_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_NOT_EQUAL_HEX32((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_NOT_EQUAL_HEX64_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_NOT_EQUAL_HEX64((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_NOT_EQUAL_CHAR_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_NOT_EQUAL_CHAR((threshold), (actual), __LINE__, __VA_ARGS__) +#endif /* Integer Greater Than/ Less Than (of all sizes) */ +#ifndef UNITY_INCLUDE_PRINT_FORMATTED #define TEST_ASSERT_GREATER_THAN_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_INT((threshold), (actual), __LINE__, (message)) #define TEST_ASSERT_GREATER_THAN_INT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_INT((threshold), (actual), __LINE__, (message)) #define TEST_ASSERT_GREATER_THAN_INT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_INT8((threshold), (actual), __LINE__, (message)) @@ -560,7 +579,79 @@ void verifyTest(void); #define TEST_ASSERT_LESS_OR_EQUAL_HEX32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX32((threshold), (actual), __LINE__, (message)) #define TEST_ASSERT_LESS_OR_EQUAL_HEX64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64((threshold), (actual), __LINE__, (message)) #define TEST_ASSERT_LESS_OR_EQUAL_CHAR_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_CHAR((threshold), (actual), __LINE__, (message)) - +#else +#define TEST_ASSERT_GREATER_THAN_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_GREATER_THAN_INT((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_GREATER_THAN_INT_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_GREATER_THAN_INT((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_GREATER_THAN_INT8_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_GREATER_THAN_INT8((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_GREATER_THAN_INT16_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_GREATER_THAN_INT16((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_GREATER_THAN_INT32_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_GREATER_THAN_INT32((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_GREATER_THAN_INT64_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_GREATER_THAN_INT64((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_GREATER_THAN_UINT_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_GREATER_THAN_UINT((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_GREATER_THAN_UINT8_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_GREATER_THAN_UINT8((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_GREATER_THAN_UINT16_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_GREATER_THAN_UINT16((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_GREATER_THAN_UINT32_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_GREATER_THAN_UINT32((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_GREATER_THAN_UINT64_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_GREATER_THAN_UINT64((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_GREATER_THAN_size_t_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_GREATER_THAN_UINT((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_GREATER_THAN_HEX8_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_GREATER_THAN_HEX8((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_GREATER_THAN_HEX16_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_GREATER_THAN_HEX16((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_GREATER_THAN_HEX32_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_GREATER_THAN_HEX32((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_GREATER_THAN_HEX64_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_GREATER_THAN_HEX64((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_GREATER_THAN_CHAR_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_GREATER_THAN_CHAR((threshold), (actual), __LINE__, __VA_ARGS__) + +#define TEST_ASSERT_LESS_THAN_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_THAN_INT((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_LESS_THAN_INT_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_THAN_INT((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_LESS_THAN_INT8_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_THAN_INT8((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_LESS_THAN_INT16_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_THAN_INT16((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_LESS_THAN_INT32_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_THAN_INT32((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_LESS_THAN_INT64_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_THAN_INT64((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_LESS_THAN_UINT_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_THAN_UINT((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_LESS_THAN_UINT8_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_THAN_UINT8((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_LESS_THAN_UINT16_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_THAN_UINT16((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_LESS_THAN_UINT32_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_THAN_UINT32((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_LESS_THAN_UINT64_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_THAN_UINT64((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_LESS_THAN_size_t_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_THAN_UINT((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_LESS_THAN_HEX8_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_THAN_HEX8((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_LESS_THAN_HEX16_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_THAN_HEX16((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_LESS_THAN_HEX32_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_THAN_HEX32((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_LESS_THAN_HEX64_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_THAN_HEX64((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_LESS_THAN_CHAR_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_THAN_CHAR((threshold), (actual), __LINE__, __VA_ARGS__) + +#define TEST_ASSERT_GREATER_OR_EQUAL_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_GREATER_OR_EQUAL_INT_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_GREATER_OR_EQUAL_INT8_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT8((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_GREATER_OR_EQUAL_INT16_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT16((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_GREATER_OR_EQUAL_INT32_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT32((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_GREATER_OR_EQUAL_INT64_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT64((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_GREATER_OR_EQUAL_UINT_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_GREATER_OR_EQUAL_UINT8_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT8((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_GREATER_OR_EQUAL_UINT16_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT16((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_GREATER_OR_EQUAL_UINT32_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT32((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_GREATER_OR_EQUAL_UINT64_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT64((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_GREATER_OR_EQUAL_size_t_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_GREATER_OR_EQUAL_HEX8_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX8((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_GREATER_OR_EQUAL_HEX16_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX16((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_GREATER_OR_EQUAL_HEX32_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX32((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_GREATER_OR_EQUAL_HEX64_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX64((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_GREATER_OR_EQUAL_CHAR_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_CHAR((threshold), (actual), __LINE__, __VA_ARGS__) + +#define TEST_ASSERT_LESS_OR_EQUAL_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_LESS_OR_EQUAL_INT_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_LESS_OR_EQUAL_INT8_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT8((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_LESS_OR_EQUAL_INT16_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT16((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_LESS_OR_EQUAL_INT32_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT32((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_LESS_OR_EQUAL_INT64_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT64((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_LESS_OR_EQUAL_UINT_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_LESS_OR_EQUAL_UINT8_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT8((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_LESS_OR_EQUAL_UINT16_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT16((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_LESS_OR_EQUAL_UINT32_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT32((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_LESS_OR_EQUAL_UINT64_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT64((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_LESS_OR_EQUAL_size_t_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_LESS_OR_EQUAL_HEX8_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX8((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_LESS_OR_EQUAL_HEX16_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX16((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_LESS_OR_EQUAL_HEX32_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX32((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_LESS_OR_EQUAL_HEX64_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64((threshold), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_LESS_OR_EQUAL_CHAR_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_CHAR((threshold), (actual), __LINE__, __VA_ARGS__) +#endif /* Integer Ranges (of all sizes) */ #define TEST_ASSERT_INT_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_INT_WITHIN((delta), (expected), (actual), __LINE__, (message)) #define TEST_ASSERT_INT8_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_INT8_WITHIN((delta), (expected), (actual), __LINE__, (message)) diff --git a/src/unity_internals.h b/src/unity_internals.h index 2246e670..dc6c86fe 100644 --- a/src/unity_internals.h +++ b/src/unity_internals.h @@ -558,9 +558,9 @@ void UnityAssertEqualNumber(const UNITY_INT expected, void UnityAssertGreaterOrLessOrEqualNumber(const UNITY_INT threshold, const UNITY_INT actual, const UNITY_COMPARISON_T compare, - const char *msg, const UNITY_LINE_TYPE lineNumber, - const UNITY_DISPLAY_STYLE_T style); + const UNITY_DISPLAY_STYLE_T style, + const char* msg VA_ARGS_IF_ENABLED); void UnityAssertEqualIntArray(UNITY_INTERNAL_PTR expected, UNITY_INTERNAL_PTR actual, @@ -819,71 +819,137 @@ int UnityTestMatches(void); #define UNITY_TEST_ASSERT_BITS(mask, expected, actual, line, ...) UnityAssertBits((UNITY_INT)(mask), (UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), __VA_ARGS__) #endif -#define UNITY_TEST_ASSERT_NOT_EQUAL_INT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) -#define UNITY_TEST_ASSERT_NOT_EQUAL_INT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) -#define UNITY_TEST_ASSERT_NOT_EQUAL_INT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16)(threshold), (UNITY_INT)(UNITY_INT16)(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) -#define UNITY_TEST_ASSERT_NOT_EQUAL_INT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32)(threshold), (UNITY_INT)(UNITY_INT32)(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) -#define UNITY_TEST_ASSERT_NOT_EQUAL_UINT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) -#define UNITY_TEST_ASSERT_NOT_EQUAL_UINT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) -#define UNITY_TEST_ASSERT_NOT_EQUAL_UINT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) -#define UNITY_TEST_ASSERT_NOT_EQUAL_UINT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) -#define UNITY_TEST_ASSERT_NOT_EQUAL_HEX8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) -#define UNITY_TEST_ASSERT_NOT_EQUAL_HEX16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) -#define UNITY_TEST_ASSERT_NOT_EQUAL_HEX32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) -#define UNITY_TEST_ASSERT_NOT_EQUAL_CHAR(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR) - -#define UNITY_TEST_ASSERT_GREATER_THAN_INT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) -#define UNITY_TEST_ASSERT_GREATER_THAN_INT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) -#define UNITY_TEST_ASSERT_GREATER_THAN_INT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16)(threshold), (UNITY_INT)(UNITY_INT16)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) -#define UNITY_TEST_ASSERT_GREATER_THAN_INT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32)(threshold), (UNITY_INT)(UNITY_INT32)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) -#define UNITY_TEST_ASSERT_GREATER_THAN_UINT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) -#define UNITY_TEST_ASSERT_GREATER_THAN_UINT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) -#define UNITY_TEST_ASSERT_GREATER_THAN_UINT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) -#define UNITY_TEST_ASSERT_GREATER_THAN_UINT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) -#define UNITY_TEST_ASSERT_GREATER_THAN_HEX8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) -#define UNITY_TEST_ASSERT_GREATER_THAN_HEX16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) -#define UNITY_TEST_ASSERT_GREATER_THAN_HEX32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) -#define UNITY_TEST_ASSERT_GREATER_THAN_CHAR(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR) - -#define UNITY_TEST_ASSERT_SMALLER_THAN_INT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) -#define UNITY_TEST_ASSERT_SMALLER_THAN_INT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) -#define UNITY_TEST_ASSERT_SMALLER_THAN_INT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16)(threshold), (UNITY_INT)(UNITY_INT16)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) -#define UNITY_TEST_ASSERT_SMALLER_THAN_INT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32)(threshold), (UNITY_INT)(UNITY_INT32)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) -#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) -#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) -#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) -#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) -#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) -#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) -#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) -#define UNITY_TEST_ASSERT_SMALLER_THAN_CHAR(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR) - -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT) (threshold), (UNITY_INT) (actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 ) (threshold), (UNITY_INT)(UNITY_INT8 ) (actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16) (threshold), (UNITY_INT)(UNITY_INT16) (actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32) (threshold), (UNITY_INT)(UNITY_INT32) (actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT) (threshold), (UNITY_INT) (actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_CHAR(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 ) (threshold), (UNITY_INT)(UNITY_INT8 ) (actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR) - -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT) (threshold), (UNITY_INT) (actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 ) (actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16)(threshold), (UNITY_INT)(UNITY_INT16) (actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32)(threshold), (UNITY_INT)(UNITY_INT32) (actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT) (threshold), (UNITY_INT) (actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_CHAR(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 ) (actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR) - +#ifndef UNITY_INCLUDE_PRINT_FORMATTED +#define UNITY_TEST_ASSERT_NOT_EQUAL_INT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, (message)) +#define UNITY_TEST_ASSERT_NOT_EQUAL_INT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, (message)) +#define UNITY_TEST_ASSERT_NOT_EQUAL_INT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16)(threshold), (UNITY_INT)(UNITY_INT16)(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, (message)) +#define UNITY_TEST_ASSERT_NOT_EQUAL_INT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32)(threshold), (UNITY_INT)(UNITY_INT32)(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, (message)) +#define UNITY_TEST_ASSERT_NOT_EQUAL_UINT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, (message)) +#define UNITY_TEST_ASSERT_NOT_EQUAL_UINT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, (message)) +#define UNITY_TEST_ASSERT_NOT_EQUAL_UINT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, (message)) +#define UNITY_TEST_ASSERT_NOT_EQUAL_UINT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, (message)) +#define UNITY_TEST_ASSERT_NOT_EQUAL_HEX8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, (message)) +#define UNITY_TEST_ASSERT_NOT_EQUAL_HEX16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, (message)) +#define UNITY_TEST_ASSERT_NOT_EQUAL_HEX32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, (message)) +#define UNITY_TEST_ASSERT_NOT_EQUAL_CHAR(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, (message)) + +#define UNITY_TEST_ASSERT_GREATER_THAN_INT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, (message)) +#define UNITY_TEST_ASSERT_GREATER_THAN_INT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_GREATER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, (message)) +#define UNITY_TEST_ASSERT_GREATER_THAN_INT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16)(threshold), (UNITY_INT)(UNITY_INT16)(actual), UNITY_GREATER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, (message)) +#define UNITY_TEST_ASSERT_GREATER_THAN_INT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32)(threshold), (UNITY_INT)(UNITY_INT32)(actual), UNITY_GREATER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, (message)) +#define UNITY_TEST_ASSERT_GREATER_THAN_UINT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, (message)) +#define UNITY_TEST_ASSERT_GREATER_THAN_UINT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_GREATER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, (message)) +#define UNITY_TEST_ASSERT_GREATER_THAN_UINT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_GREATER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, (message)) +#define UNITY_TEST_ASSERT_GREATER_THAN_UINT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_GREATER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, (message)) +#define UNITY_TEST_ASSERT_GREATER_THAN_HEX8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_GREATER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, (message)) +#define UNITY_TEST_ASSERT_GREATER_THAN_HEX16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_GREATER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, (message)) +#define UNITY_TEST_ASSERT_GREATER_THAN_HEX32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_GREATER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, (message)) +#define UNITY_TEST_ASSERT_GREATER_THAN_CHAR(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_GREATER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, (message)) + +#define UNITY_TEST_ASSERT_SMALLER_THAN_INT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, (message)) +#define UNITY_TEST_ASSERT_SMALLER_THAN_INT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_SMALLER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, (message)) +#define UNITY_TEST_ASSERT_SMALLER_THAN_INT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16)(threshold), (UNITY_INT)(UNITY_INT16)(actual), UNITY_SMALLER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, (message)) +#define UNITY_TEST_ASSERT_SMALLER_THAN_INT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32)(threshold), (UNITY_INT)(UNITY_INT32)(actual), UNITY_SMALLER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, (message)) +#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, (message)) +#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_SMALLER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, (message)) +#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_SMALLER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, (message)) +#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_SMALLER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, (message)) +#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_SMALLER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, (message)) +#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_SMALLER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, (message)) +#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_SMALLER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, (message)) +#define UNITY_TEST_ASSERT_SMALLER_THAN_CHAR(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_SMALLER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, (message)) + +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT) (threshold), (UNITY_INT) (actual), UNITY_GREATER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, (message)) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 ) (threshold), (UNITY_INT)(UNITY_INT8 ) (actual), UNITY_GREATER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, (message)) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16) (threshold), (UNITY_INT)(UNITY_INT16) (actual), UNITY_GREATER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, (message)) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32) (threshold), (UNITY_INT)(UNITY_INT32) (actual), UNITY_GREATER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, (message)) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT) (threshold), (UNITY_INT) (actual), UNITY_GREATER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, (message)) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_GREATER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, (message)) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_GREATER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, (message)) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_GREATER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, (message)) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_GREATER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, (message)) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_GREATER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, (message)) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_GREATER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, (message)) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_CHAR(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 ) (threshold), (UNITY_INT)(UNITY_INT8 ) (actual), UNITY_GREATER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, (message)) + +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT) (threshold), (UNITY_INT) (actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, (message)) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 ) (actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, (message)) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16)(threshold), (UNITY_INT)(UNITY_INT16) (actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, (message)) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32)(threshold), (UNITY_INT)(UNITY_INT32) (actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, (message)) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT) (threshold), (UNITY_INT) (actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, (message)) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, (message)) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, (message)) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, (message)) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, (message)) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, (message)) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, (message)) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_CHAR(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 ) (actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, (message)) +#else +#define UNITY_TEST_ASSERT_NOT_EQUAL_INT(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, __VA_ARGS__) +#define UNITY_TEST_ASSERT_NOT_EQUAL_INT8(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, __VA_ARGS__) +#define UNITY_TEST_ASSERT_NOT_EQUAL_INT16(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16)(threshold), (UNITY_INT)(UNITY_INT16)(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, __VA_ARGS__) +#define UNITY_TEST_ASSERT_NOT_EQUAL_INT32(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32)(threshold), (UNITY_INT)(UNITY_INT32)(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, __VA_ARGS__) +#define UNITY_TEST_ASSERT_NOT_EQUAL_UINT(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, __VA_ARGS__) +#define UNITY_TEST_ASSERT_NOT_EQUAL_UINT8(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, __VA_ARGS__) +#define UNITY_TEST_ASSERT_NOT_EQUAL_UINT16(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, __VA_ARGS__) +#define UNITY_TEST_ASSERT_NOT_EQUAL_UINT32(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, __VA_ARGS__) +#define UNITY_TEST_ASSERT_NOT_EQUAL_HEX8(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, __VA_ARGS__) +#define UNITY_TEST_ASSERT_NOT_EQUAL_HEX16(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, __VA_ARGS__) +#define UNITY_TEST_ASSERT_NOT_EQUAL_HEX32(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, __VA_ARGS__) +#define UNITY_TEST_ASSERT_NOT_EQUAL_CHAR(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, __VA_ARGS__) + +#define UNITY_TEST_ASSERT_GREATER_THAN_INT(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, __VA_ARGS__) +#define UNITY_TEST_ASSERT_GREATER_THAN_INT8(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_GREATER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, __VA_ARGS__) +#define UNITY_TEST_ASSERT_GREATER_THAN_INT16(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16)(threshold), (UNITY_INT)(UNITY_INT16)(actual), UNITY_GREATER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, __VA_ARGS__) +#define UNITY_TEST_ASSERT_GREATER_THAN_INT32(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32)(threshold), (UNITY_INT)(UNITY_INT32)(actual), UNITY_GREATER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, __VA_ARGS__) +#define UNITY_TEST_ASSERT_GREATER_THAN_UINT(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, __VA_ARGS__) +#define UNITY_TEST_ASSERT_GREATER_THAN_UINT8(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_GREATER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, __VA_ARGS__) +#define UNITY_TEST_ASSERT_GREATER_THAN_UINT16(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_GREATER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, __VA_ARGS__) +#define UNITY_TEST_ASSERT_GREATER_THAN_UINT32(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_GREATER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, __VA_ARGS__) +#define UNITY_TEST_ASSERT_GREATER_THAN_HEX8(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_GREATER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, __VA_ARGS__) +#define UNITY_TEST_ASSERT_GREATER_THAN_HEX16(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_GREATER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, __VA_ARGS__) +#define UNITY_TEST_ASSERT_GREATER_THAN_HEX32(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_GREATER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, __VA_ARGS__) +#define UNITY_TEST_ASSERT_GREATER_THAN_CHAR(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_GREATER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, __VA_ARGS__) + +#define UNITY_TEST_ASSERT_SMALLER_THAN_INT(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, __VA_ARGS__) +#define UNITY_TEST_ASSERT_SMALLER_THAN_INT8(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_SMALLER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, __VA_ARGS__) +#define UNITY_TEST_ASSERT_SMALLER_THAN_INT16(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16)(threshold), (UNITY_INT)(UNITY_INT16)(actual), UNITY_SMALLER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, __VA_ARGS__) +#define UNITY_TEST_ASSERT_SMALLER_THAN_INT32(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32)(threshold), (UNITY_INT)(UNITY_INT32)(actual), UNITY_SMALLER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, __VA_ARGS__) +#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, __VA_ARGS__) +#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT8(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_SMALLER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, __VA_ARGS__) +#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT16(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_SMALLER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, __VA_ARGS__) +#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT32(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_SMALLER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, __VA_ARGS__) +#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX8(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_SMALLER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, __VA_ARGS__) +#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX16(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_SMALLER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, __VA_ARGS__) +#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX32(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_SMALLER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, __VA_ARGS__) +#define UNITY_TEST_ASSERT_SMALLER_THAN_CHAR(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_SMALLER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, __VA_ARGS__) + +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT) (threshold), (UNITY_INT) (actual), UNITY_GREATER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, __VA_ARGS__) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT8(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 ) (threshold), (UNITY_INT)(UNITY_INT8 ) (actual), UNITY_GREATER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, __VA_ARGS__) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT16(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16) (threshold), (UNITY_INT)(UNITY_INT16) (actual), UNITY_GREATER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, __VA_ARGS__) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT32(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32) (threshold), (UNITY_INT)(UNITY_INT32) (actual), UNITY_GREATER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, __VA_ARGS__) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT) (threshold), (UNITY_INT) (actual), UNITY_GREATER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, __VA_ARGS__) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT8(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_GREATER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, __VA_ARGS__) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT16(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_GREATER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, __VA_ARGS__) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT32(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_GREATER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, __VA_ARGS__) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX8(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_GREATER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, __VA_ARGS__) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX16(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_GREATER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, __VA_ARGS__) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX32(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_GREATER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, __VA_ARGS__) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_CHAR(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 ) (threshold), (UNITY_INT)(UNITY_INT8 ) (actual), UNITY_GREATER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, __VA_ARGS__) + +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT) (threshold), (UNITY_INT) (actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, __VA_ARGS__) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT8(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 ) (actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, __VA_ARGS__) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT16(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16)(threshold), (UNITY_INT)(UNITY_INT16) (actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, __VA_ARGS__) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT32(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32)(threshold), (UNITY_INT)(UNITY_INT32) (actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, __VA_ARGS__) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT) (threshold), (UNITY_INT) (actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, __VA_ARGS__) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT8(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, __VA_ARGS__) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT16(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, __VA_ARGS__) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT32(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, __VA_ARGS__) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX8(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, __VA_ARGS__) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX16(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, __VA_ARGS__) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX32(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, __VA_ARGS__) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_CHAR(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 ) (actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, __VA_ARGS__) +#endif #define UNITY_TEST_ASSERT_INT_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin( (delta), (UNITY_INT) (expected), (UNITY_INT) (actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) #define UNITY_TEST_ASSERT_INT8_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT8 )(delta), (UNITY_INT)(UNITY_INT8 ) (expected), (UNITY_INT)(UNITY_INT8 ) (actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) #define UNITY_TEST_ASSERT_INT16_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT16)(delta), (UNITY_INT)(UNITY_INT16) (expected), (UNITY_INT)(UNITY_INT16) (actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) @@ -967,21 +1033,39 @@ int UnityTestMatches(void); #define UNITY_TEST_ASSERT_INT64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) #define UNITY_TEST_ASSERT_UINT64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) #define UNITY_TEST_ASSERT_HEX64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) -#define UNITY_TEST_ASSERT_NOT_EQUAL_INT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) -#define UNITY_TEST_ASSERT_NOT_EQUAL_UINT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) -#define UNITY_TEST_ASSERT_NOT_EQUAL_HEX64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) -#define UNITY_TEST_ASSERT_GREATER_THAN_INT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) -#define UNITY_TEST_ASSERT_GREATER_THAN_UINT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) -#define UNITY_TEST_ASSERT_GREATER_THAN_HEX64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) -#define UNITY_TEST_ASSERT_SMALLER_THAN_INT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) -#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) -#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) +#ifndef UNITY_INCLUDE_PRINT_FORMATTED +#define UNITY_TEST_ASSERT_NOT_EQUAL_INT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, (message)) +#define UNITY_TEST_ASSERT_NOT_EQUAL_UINT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, (message)) +#define UNITY_TEST_ASSERT_NOT_EQUAL_HEX64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, (message)) +#define UNITY_TEST_ASSERT_GREATER_THAN_INT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, (message)) +#define UNITY_TEST_ASSERT_GREATER_THAN_UINT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, (message)) +#define UNITY_TEST_ASSERT_GREATER_THAN_HEX64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, (message)) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, (message)) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, (message)) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, (message)) +#define UNITY_TEST_ASSERT_SMALLER_THAN_INT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, (message)) +#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, (message)) +#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, (message)) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, (message)) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, (message)) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, (message)) +#else +#define UNITY_TEST_ASSERT_NOT_EQUAL_INT64(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, __VA_ARGS__) +#define UNITY_TEST_ASSERT_NOT_EQUAL_UINT64(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, __VA_ARGS__) +#define UNITY_TEST_ASSERT_NOT_EQUAL_HEX64(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, __VA_ARGS__) +#define UNITY_TEST_ASSERT_GREATER_THAN_INT64(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, __VA_ARGS__) +#define UNITY_TEST_ASSERT_GREATER_THAN_UINT64(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, __VA_ARGS__) +#define UNITY_TEST_ASSERT_GREATER_THAN_HEX64(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, __VA_ARGS__) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT64(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, __VA_ARGS__) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT64(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, __VA_ARGS__) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX64(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, __VA_ARGS__) +#define UNITY_TEST_ASSERT_SMALLER_THAN_INT64(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, __VA_ARGS__) +#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT64(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, __VA_ARGS__) +#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX64(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, __VA_ARGS__) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT64(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, __VA_ARGS__) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT64(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, __VA_ARGS__) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, __VA_ARGS__) +#endif #define UNITY_TEST_ASSERT_INT64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT64)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, UNITY_ARRAY_TO_ARRAY) #define UNITY_TEST_ASSERT_UINT64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT64)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, UNITY_ARRAY_TO_ARRAY) #define UNITY_TEST_ASSERT_HEX64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT64)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, UNITY_ARRAY_TO_ARRAY) From 4aec5d9f240e4e00ff258a67708c9eef83dde892 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alari=20=C3=95is?= Date: Thu, 7 May 2020 08:12:36 +0300 Subject: [PATCH 04/12] printf style formatting support for UnityAssertNumbersWithin --- src/unity.c | 13 +++++++--- src/unity.h | 21 ++++++++++++++++- src/unity_internals.h | 55 ++++++++++++++++++++++++++++++------------- 3 files changed, 68 insertions(+), 21 deletions(-) diff --git a/src/unity.c b/src/unity.c index 4dc108c4..41b580f1 100644 --- a/src/unity.c +++ b/src/unity.c @@ -1235,9 +1235,9 @@ void UnityAssertDoubleSpecial(const UNITY_DOUBLE actual, void UnityAssertNumbersWithin(const UNITY_UINT delta, const UNITY_INT expected, const UNITY_INT actual, - const char* msg, const UNITY_LINE_TYPE lineNumber, - const UNITY_DISPLAY_STYLE_T style) + const UNITY_DISPLAY_STYLE_T style, + const char* msg VA_ARGS_IF_ENABLED) { RETURN_IF_FAIL_OR_IGNORE; @@ -1273,7 +1273,14 @@ void UnityAssertNumbersWithin(const UNITY_UINT delta, UnityPrintNumberByStyle(expected, style); UnityPrint(UnityStrWas); UnityPrintNumberByStyle(actual, style); - UnityAddMsgIfSpecified(msg); + #ifdef UNITY_INCLUDE_PRINT_FORMATTED + va_list va; + va_start(va, msg); + UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg, va); + va_end(va); + #else + UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg); + #endif UNITY_FAIL_AND_BAIL; } } diff --git a/src/unity.h b/src/unity.h index e53d455a..ed8f2de1 100644 --- a/src/unity.h +++ b/src/unity.h @@ -653,6 +653,7 @@ void verifyTest(void); #define TEST_ASSERT_LESS_OR_EQUAL_CHAR_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_CHAR((threshold), (actual), __LINE__, __VA_ARGS__) #endif /* Integer Ranges (of all sizes) */ +#ifndef UNITY_INCLUDE_PRINT_FORMATTED #define TEST_ASSERT_INT_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_INT_WITHIN((delta), (expected), (actual), __LINE__, (message)) #define TEST_ASSERT_INT8_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_INT8_WITHIN((delta), (expected), (actual), __LINE__, (message)) #define TEST_ASSERT_INT16_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_INT16_WITHIN((delta), (expected), (actual), __LINE__, (message)) @@ -670,7 +671,25 @@ void verifyTest(void); #define TEST_ASSERT_HEX32_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_HEX32_WITHIN((delta), (expected), (actual), __LINE__, (message)) #define TEST_ASSERT_HEX64_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_HEX64_WITHIN((delta), (expected), (actual), __LINE__, (message)) #define TEST_ASSERT_CHAR_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_CHAR_WITHIN((delta), (expected), (actual), __LINE__, (message)) - +#else +#define TEST_ASSERT_INT_WITHIN_MESSAGE(delta, expected, actual, ...) UNITY_TEST_ASSERT_INT_WITHIN((delta), (expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_INT8_WITHIN_MESSAGE(delta, expected, actual, ...) UNITY_TEST_ASSERT_INT8_WITHIN((delta), (expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_INT16_WITHIN_MESSAGE(delta, expected, actual, ...) UNITY_TEST_ASSERT_INT16_WITHIN((delta), (expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_INT32_WITHIN_MESSAGE(delta, expected, actual, ...) UNITY_TEST_ASSERT_INT32_WITHIN((delta), (expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_INT64_WITHIN_MESSAGE(delta, expected, actual, ...) UNITY_TEST_ASSERT_INT64_WITHIN((delta), (expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_UINT_WITHIN_MESSAGE(delta, expected, actual, ...) UNITY_TEST_ASSERT_UINT_WITHIN((delta), (expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_UINT8_WITHIN_MESSAGE(delta, expected, actual, ...) UNITY_TEST_ASSERT_UINT8_WITHIN((delta), (expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_UINT16_WITHIN_MESSAGE(delta, expected, actual, ...) UNITY_TEST_ASSERT_UINT16_WITHIN((delta), (expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_UINT32_WITHIN_MESSAGE(delta, expected, actual, ...) UNITY_TEST_ASSERT_UINT32_WITHIN((delta), (expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_UINT64_WITHIN_MESSAGE(delta, expected, actual, ...) UNITY_TEST_ASSERT_UINT64_WITHIN((delta), (expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_size_t_WITHIN_MESSAGE(delta, expected, actual, ...) UNITY_TEST_ASSERT_UINT_WITHIN((delta), (expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_HEX_WITHIN_MESSAGE(delta, expected, actual, ...) UNITY_TEST_ASSERT_HEX32_WITHIN((delta), (expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_HEX8_WITHIN_MESSAGE(delta, expected, actual, ...) UNITY_TEST_ASSERT_HEX8_WITHIN((delta), (expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_HEX16_WITHIN_MESSAGE(delta, expected, actual, ...) UNITY_TEST_ASSERT_HEX16_WITHIN((delta), (expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_HEX32_WITHIN_MESSAGE(delta, expected, actual, ...) UNITY_TEST_ASSERT_HEX32_WITHIN((delta), (expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_HEX64_WITHIN_MESSAGE(delta, expected, actual, ...) UNITY_TEST_ASSERT_HEX64_WITHIN((delta), (expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_CHAR_WITHIN_MESSAGE(delta, expected, actual, ...) UNITY_TEST_ASSERT_CHAR_WITHIN((delta), (expected), (actual), __LINE__, __VA_ARGS__) +#endif /* Integer Array Ranges (of all sizes) */ #define TEST_ASSERT_INT_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_INT_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) #define TEST_ASSERT_INT8_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_INT8_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) diff --git a/src/unity_internals.h b/src/unity_internals.h index dc6c86fe..b5fe5160 100644 --- a/src/unity_internals.h +++ b/src/unity_internals.h @@ -605,9 +605,9 @@ void UnityAssertEqualMemory( UNITY_INTERNAL_PTR expected, void UnityAssertNumbersWithin(const UNITY_UINT delta, const UNITY_INT expected, const UNITY_INT actual, - const char* msg, const UNITY_LINE_TYPE lineNumber, - const UNITY_DISPLAY_STYLE_T style); + const UNITY_DISPLAY_STYLE_T style, + const char* msg VA_ARGS_IF_ENABLED); void UnityAssertNumbersArrayWithin(const UNITY_UINT delta, UNITY_INTERNAL_PTR expected, @@ -950,19 +950,34 @@ int UnityTestMatches(void); #define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX32(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, __VA_ARGS__) #define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_CHAR(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 ) (actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, __VA_ARGS__) #endif -#define UNITY_TEST_ASSERT_INT_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin( (delta), (UNITY_INT) (expected), (UNITY_INT) (actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) -#define UNITY_TEST_ASSERT_INT8_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT8 )(delta), (UNITY_INT)(UNITY_INT8 ) (expected), (UNITY_INT)(UNITY_INT8 ) (actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) -#define UNITY_TEST_ASSERT_INT16_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT16)(delta), (UNITY_INT)(UNITY_INT16) (expected), (UNITY_INT)(UNITY_INT16) (actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) -#define UNITY_TEST_ASSERT_INT32_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT32)(delta), (UNITY_INT)(UNITY_INT32) (expected), (UNITY_INT)(UNITY_INT32) (actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) -#define UNITY_TEST_ASSERT_UINT_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin( (delta), (UNITY_INT) (expected), (UNITY_INT) (actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) -#define UNITY_TEST_ASSERT_UINT8_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT8 )(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT8 )(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) -#define UNITY_TEST_ASSERT_UINT16_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT16)(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT16)(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) -#define UNITY_TEST_ASSERT_UINT32_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT32)(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) -#define UNITY_TEST_ASSERT_HEX8_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT8 )(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT8 )(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) -#define UNITY_TEST_ASSERT_HEX16_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT16)(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT16)(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) -#define UNITY_TEST_ASSERT_HEX32_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT32)(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) -#define UNITY_TEST_ASSERT_CHAR_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT8 )(delta), (UNITY_INT)(UNITY_INT8 ) (expected), (UNITY_INT)(UNITY_INT8 ) (actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR) +#ifndef UNITY_INCLUDE_PRINT_FORMATTED +#define UNITY_TEST_ASSERT_INT_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin( (delta), (UNITY_INT) (expected), (UNITY_INT) (actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, (message)) +#define UNITY_TEST_ASSERT_INT8_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT8 )(delta), (UNITY_INT)(UNITY_INT8 ) (expected), (UNITY_INT)(UNITY_INT8 ) (actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, (message)) +#define UNITY_TEST_ASSERT_INT16_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT16)(delta), (UNITY_INT)(UNITY_INT16) (expected), (UNITY_INT)(UNITY_INT16) (actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, (message)) +#define UNITY_TEST_ASSERT_INT32_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT32)(delta), (UNITY_INT)(UNITY_INT32) (expected), (UNITY_INT)(UNITY_INT32) (actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, (message)) +#define UNITY_TEST_ASSERT_UINT_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin( (delta), (UNITY_INT) (expected), (UNITY_INT) (actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, (message)) +#define UNITY_TEST_ASSERT_UINT8_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT8 )(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT8 )(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT8 )(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, (message)) +#define UNITY_TEST_ASSERT_UINT16_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT16)(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT16)(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT16)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, (message)) +#define UNITY_TEST_ASSERT_UINT32_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT32)(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, (message)) +#define UNITY_TEST_ASSERT_HEX8_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT8 )(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT8 )(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT8 )(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, (message)) +#define UNITY_TEST_ASSERT_HEX16_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT16)(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT16)(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT16)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, (message)) +#define UNITY_TEST_ASSERT_HEX32_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT32)(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, (message)) +#define UNITY_TEST_ASSERT_CHAR_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT8 )(delta), (UNITY_INT)(UNITY_INT8 ) (expected), (UNITY_INT)(UNITY_INT8 ) (actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, (message)) +#else +#define UNITY_TEST_ASSERT_INT_WITHIN(delta, expected, actual, line, ...) UnityAssertNumbersWithin( (delta), (UNITY_INT) (expected), (UNITY_INT) (actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, __VA_ARGS__) +#define UNITY_TEST_ASSERT_INT8_WITHIN(delta, expected, actual, line, ...) UnityAssertNumbersWithin((UNITY_UINT8 )(delta), (UNITY_INT)(UNITY_INT8 ) (expected), (UNITY_INT)(UNITY_INT8 ) (actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, __VA_ARGS__) +#define UNITY_TEST_ASSERT_INT16_WITHIN(delta, expected, actual, line, ...) UnityAssertNumbersWithin((UNITY_UINT16)(delta), (UNITY_INT)(UNITY_INT16) (expected), (UNITY_INT)(UNITY_INT16) (actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, __VA_ARGS__) +#define UNITY_TEST_ASSERT_INT32_WITHIN(delta, expected, actual, line, ...) UnityAssertNumbersWithin((UNITY_UINT32)(delta), (UNITY_INT)(UNITY_INT32) (expected), (UNITY_INT)(UNITY_INT32) (actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, __VA_ARGS__) +#define UNITY_TEST_ASSERT_UINT_WITHIN(delta, expected, actual, line, ...) UnityAssertNumbersWithin( (delta), (UNITY_INT) (expected), (UNITY_INT) (actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, __VA_ARGS__) +#define UNITY_TEST_ASSERT_UINT8_WITHIN(delta, expected, actual, line, ...) UnityAssertNumbersWithin((UNITY_UINT8 )(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT8 )(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT8 )(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, __VA_ARGS__) +#define UNITY_TEST_ASSERT_UINT16_WITHIN(delta, expected, actual, line, ...) UnityAssertNumbersWithin((UNITY_UINT16)(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT16)(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT16)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, __VA_ARGS__) +#define UNITY_TEST_ASSERT_UINT32_WITHIN(delta, expected, actual, line, ...) UnityAssertNumbersWithin((UNITY_UINT32)(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, __VA_ARGS__) +#define UNITY_TEST_ASSERT_HEX8_WITHIN(delta, expected, actual, line, ...) UnityAssertNumbersWithin((UNITY_UINT8 )(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT8 )(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT8 )(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, __VA_ARGS__) +#define UNITY_TEST_ASSERT_HEX16_WITHIN(delta, expected, actual, line, ...) UnityAssertNumbersWithin((UNITY_UINT16)(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT16)(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT16)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, __VA_ARGS__) +#define UNITY_TEST_ASSERT_HEX32_WITHIN(delta, expected, actual, line, ...) UnityAssertNumbersWithin((UNITY_UINT32)(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, __VA_ARGS__) +#define UNITY_TEST_ASSERT_CHAR_WITHIN(delta, expected, actual, line, ...) UnityAssertNumbersWithin((UNITY_UINT8 )(delta), (UNITY_INT)(UNITY_INT8 ) (expected), (UNITY_INT)(UNITY_INT8 ) (actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, __VA_ARGS__) +#endif #define UNITY_TEST_ASSERT_INT_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin( (delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, UNITY_ARRAY_TO_ARRAY) #define UNITY_TEST_ASSERT_INT8_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT8 )(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, UNITY_ARRAY_TO_ARRAY) #define UNITY_TEST_ASSERT_INT16_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT16)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, UNITY_ARRAY_TO_ARRAY) @@ -1030,9 +1045,15 @@ int UnityTestMatches(void); #define UNITY_TEST_ASSERT_EACH_EQUAL_INT64(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT64)(expected), 8), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, UNITY_ARRAY_TO_VAL) #define UNITY_TEST_ASSERT_EACH_EQUAL_UINT64(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT64)(expected), 8), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, UNITY_ARRAY_TO_VAL) #define UNITY_TEST_ASSERT_EACH_EQUAL_HEX64(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT64)(expected), 8), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_INT64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) -#define UNITY_TEST_ASSERT_UINT64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) -#define UNITY_TEST_ASSERT_HEX64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) +#ifndef UNITY_INCLUDE_PRINT_FORMATTED +#define UNITY_TEST_ASSERT_INT64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, (message)) +#define UNITY_TEST_ASSERT_UINT64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, (message)) +#define UNITY_TEST_ASSERT_HEX64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, (message)) +#else +#define UNITY_TEST_ASSERT_INT64_WITHIN(delta, expected, actual, line, ...) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, __VA_ARGS__) +#define UNITY_TEST_ASSERT_UINT64_WITHIN(delta, expected, actual, line, ...) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, __VA_ARGS__) +#define UNITY_TEST_ASSERT_HEX64_WITHIN(delta, expected, actual, line, ...) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, __VA_ARGS__) +#endif #ifndef UNITY_INCLUDE_PRINT_FORMATTED #define UNITY_TEST_ASSERT_NOT_EQUAL_INT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, (message)) #define UNITY_TEST_ASSERT_NOT_EQUAL_UINT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, (message)) From ef596af027f3a286d7952d0b572b0fff5ddec0fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alari=20=C3=95is?= Date: Thu, 7 May 2020 08:40:57 +0300 Subject: [PATCH 05/12] printf style formatting support for UnityAssertNumbersArrayWithin --- src/unity.c | 13 +++++++--- src/unity.h | 21 +++++++++++++++- src/unity_internals.h | 56 +++++++++++++++++++++++++++++-------------- 3 files changed, 68 insertions(+), 22 deletions(-) diff --git a/src/unity.c b/src/unity.c index 41b580f1..5779cfc7 100644 --- a/src/unity.c +++ b/src/unity.c @@ -1290,10 +1290,10 @@ void UnityAssertNumbersArrayWithin(const UNITY_UINT delta, UNITY_INTERNAL_PTR expected, UNITY_INTERNAL_PTR actual, const UNITY_UINT32 num_elements, - const char* msg, const UNITY_LINE_TYPE lineNumber, const UNITY_DISPLAY_STYLE_T style, - const UNITY_FLAGS_T flags) + const UNITY_FLAGS_T flags, + const char* msg VA_ARGS_IF_ENABLED) { UNITY_UINT32 elements = num_elements; unsigned int length = style & 0xF; @@ -1393,7 +1393,14 @@ void UnityAssertNumbersArrayWithin(const UNITY_UINT delta, UnityPrintNumberByStyle(expect_val, style); UnityPrint(UnityStrWas); UnityPrintNumberByStyle(actual_val, style); - UnityAddMsgIfSpecified(msg); + #ifdef UNITY_INCLUDE_PRINT_FORMATTED + va_list va; + va_start(va, msg); + UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg, va); + va_end(va); + #else + UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg); + #endif UNITY_FAIL_AND_BAIL; } /* Walk through array by incrementing the pointers */ diff --git a/src/unity.h b/src/unity.h index ed8f2de1..cb05f89d 100644 --- a/src/unity.h +++ b/src/unity.h @@ -691,6 +691,7 @@ void verifyTest(void); #define TEST_ASSERT_CHAR_WITHIN_MESSAGE(delta, expected, actual, ...) UNITY_TEST_ASSERT_CHAR_WITHIN((delta), (expected), (actual), __LINE__, __VA_ARGS__) #endif /* Integer Array Ranges (of all sizes) */ +#ifndef UNITY_INCLUDE_PRINT_FORMATTED #define TEST_ASSERT_INT_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_INT_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) #define TEST_ASSERT_INT8_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_INT8_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) #define TEST_ASSERT_INT16_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_INT16_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) @@ -708,7 +709,25 @@ void verifyTest(void); #define TEST_ASSERT_HEX32_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_HEX32_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) #define TEST_ASSERT_HEX64_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_HEX64_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) #define TEST_ASSERT_CHAR_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_CHAR_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) - +#else +#define TEST_ASSERT_INT_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, ...) UNITY_TEST_ASSERT_INT_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, __VA_ARGS__) +#define TEST_ASSERT_INT8_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, ...) UNITY_TEST_ASSERT_INT8_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, __VA_ARGS__) +#define TEST_ASSERT_INT16_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, ...) UNITY_TEST_ASSERT_INT16_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, __VA_ARGS__) +#define TEST_ASSERT_INT32_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, ...) UNITY_TEST_ASSERT_INT32_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, __VA_ARGS__) +#define TEST_ASSERT_INT64_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, ...) UNITY_TEST_ASSERT_INT64_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, __VA_ARGS__) +#define TEST_ASSERT_UINT_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, ...) UNITY_TEST_ASSERT_UINT_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, __VA_ARGS__) +#define TEST_ASSERT_UINT8_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, ...) UNITY_TEST_ASSERT_UINT8_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, __VA_ARGS__) +#define TEST_ASSERT_UINT16_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, ...) UNITY_TEST_ASSERT_UINT16_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, __VA_ARGS__) +#define TEST_ASSERT_UINT32_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, ...) UNITY_TEST_ASSERT_UINT32_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, __VA_ARGS__) +#define TEST_ASSERT_UINT64_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, ...) UNITY_TEST_ASSERT_UINT64_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, __VA_ARGS__) +#define TEST_ASSERT_size_t_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, ...) UNITY_TEST_ASSERT_UINT_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, __VA_ARGS__) +#define TEST_ASSERT_HEX_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, ...) UNITY_TEST_ASSERT_HEX32_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, __VA_ARGS__) +#define TEST_ASSERT_HEX8_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, ...) UNITY_TEST_ASSERT_HEX8_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, __VA_ARGS__) +#define TEST_ASSERT_HEX16_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, ...) UNITY_TEST_ASSERT_HEX16_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, __VA_ARGS__) +#define TEST_ASSERT_HEX32_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, ...) UNITY_TEST_ASSERT_HEX32_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, __VA_ARGS__) +#define TEST_ASSERT_HEX64_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, ...) UNITY_TEST_ASSERT_HEX64_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, __VA_ARGS__) +#define TEST_ASSERT_CHAR_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, ...) UNITY_TEST_ASSERT_CHAR_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, __VA_ARGS__) +#endif /* Structs and Strings */ #define TEST_ASSERT_EQUAL_PTR_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_PTR((expected), (actual), __LINE__, (message)) diff --git a/src/unity_internals.h b/src/unity_internals.h index b5fe5160..33db3f89 100644 --- a/src/unity_internals.h +++ b/src/unity_internals.h @@ -613,10 +613,10 @@ void UnityAssertNumbersArrayWithin(const UNITY_UINT delta, UNITY_INTERNAL_PTR expected, UNITY_INTERNAL_PTR actual, const UNITY_UINT32 num_elements, - const char* msg, const UNITY_LINE_TYPE lineNumber, const UNITY_DISPLAY_STYLE_T style, - const UNITY_FLAGS_T flags); + const UNITY_FLAGS_T flags, + const char* msg VA_ARGS_IF_ENABLED); void UnityFail(const UNITY_LINE_TYPE line, const char* message VA_ARGS_IF_ENABLED); void UnityIgnore(const UNITY_LINE_TYPE line, const char* message VA_ARGS_IF_ENABLED); @@ -978,19 +978,33 @@ int UnityTestMatches(void); #define UNITY_TEST_ASSERT_HEX32_WITHIN(delta, expected, actual, line, ...) UnityAssertNumbersWithin((UNITY_UINT32)(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, __VA_ARGS__) #define UNITY_TEST_ASSERT_CHAR_WITHIN(delta, expected, actual, line, ...) UnityAssertNumbersWithin((UNITY_UINT8 )(delta), (UNITY_INT)(UNITY_INT8 ) (expected), (UNITY_INT)(UNITY_INT8 ) (actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, __VA_ARGS__) #endif -#define UNITY_TEST_ASSERT_INT_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin( (delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_INT8_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT8 )(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_INT16_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT16)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_INT32_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT32)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_UINT_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin( (delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_UINT8_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin( (UNITY_UINT16)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_UINT16_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT16)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_UINT32_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT32)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_HEX8_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT8 )(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_HEX16_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT16)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_HEX32_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT32)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_CHAR_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT8 )(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, UNITY_ARRAY_TO_ARRAY) - +#ifndef UNITY_INCLUDE_PRINT_FORMATTED +#define UNITY_TEST_ASSERT_INT_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin( (delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, UNITY_ARRAY_TO_ARRAY, (message)) +#define UNITY_TEST_ASSERT_INT8_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT8 )(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, UNITY_ARRAY_TO_ARRAY, (message)) +#define UNITY_TEST_ASSERT_INT16_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT16)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, UNITY_ARRAY_TO_ARRAY, (message)) +#define UNITY_TEST_ASSERT_INT32_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT32)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, UNITY_ARRAY_TO_ARRAY, (message)) +#define UNITY_TEST_ASSERT_UINT_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin( (delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, UNITY_ARRAY_TO_ARRAY, (message)) +#define UNITY_TEST_ASSERT_UINT8_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT16)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, UNITY_ARRAY_TO_ARRAY, (message)) +#define UNITY_TEST_ASSERT_UINT16_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT16)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, UNITY_ARRAY_TO_ARRAY, (message)) +#define UNITY_TEST_ASSERT_UINT32_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT32)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, UNITY_ARRAY_TO_ARRAY, (message)) +#define UNITY_TEST_ASSERT_HEX8_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT8 )(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, UNITY_ARRAY_TO_ARRAY, (message)) +#define UNITY_TEST_ASSERT_HEX16_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT16)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, UNITY_ARRAY_TO_ARRAY, (message)) +#define UNITY_TEST_ASSERT_HEX32_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT32)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, UNITY_ARRAY_TO_ARRAY, (message)) +#define UNITY_TEST_ASSERT_CHAR_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT8 )(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, UNITY_ARRAY_TO_ARRAY, (message)) +#else +#define UNITY_TEST_ASSERT_INT_ARRAY_WITHIN(delta, expected, actual, num_elements, line, ...) UnityAssertNumbersArrayWithin( (delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#define UNITY_TEST_ASSERT_INT8_ARRAY_WITHIN(delta, expected, actual, num_elements, line, ...) UnityAssertNumbersArrayWithin((UNITY_UINT8 )(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#define UNITY_TEST_ASSERT_INT16_ARRAY_WITHIN(delta, expected, actual, num_elements, line, ...) UnityAssertNumbersArrayWithin((UNITY_UINT16)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#define UNITY_TEST_ASSERT_INT32_ARRAY_WITHIN(delta, expected, actual, num_elements, line, ...) UnityAssertNumbersArrayWithin((UNITY_UINT32)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#define UNITY_TEST_ASSERT_UINT_ARRAY_WITHIN(delta, expected, actual, num_elements, line, ...) UnityAssertNumbersArrayWithin( (delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#define UNITY_TEST_ASSERT_UINT8_ARRAY_WITHIN(delta, expected, actual, num_elements, line, ...) UnityAssertNumbersArrayWithin((UNITY_UINT16)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#define UNITY_TEST_ASSERT_UINT16_ARRAY_WITHIN(delta, expected, actual, num_elements, line, ...) UnityAssertNumbersArrayWithin((UNITY_UINT16)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#define UNITY_TEST_ASSERT_UINT32_ARRAY_WITHIN(delta, expected, actual, num_elements, line, ...) UnityAssertNumbersArrayWithin((UNITY_UINT32)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#define UNITY_TEST_ASSERT_HEX8_ARRAY_WITHIN(delta, expected, actual, num_elements, line, ...) UnityAssertNumbersArrayWithin((UNITY_UINT8 )(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#define UNITY_TEST_ASSERT_HEX16_ARRAY_WITHIN(delta, expected, actual, num_elements, line, ...) UnityAssertNumbersArrayWithin((UNITY_UINT16)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#define UNITY_TEST_ASSERT_HEX32_ARRAY_WITHIN(delta, expected, actual, num_elements, line, ...) UnityAssertNumbersArrayWithin((UNITY_UINT32)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#define UNITY_TEST_ASSERT_CHAR_ARRAY_WITHIN(delta, expected, actual, num_elements, line, ...) UnityAssertNumbersArrayWithin((UNITY_UINT8 )(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#endif #define UNITY_TEST_ASSERT_EQUAL_PTR(expected, actual, line, message) UnityAssertEqualNumber((UNITY_PTR_TO_INT)(expected), (UNITY_PTR_TO_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER, (message)) #define UNITY_TEST_ASSERT_EQUAL_STRING(expected, actual, line, message) UnityAssertEqualString((const char*)(expected), (const char*)(actual), (message), (UNITY_LINE_TYPE)(line)) @@ -1087,9 +1101,15 @@ int UnityTestMatches(void); #define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT64(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, __VA_ARGS__) #define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, __VA_ARGS__) #endif -#define UNITY_TEST_ASSERT_INT64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT64)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_UINT64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT64)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_HEX64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT64)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, UNITY_ARRAY_TO_ARRAY) +#ifndef UNITY_INCLUDE_PRINT_FORMATTED +#define UNITY_TEST_ASSERT_INT64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT64)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, UNITY_ARRAY_TO_ARRAY, (message)) +#define UNITY_TEST_ASSERT_UINT64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT64)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, UNITY_ARRAY_TO_ARRAY, (message)) +#define UNITY_TEST_ASSERT_HEX64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT64)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, UNITY_ARRAY_TO_ARRAY, (message)) +#else +#define UNITY_TEST_ASSERT_INT64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, ...) UnityAssertNumbersArrayWithin((UNITY_UINT64)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#define UNITY_TEST_ASSERT_UINT64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, ...) UnityAssertNumbersArrayWithin((UNITY_UINT64)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#define UNITY_TEST_ASSERT_HEX64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, ...) UnityAssertNumbersArrayWithin((UNITY_UINT64)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#endif #else #ifndef UNITY_INCLUDE_PRINT_FORMATTED #define UNITY_TEST_ASSERT_EQUAL_INT64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) From b531ea9c6fa9b24d714e5f3a07a3184e564e4dae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alari=20=C3=95is?= Date: Thu, 7 May 2020 09:10:57 +0300 Subject: [PATCH 06/12] printf style formatting support for UnityAssertEqualMemory, UnityAssertEqualString, UnityAssertEqualStringLen, UnityAssertEqualStringArray, UnityAssertEqualIntArray --- src/unity.c | 56 +++++++++++---- src/unity_internals.h | 159 +++++++++++++++++++++++++++--------------- 2 files changed, 144 insertions(+), 71 deletions(-) diff --git a/src/unity.c b/src/unity.c index 5779cfc7..1cc90383 100644 --- a/src/unity.c +++ b/src/unity.c @@ -832,10 +832,10 @@ void UnityAssertGreaterOrLessOrEqualNumber(const UNITY_INT threshold, void UnityAssertEqualIntArray(UNITY_INTERNAL_PTR expected, UNITY_INTERNAL_PTR actual, const UNITY_UINT32 num_elements, - const char* msg, const UNITY_LINE_TYPE lineNumber, const UNITY_DISPLAY_STYLE_T style, - const UNITY_FLAGS_T flags) + const UNITY_FLAGS_T flags, + const char* msg VA_ARGS_IF_ENABLED) { UNITY_UINT32 elements = num_elements; unsigned int length = style & 0xF; @@ -1415,8 +1415,8 @@ void UnityAssertNumbersArrayWithin(const UNITY_UINT delta, /*-----------------------------------------------*/ void UnityAssertEqualString(const char* expected, const char* actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber) + const UNITY_LINE_TYPE lineNumber, + const char* msg VA_ARGS_IF_ENABLED) { UNITY_UINT32 i; @@ -1446,7 +1446,14 @@ void UnityAssertEqualString(const char* expected, { UnityTestResultsFailBegin(lineNumber); UnityPrintExpectedAndActualStrings(expected, actual); - UnityAddMsgIfSpecified(msg); + #ifdef UNITY_INCLUDE_PRINT_FORMATTED + va_list va; + va_start(va, msg); + UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg, va); + va_end(va); + #else + UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg); + #endif UNITY_FAIL_AND_BAIL; } } @@ -1455,8 +1462,8 @@ void UnityAssertEqualString(const char* expected, void UnityAssertEqualStringLen(const char* expected, const char* actual, const UNITY_UINT32 length, - const char* msg, - const UNITY_LINE_TYPE lineNumber) + const UNITY_LINE_TYPE lineNumber, + const char* msg VA_ARGS_IF_ENABLED) { UNITY_UINT32 i; @@ -1486,7 +1493,14 @@ void UnityAssertEqualStringLen(const char* expected, { UnityTestResultsFailBegin(lineNumber); UnityPrintExpectedAndActualStringsLen(expected, actual, length); - UnityAddMsgIfSpecified(msg); + #ifdef UNITY_INCLUDE_PRINT_FORMATTED + va_list va; + va_start(va, msg); + UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg, va); + va_end(va); + #else + UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg); + #endif UNITY_FAIL_AND_BAIL; } } @@ -1495,9 +1509,9 @@ void UnityAssertEqualStringLen(const char* expected, void UnityAssertEqualStringArray(UNITY_INTERNAL_PTR expected, const char** actual, const UNITY_UINT32 num_elements, - const char* msg, const UNITY_LINE_TYPE lineNumber, - const UNITY_FLAGS_T flags) + const UNITY_FLAGS_T flags, + const char* msg VA_ARGS_IF_ENABLED) { UNITY_UINT32 i = 0; UNITY_UINT32 j = 0; @@ -1564,7 +1578,14 @@ void UnityAssertEqualStringArray(UNITY_INTERNAL_PTR expected, UnityPrintNumberUnsigned(j); } UnityPrintExpectedAndActualStrings(expd, act); - UnityAddMsgIfSpecified(msg); + #ifdef UNITY_INCLUDE_PRINT_FORMATTED + va_list va; + va_start(va, msg); + UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg, va); + va_end(va); + #else + UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg); + #endif UNITY_FAIL_AND_BAIL; } } while (++j < num_elements); @@ -1575,9 +1596,9 @@ void UnityAssertEqualMemory(UNITY_INTERNAL_PTR expected, UNITY_INTERNAL_PTR actual, const UNITY_UINT32 length, const UNITY_UINT32 num_elements, - const char* msg, const UNITY_LINE_TYPE lineNumber, - const UNITY_FLAGS_T flags) + const UNITY_FLAGS_T flags, + const char* msg VA_ARGS_IF_ENABLED) { UNITY_PTR_ATTRIBUTE const unsigned char* ptr_exp = (UNITY_PTR_ATTRIBUTE const unsigned char*)expected; UNITY_PTR_ATTRIBUTE const unsigned char* ptr_act = (UNITY_PTR_ATTRIBUTE const unsigned char*)actual; @@ -1621,7 +1642,14 @@ void UnityAssertEqualMemory(UNITY_INTERNAL_PTR expected, UnityPrintNumberByStyle(*ptr_exp, UNITY_DISPLAY_STYLE_HEX8); UnityPrint(UnityStrWas); UnityPrintNumberByStyle(*ptr_act, UNITY_DISPLAY_STYLE_HEX8); - UnityAddMsgIfSpecified(msg); + #ifdef UNITY_INCLUDE_PRINT_FORMATTED + va_list va; + va_start(va, msg); + UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg, va); + va_end(va); + #else + UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg); + #endif UNITY_FAIL_AND_BAIL; } ptr_exp++; diff --git a/src/unity_internals.h b/src/unity_internals.h index 33db3f89..f5e8e991 100644 --- a/src/unity_internals.h +++ b/src/unity_internals.h @@ -565,10 +565,10 @@ void UnityAssertGreaterOrLessOrEqualNumber(const UNITY_INT threshold, void UnityAssertEqualIntArray(UNITY_INTERNAL_PTR expected, UNITY_INTERNAL_PTR actual, const UNITY_UINT32 num_elements, - const char* msg, const UNITY_LINE_TYPE lineNumber, const UNITY_DISPLAY_STYLE_T style, - const UNITY_FLAGS_T flags); + const UNITY_FLAGS_T flags, + const char* msg VA_ARGS_IF_ENABLED); void UnityAssertBits(const UNITY_INT mask, const UNITY_INT expected, @@ -578,29 +578,29 @@ void UnityAssertBits(const UNITY_INT mask, void UnityAssertEqualString(const char* expected, const char* actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber); + const UNITY_LINE_TYPE lineNumber, + const char* msg VA_ARGS_IF_ENABLED); void UnityAssertEqualStringLen(const char* expected, const char* actual, const UNITY_UINT32 length, - const char* msg, - const UNITY_LINE_TYPE lineNumber); + const UNITY_LINE_TYPE lineNumber, + const char* msg VA_ARGS_IF_ENABLED); void UnityAssertEqualStringArray( UNITY_INTERNAL_PTR expected, const char** actual, const UNITY_UINT32 num_elements, - const char* msg, const UNITY_LINE_TYPE lineNumber, - const UNITY_FLAGS_T flags); + const UNITY_FLAGS_T flags, + const char* msg VA_ARGS_IF_ENABLED); void UnityAssertEqualMemory( UNITY_INTERNAL_PTR expected, UNITY_INTERNAL_PTR actual, const UNITY_UINT32 length, const UNITY_UINT32 num_elements, - const char* msg, const UNITY_LINE_TYPE lineNumber, - const UNITY_FLAGS_T flags); + const UNITY_FLAGS_T flags, + const char* msg VA_ARGS_IF_ENABLED); void UnityAssertNumbersWithin(const UNITY_UINT delta, const UNITY_INT expected, @@ -1006,68 +1006,113 @@ int UnityTestMatches(void); #define UNITY_TEST_ASSERT_CHAR_ARRAY_WITHIN(delta, expected, actual, num_elements, line, ...) UnityAssertNumbersArrayWithin((UNITY_UINT8 )(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) #endif +#ifndef UNITY_INCLUDE_PRINT_FORMATTED #define UNITY_TEST_ASSERT_EQUAL_PTR(expected, actual, line, message) UnityAssertEqualNumber((UNITY_PTR_TO_INT)(expected), (UNITY_PTR_TO_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER, (message)) -#define UNITY_TEST_ASSERT_EQUAL_STRING(expected, actual, line, message) UnityAssertEqualString((const char*)(expected), (const char*)(actual), (message), (UNITY_LINE_TYPE)(line)) -#define UNITY_TEST_ASSERT_EQUAL_STRING_LEN(expected, actual, len, line, message) UnityAssertEqualStringLen((const char*)(expected), (const char*)(actual), (UNITY_UINT32)(len), (message), (UNITY_LINE_TYPE)(line)) -#define UNITY_TEST_ASSERT_EQUAL_MEMORY(expected, actual, len, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), 1, (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY) - -#define UNITY_TEST_ASSERT_EQUAL_INT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_INT8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_INT16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_INT32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_UINT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_UINT8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_UINT16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_UINT32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_HEX8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualStringArray((UNITY_INTERNAL_PTR)(expected), (const char**)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_CHAR_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, UNITY_ARRAY_TO_ARRAY) - -#define UNITY_TEST_ASSERT_EACH_EQUAL_INT(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT) (expected), (UNITY_INT_WIDTH / 8)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_INT8(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT8 )(expected), 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_INT16(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT16 )(expected), 2), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_INT32(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT32 )(expected), 4), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT) (expected), (UNITY_INT_WIDTH / 8)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT8(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT8 )(expected), 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT16(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT16)(expected), 2), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT32(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT32)(expected), 4), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX8(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT8 )(expected), 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX16(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT16 )(expected), 2), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX32(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT32 )(expected), 4), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_PTR(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_PTR_TO_INT) (expected), (UNITY_POINTER_WIDTH / 8)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_STRING(expected, actual, num_elements, line, message) UnityAssertEqualStringArray((UNITY_INTERNAL_PTR)(expected), (const char**)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_MEMORY(expected, actual, len, num_elements, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_CHAR(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT8 )(expected), 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, UNITY_ARRAY_TO_VAL) +#define UNITY_TEST_ASSERT_EQUAL_STRING(expected, actual, line, message) UnityAssertEqualString((const char*)(expected), (const char*)(actual), (UNITY_LINE_TYPE)(line), (message)) +#define UNITY_TEST_ASSERT_EQUAL_STRING_LEN(expected, actual, len, line, message) UnityAssertEqualStringLen((const char*)(expected), (const char*)(actual), (UNITY_UINT32)(len), (UNITY_LINE_TYPE)(line), (message)) +#define UNITY_TEST_ASSERT_EQUAL_MEMORY(expected, actual, len, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), 1, (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY, (message)) +#else +#define UNITY_TEST_ASSERT_EQUAL_PTR(expected, actual, line, ...) UnityAssertEqualNumber((UNITY_PTR_TO_INT)(expected), (UNITY_PTR_TO_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_STRING(expected, actual, line, ...) UnityAssertEqualString((const char*)(expected), (const char*)(actual), (UNITY_LINE_TYPE)(line), __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_STRING_LEN(expected, actual, len, line, ...) UnityAssertEqualStringLen((const char*)(expected), (const char*)(actual), (UNITY_UINT32)(len), (UNITY_LINE_TYPE)(line), __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_MEMORY(expected, actual, len, line, ...) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), 1, (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#endif + +#ifndef UNITY_INCLUDE_PRINT_FORMATTED +#define UNITY_TEST_ASSERT_EQUAL_INT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, UNITY_ARRAY_TO_ARRAY, (message)) +#define UNITY_TEST_ASSERT_EQUAL_INT8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, UNITY_ARRAY_TO_ARRAY, (message)) +#define UNITY_TEST_ASSERT_EQUAL_INT16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, UNITY_ARRAY_TO_ARRAY, (message)) +#define UNITY_TEST_ASSERT_EQUAL_INT32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, UNITY_ARRAY_TO_ARRAY, (message)) +#define UNITY_TEST_ASSERT_EQUAL_UINT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, UNITY_ARRAY_TO_ARRAY, (message)) +#define UNITY_TEST_ASSERT_EQUAL_UINT8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, UNITY_ARRAY_TO_ARRAY, (message)) +#define UNITY_TEST_ASSERT_EQUAL_UINT16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, UNITY_ARRAY_TO_ARRAY, (message)) +#define UNITY_TEST_ASSERT_EQUAL_UINT32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, UNITY_ARRAY_TO_ARRAY, (message)) +#define UNITY_TEST_ASSERT_EQUAL_HEX8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, UNITY_ARRAY_TO_ARRAY, (message)) +#define UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, UNITY_ARRAY_TO_ARRAY, (message)) +#define UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, UNITY_ARRAY_TO_ARRAY, (message)) +#define UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER, UNITY_ARRAY_TO_ARRAY, (message)) +#define UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualStringArray((UNITY_INTERNAL_PTR)(expected), (const char**)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY, (message)) +#define UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY, (message)) +#define UNITY_TEST_ASSERT_EQUAL_CHAR_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, UNITY_ARRAY_TO_ARRAY, (message)) + +#define UNITY_TEST_ASSERT_EACH_EQUAL_INT(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT) (expected), (UNITY_INT_WIDTH / 8)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, UNITY_ARRAY_TO_VAL, (message)) +#define UNITY_TEST_ASSERT_EACH_EQUAL_INT8(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT8 )(expected), 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, UNITY_ARRAY_TO_VAL, (message)) +#define UNITY_TEST_ASSERT_EACH_EQUAL_INT16(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT16 )(expected), 2), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, UNITY_ARRAY_TO_VAL, (message)) +#define UNITY_TEST_ASSERT_EACH_EQUAL_INT32(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT32 )(expected), 4), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, UNITY_ARRAY_TO_VAL, (message)) +#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT) (expected), (UNITY_INT_WIDTH / 8)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, UNITY_ARRAY_TO_VAL, (message)) +#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT8(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT8 )(expected), 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, UNITY_ARRAY_TO_VAL, (message)) +#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT16(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT16)(expected), 2), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, UNITY_ARRAY_TO_VAL, (message)) +#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT32(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT32)(expected), 4), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, UNITY_ARRAY_TO_VAL, (message)) +#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX8(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT8 )(expected), 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, UNITY_ARRAY_TO_VAL, (message)) +#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX16(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT16 )(expected), 2), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, UNITY_ARRAY_TO_VAL, (message)) +#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX32(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT32 )(expected), 4), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, UNITY_ARRAY_TO_VAL, (message)) +#define UNITY_TEST_ASSERT_EACH_EQUAL_PTR(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_PTR_TO_INT) (expected), (UNITY_POINTER_WIDTH / 8)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER, UNITY_ARRAY_TO_VAL, (message)) +#define UNITY_TEST_ASSERT_EACH_EQUAL_STRING(expected, actual, num_elements, line, message) UnityAssertEqualStringArray((UNITY_INTERNAL_PTR)(expected), (const char**)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL, (message)) +#define UNITY_TEST_ASSERT_EACH_EQUAL_MEMORY(expected, actual, len, num_elements, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL, (message)) +#define UNITY_TEST_ASSERT_EACH_EQUAL_CHAR(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT8 )(expected), 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, UNITY_ARRAY_TO_VAL, (message)) +#else +#define UNITY_TEST_ASSERT_EQUAL_INT_ARRAY(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_INT8_ARRAY(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_INT16_ARRAY(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_INT32_ARRAY(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_UINT_ARRAY(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_UINT8_ARRAY(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_UINT16_ARRAY(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_UINT32_ARRAY(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_HEX8_ARRAY(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements, line, ...) UnityAssertEqualStringArray((UNITY_INTERNAL_PTR)(expected), (const char**)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements, line, ...) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_CHAR_ARRAY(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) + +#define UNITY_TEST_ASSERT_EACH_EQUAL_INT(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT) (expected), (UNITY_INT_WIDTH / 8)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, UNITY_ARRAY_TO_VAL, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EACH_EQUAL_INT8(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT8 )(expected), 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, UNITY_ARRAY_TO_VAL, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EACH_EQUAL_INT16(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT16 )(expected), 2), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, UNITY_ARRAY_TO_VAL, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EACH_EQUAL_INT32(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT32 )(expected), 4), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, UNITY_ARRAY_TO_VAL, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT) (expected), (UNITY_INT_WIDTH / 8)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, UNITY_ARRAY_TO_VAL, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT8(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT8 )(expected), 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, UNITY_ARRAY_TO_VAL, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT16(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT16)(expected), 2), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, UNITY_ARRAY_TO_VAL, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT32(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT32)(expected), 4), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, UNITY_ARRAY_TO_VAL, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX8(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT8 )(expected), 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, UNITY_ARRAY_TO_VAL, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX16(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT16 )(expected), 2), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, UNITY_ARRAY_TO_VAL, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX32(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT32 )(expected), 4), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, UNITY_ARRAY_TO_VAL, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EACH_EQUAL_PTR(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_PTR_TO_INT) (expected), (UNITY_POINTER_WIDTH / 8)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER, UNITY_ARRAY_TO_VAL, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EACH_EQUAL_STRING(expected, actual, num_elements, line, ...) UnityAssertEqualStringArray((UNITY_INTERNAL_PTR)(expected), (const char**)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EACH_EQUAL_MEMORY(expected, actual, len, num_elements, line, ...) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EACH_EQUAL_CHAR(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT8 )(expected), 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, UNITY_ARRAY_TO_VAL, __VA_ARGS__) +#endif #ifdef UNITY_SUPPORT_64 #ifndef UNITY_INCLUDE_PRINT_FORMATTED #define UNITY_TEST_ASSERT_EQUAL_INT64(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, (message)) #define UNITY_TEST_ASSERT_EQUAL_UINT64(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, (message)) #define UNITY_TEST_ASSERT_EQUAL_HEX64(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, (message)) -#else -#define UNITY_TEST_ASSERT_EQUAL_INT64(expected, actual, line, ...) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, __VA_ARGS__) -#define UNITY_TEST_ASSERT_EQUAL_UINT64(expected, actual, line, ...) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, __VA_ARGS__) -#define UNITY_TEST_ASSERT_EQUAL_HEX64(expected, actual, line, ...) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, __VA_ARGS__) -#endif -#define UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EACH_EQUAL_INT64(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT64)(expected), 8), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT64(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT64)(expected), 8), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX64(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT64)(expected), 8), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, UNITY_ARRAY_TO_VAL) -#ifndef UNITY_INCLUDE_PRINT_FORMATTED +#define UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, UNITY_ARRAY_TO_ARRAY, (message)) +#define UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, UNITY_ARRAY_TO_ARRAY, (message)) +#define UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, UNITY_ARRAY_TO_ARRAY, (message)) +#define UNITY_TEST_ASSERT_EACH_EQUAL_INT64(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT64)(expected), 8), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, UNITY_ARRAY_TO_VAL, (message)) +#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT64(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT64)(expected), 8), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, UNITY_ARRAY_TO_VAL, (message)) +#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX64(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT64)(expected), 8), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, UNITY_ARRAY_TO_VAL, (message)) #define UNITY_TEST_ASSERT_INT64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, (message)) #define UNITY_TEST_ASSERT_UINT64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, (message)) #define UNITY_TEST_ASSERT_HEX64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, (message)) #else +#define UNITY_TEST_ASSERT_EQUAL_INT64(expected, actual, line, ...) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_UINT64(expected, actual, line, ...) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_HEX64(expected, actual, line, ...) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EACH_EQUAL_INT64(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT64)(expected), 8), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, UNITY_ARRAY_TO_VAL, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT64(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT64)(expected), 8), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, UNITY_ARRAY_TO_VAL, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX64(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT64)(expected), 8), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, UNITY_ARRAY_TO_VAL, __VA_ARGS__) #define UNITY_TEST_ASSERT_INT64_WITHIN(delta, expected, actual, line, ...) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, __VA_ARGS__) #define UNITY_TEST_ASSERT_UINT64_WITHIN(delta, expected, actual, line, ...) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, __VA_ARGS__) #define UNITY_TEST_ASSERT_HEX64_WITHIN(delta, expected, actual, line, ...) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, __VA_ARGS__) #endif + #ifndef UNITY_INCLUDE_PRINT_FORMATTED #define UNITY_TEST_ASSERT_NOT_EQUAL_INT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, (message)) #define UNITY_TEST_ASSERT_NOT_EQUAL_UINT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, (message)) From 73968c63b3246a522c6d219aa9547e5633460ee2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alari=20=C3=95is?= Date: Thu, 7 May 2020 10:11:03 +0300 Subject: [PATCH 07/12] printf style formatting support for UnityPrintPointlessAndBail and UnityIsOneArrayNull --- src/unity.c | 162 +++++++++++++++++----------------------------------- src/unity.h | 77 ++++++++++++++++++++++++- 2 files changed, 128 insertions(+), 111 deletions(-) diff --git a/src/unity.c b/src/unity.c index 1cc90383..02b44724 100644 --- a/src/unity.c +++ b/src/unity.c @@ -685,10 +685,33 @@ static void UnityPrintExpectedAndActualStringsLen(const char* expected, *-----------------------------------------------*/ /*-----------------------------------------------*/ +#ifndef UNITY_INCLUDE_PRINT_FORMATTED +#define UnityPrintMsgIfSpecifiedAndBail(msg) \ +{ \ + UnityAddMsgIfSpecified(msg); \ + UNITY_FAIL_AND_BAIL; \ +} +#else +#define UnityPrintMsgIfSpecifiedAndBail(msg) \ +{ \ + va_list va; \ + va_start(va, msg); \ + UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg, va); \ + va_end(va); \ + UNITY_FAIL_AND_BAIL; \ +} +#endif + +#define UnityPrintPointlessAndBail(msg) \ +{ \ + UnityTestResultsFailBegin(lineNumber); \ + UnityPrint(UnityStrPointless); \ + UnityPrintMsgIfSpecifiedAndBail(msg); \ +} + static int UnityIsOneArrayNull(UNITY_INTERNAL_PTR expected, UNITY_INTERNAL_PTR actual, - const UNITY_LINE_TYPE lineNumber, - const char* msg) + const UNITY_LINE_TYPE lineNumber) { /* Both are NULL or same pointer */ if (expected == actual) { return 0; } @@ -698,7 +721,6 @@ static int UnityIsOneArrayNull(UNITY_INTERNAL_PTR expected, { UnityTestResultsFailBegin(lineNumber); UnityPrint(UnityStrNullPointerForExpected); - UnityAddMsgIfSpecified(msg); return 1; } @@ -707,7 +729,6 @@ static int UnityIsOneArrayNull(UNITY_INTERNAL_PTR expected, { UnityTestResultsFailBegin(lineNumber); UnityPrint(UnityStrNullPointerForActual); - UnityAddMsgIfSpecified(msg); return 1; } @@ -734,15 +755,7 @@ void UnityAssertBits(const UNITY_INT mask, UnityPrintMask((UNITY_UINT)mask, (UNITY_UINT)expected); UnityPrint(UnityStrWas); UnityPrintMask((UNITY_UINT)mask, (UNITY_UINT)actual); - #ifdef UNITY_INCLUDE_PRINT_FORMATTED - va_list va; - va_start(va, msg); - UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg, va); - va_end(va); - #else - UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg); - #endif - UNITY_FAIL_AND_BAIL; + UnityPrintMsgIfSpecifiedAndBail(msg); } } @@ -762,15 +775,7 @@ void UnityAssertEqualNumber(const UNITY_INT expected, UnityPrintNumberByStyle(expected, style); UnityPrint(UnityStrWas); UnityPrintNumberByStyle(actual, style); - #ifdef UNITY_INCLUDE_PRINT_FORMATTED - va_list va; - va_start(va, msg); - UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg, va); - va_end(va); - #else - UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg); - #endif - UNITY_FAIL_AND_BAIL; + UnityPrintMsgIfSpecifiedAndBail(msg); } } @@ -809,25 +814,10 @@ void UnityAssertGreaterOrLessOrEqualNumber(const UNITY_INT threshold, if (compare & UNITY_EQUAL_TO) { UnityPrint(UnityStrOrEqual); } if (compare == UNITY_NOT_EQUAL) { UnityPrint(UnityStrNotEqual); } UnityPrintNumberByStyle(threshold, style); - #ifdef UNITY_INCLUDE_PRINT_FORMATTED - va_list va; - va_start(va, msg); - UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg, va); - va_end(va); - #else - UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg); - #endif - UNITY_FAIL_AND_BAIL; + UnityPrintMsgIfSpecifiedAndBail(msg); } } -#define UnityPrintPointlessAndBail() \ -{ \ - UnityTestResultsFailBegin(lineNumber); \ - UnityPrint(UnityStrPointless); \ - UnityAddMsgIfSpecified(msg); \ - UNITY_FAIL_AND_BAIL; } - /*-----------------------------------------------*/ void UnityAssertEqualIntArray(UNITY_INTERNAL_PTR expected, UNITY_INTERNAL_PTR actual, @@ -845,7 +835,7 @@ void UnityAssertEqualIntArray(UNITY_INTERNAL_PTR expected, if (num_elements == 0) { - UnityPrintPointlessAndBail(); + UnityPrintPointlessAndBail(msg); } if (expected == actual) @@ -853,9 +843,9 @@ void UnityAssertEqualIntArray(UNITY_INTERNAL_PTR expected, return; /* Both are NULL or same pointer */ } - if (UnityIsOneArrayNull(expected, actual, lineNumber, msg)) + if (UnityIsOneArrayNull(expected, actual, lineNumber)) { - UNITY_FAIL_AND_BAIL; + UnityPrintMsgIfSpecifiedAndBail(msg); } while ((elements > 0) && (elements--)) @@ -974,7 +964,7 @@ void UnityAssertEqualFloatArray(UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* expected, if (elements == 0) { - UnityPrintPointlessAndBail(); + UnityPrintPointlessAndBail(msg); } if (expected == actual) @@ -982,9 +972,9 @@ void UnityAssertEqualFloatArray(UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* expected, return; /* Both are NULL or same pointer */ } - if (UnityIsOneArrayNull((UNITY_INTERNAL_PTR)expected, (UNITY_INTERNAL_PTR)actual, lineNumber, msg)) + if (UnityIsOneArrayNull((UNITY_INTERNAL_PTR)expected, (UNITY_INTERNAL_PTR)actual, lineNumber)) { - UNITY_FAIL_AND_BAIL; + UnityPrintMsgIfSpecifiedAndBail(msg); } while (elements--) @@ -1115,7 +1105,7 @@ void UnityAssertEqualDoubleArray(UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* expecte if (elements == 0) { - UnityPrintPointlessAndBail(); + UnityPrintPointlessAndBail(msg); } if (expected == actual) @@ -1123,9 +1113,9 @@ void UnityAssertEqualDoubleArray(UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* expecte return; /* Both are NULL or same pointer */ } - if (UnityIsOneArrayNull((UNITY_INTERNAL_PTR)expected, (UNITY_INTERNAL_PTR)actual, lineNumber, msg)) + if (UnityIsOneArrayNull((UNITY_INTERNAL_PTR)expected, (UNITY_INTERNAL_PTR)actual, lineNumber)) { - UNITY_FAIL_AND_BAIL; + UnityPrintMsgIfSpecifiedAndBail(msg); } while (elements--) @@ -1273,15 +1263,7 @@ void UnityAssertNumbersWithin(const UNITY_UINT delta, UnityPrintNumberByStyle(expected, style); UnityPrint(UnityStrWas); UnityPrintNumberByStyle(actual, style); - #ifdef UNITY_INCLUDE_PRINT_FORMATTED - va_list va; - va_start(va, msg); - UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg, va); - va_end(va); - #else - UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg); - #endif - UNITY_FAIL_AND_BAIL; + UnityPrintMsgIfSpecifiedAndBail(msg); } } @@ -1303,7 +1285,7 @@ void UnityAssertNumbersArrayWithin(const UNITY_UINT delta, if (num_elements == 0) { - UnityPrintPointlessAndBail(); + UnityPrintPointlessAndBail(msg); } if (expected == actual) @@ -1311,9 +1293,9 @@ void UnityAssertNumbersArrayWithin(const UNITY_UINT delta, return; /* Both are NULL or same pointer */ } - if (UnityIsOneArrayNull(expected, actual, lineNumber, msg)) + if (UnityIsOneArrayNull(expected, actual, lineNumber)) { - UNITY_FAIL_AND_BAIL; + UnityPrintMsgIfSpecifiedAndBail(msg); } while ((elements > 0) && (elements--)) @@ -1393,15 +1375,7 @@ void UnityAssertNumbersArrayWithin(const UNITY_UINT delta, UnityPrintNumberByStyle(expect_val, style); UnityPrint(UnityStrWas); UnityPrintNumberByStyle(actual_val, style); - #ifdef UNITY_INCLUDE_PRINT_FORMATTED - va_list va; - va_start(va, msg); - UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg, va); - va_end(va); - #else - UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg); - #endif - UNITY_FAIL_AND_BAIL; + UnityPrintMsgIfSpecifiedAndBail(msg); } /* Walk through array by incrementing the pointers */ if (flags == UNITY_ARRAY_TO_ARRAY) @@ -1446,15 +1420,7 @@ void UnityAssertEqualString(const char* expected, { UnityTestResultsFailBegin(lineNumber); UnityPrintExpectedAndActualStrings(expected, actual); - #ifdef UNITY_INCLUDE_PRINT_FORMATTED - va_list va; - va_start(va, msg); - UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg, va); - va_end(va); - #else - UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg); - #endif - UNITY_FAIL_AND_BAIL; + UnityPrintMsgIfSpecifiedAndBail(msg); } } @@ -1493,15 +1459,7 @@ void UnityAssertEqualStringLen(const char* expected, { UnityTestResultsFailBegin(lineNumber); UnityPrintExpectedAndActualStringsLen(expected, actual, length); - #ifdef UNITY_INCLUDE_PRINT_FORMATTED - va_list va; - va_start(va, msg); - UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg, va); - va_end(va); - #else - UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg); - #endif - UNITY_FAIL_AND_BAIL; + UnityPrintMsgIfSpecifiedAndBail(msg); } } @@ -1523,7 +1481,7 @@ void UnityAssertEqualStringArray(UNITY_INTERNAL_PTR expected, /* if no elements, it's an error */ if (num_elements == 0) { - UnityPrintPointlessAndBail(); + UnityPrintPointlessAndBail(msg); } if ((const void*)expected == (const void*)actual) @@ -1531,9 +1489,9 @@ void UnityAssertEqualStringArray(UNITY_INTERNAL_PTR expected, return; /* Both are NULL or same pointer */ } - if (UnityIsOneArrayNull((UNITY_INTERNAL_PTR)expected, (UNITY_INTERNAL_PTR)actual, lineNumber, msg)) + if (UnityIsOneArrayNull((UNITY_INTERNAL_PTR)expected, (UNITY_INTERNAL_PTR)actual, lineNumber)) { - UNITY_FAIL_AND_BAIL; + UnityPrintMsgIfSpecifiedAndBail(msg); } if (flags != UNITY_ARRAY_TO_ARRAY) @@ -1578,15 +1536,7 @@ void UnityAssertEqualStringArray(UNITY_INTERNAL_PTR expected, UnityPrintNumberUnsigned(j); } UnityPrintExpectedAndActualStrings(expd, act); - #ifdef UNITY_INCLUDE_PRINT_FORMATTED - va_list va; - va_start(va, msg); - UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg, va); - va_end(va); - #else - UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg); - #endif - UNITY_FAIL_AND_BAIL; + UnityPrintMsgIfSpecifiedAndBail(msg); } } while (++j < num_elements); } @@ -1609,7 +1559,7 @@ void UnityAssertEqualMemory(UNITY_INTERNAL_PTR expected, if ((elements == 0) || (length == 0)) { - UnityPrintPointlessAndBail(); + UnityPrintPointlessAndBail(msg); } if (expected == actual) @@ -1617,9 +1567,9 @@ void UnityAssertEqualMemory(UNITY_INTERNAL_PTR expected, return; /* Both are NULL or same pointer */ } - if (UnityIsOneArrayNull(expected, actual, lineNumber, msg)) + if (UnityIsOneArrayNull(expected, actual, lineNumber)) { - UNITY_FAIL_AND_BAIL; + UnityPrintMsgIfSpecifiedAndBail(msg); } while (elements--) @@ -1642,15 +1592,7 @@ void UnityAssertEqualMemory(UNITY_INTERNAL_PTR expected, UnityPrintNumberByStyle(*ptr_exp, UNITY_DISPLAY_STYLE_HEX8); UnityPrint(UnityStrWas); UnityPrintNumberByStyle(*ptr_act, UNITY_DISPLAY_STYLE_HEX8); - #ifdef UNITY_INCLUDE_PRINT_FORMATTED - va_list va; - va_start(va, msg); - UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg, va); - va_end(va); - #else - UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg); - #endif - UNITY_FAIL_AND_BAIL; + UnityPrintMsgIfSpecifiedAndBail(msg); } ptr_exp++; ptr_act++; diff --git a/src/unity.h b/src/unity.h index cb05f89d..a89d59ac 100644 --- a/src/unity.h +++ b/src/unity.h @@ -730,12 +730,20 @@ void verifyTest(void); #endif /* Structs and Strings */ +#ifndef UNITY_INCLUDE_PRINT_FORMATTED #define TEST_ASSERT_EQUAL_PTR_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_PTR((expected), (actual), __LINE__, (message)) #define TEST_ASSERT_EQUAL_STRING_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_STRING((expected), (actual), __LINE__, (message)) #define TEST_ASSERT_EQUAL_STRING_LEN_MESSAGE(expected, actual, len, message) UNITY_TEST_ASSERT_EQUAL_STRING_LEN((expected), (actual), (len), __LINE__, (message)) #define TEST_ASSERT_EQUAL_MEMORY_MESSAGE(expected, actual, len, message) UNITY_TEST_ASSERT_EQUAL_MEMORY((expected), (actual), (len), __LINE__, (message)) +#else +#define TEST_ASSERT_EQUAL_PTR_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_PTR((expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_STRING_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_STRING((expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_STRING_LEN_MESSAGE(expected, actual, len, ...) UNITY_TEST_ASSERT_EQUAL_STRING_LEN((expected), (actual), (len), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_MEMORY_MESSAGE(expected, actual, len, ...) UNITY_TEST_ASSERT_EQUAL_MEMORY((expected), (actual), (len), __LINE__, __VA_ARGS__) +#endif /* Arrays */ +#ifndef UNITY_INCLUDE_PRINT_FORMATTED #define TEST_ASSERT_EQUAL_INT_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_INT_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) #define TEST_ASSERT_EQUAL_INT8_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_INT8_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) #define TEST_ASSERT_EQUAL_INT16_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_INT16_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) @@ -756,8 +764,31 @@ void verifyTest(void); #define TEST_ASSERT_EQUAL_STRING_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) #define TEST_ASSERT_EQUAL_MEMORY_ARRAY_MESSAGE(expected, actual, len, num_elements, message) UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY((expected), (actual), (len), (num_elements), __LINE__, (message)) #define TEST_ASSERT_EQUAL_CHAR_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_CHAR_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) +#else +#define TEST_ASSERT_EQUAL_INT_ARRAY_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EQUAL_INT_ARRAY((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_INT8_ARRAY_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EQUAL_INT8_ARRAY((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_INT16_ARRAY_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EQUAL_INT16_ARRAY((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_INT32_ARRAY_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EQUAL_INT32_ARRAY((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_INT64_ARRAY_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_UINT_ARRAY_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EQUAL_UINT_ARRAY((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_UINT8_ARRAY_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EQUAL_UINT8_ARRAY((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_UINT16_ARRAY_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EQUAL_UINT16_ARRAY((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_UINT32_ARRAY_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EQUAL_UINT32_ARRAY((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_UINT64_ARRAY_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_size_t_ARRAY_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EQUAL_UINT_ARRAY((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_HEX_ARRAY_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_HEX8_ARRAY_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EQUAL_HEX8_ARRAY((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_HEX16_ARRAY_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_HEX32_ARRAY_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_HEX64_ARRAY_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_PTR_ARRAY_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_STRING_ARRAY_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_MEMORY_ARRAY_MESSAGE(expected, actual, len, num_elements, ...) UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY((expected), (actual), (len), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_CHAR_ARRAY_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EQUAL_CHAR_ARRAY((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#endif /* Arrays Compared To Single Value*/ +#ifndef UNITY_INCLUDE_PRINT_FORMATTED #define TEST_ASSERT_EACH_EQUAL_INT_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_INT((expected), (actual), (num_elements), __LINE__, (message)) #define TEST_ASSERT_EACH_EQUAL_INT8_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_INT8((expected), (actual), (num_elements), __LINE__, (message)) #define TEST_ASSERT_EACH_EQUAL_INT16_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_INT16((expected), (actual), (num_elements), __LINE__, (message)) @@ -778,6 +809,28 @@ void verifyTest(void); #define TEST_ASSERT_EACH_EQUAL_STRING_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_STRING((expected), (actual), (num_elements), __LINE__, (message)) #define TEST_ASSERT_EACH_EQUAL_MEMORY_MESSAGE(expected, actual, len, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_MEMORY((expected), (actual), (len), (num_elements), __LINE__, (message)) #define TEST_ASSERT_EACH_EQUAL_CHAR_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_CHAR((expected), (actual), (num_elements), __LINE__, (message)) +#else +#define TEST_ASSERT_EACH_EQUAL_INT_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EACH_EQUAL_INT((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EACH_EQUAL_INT8_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EACH_EQUAL_INT8((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EACH_EQUAL_INT16_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EACH_EQUAL_INT16((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EACH_EQUAL_INT32_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EACH_EQUAL_INT32((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EACH_EQUAL_INT64_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EACH_EQUAL_INT64((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EACH_EQUAL_UINT_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EACH_EQUAL_UINT((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EACH_EQUAL_UINT8_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EACH_EQUAL_UINT8((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EACH_EQUAL_UINT16_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EACH_EQUAL_UINT16((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EACH_EQUAL_UINT32_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EACH_EQUAL_UINT32((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EACH_EQUAL_UINT64_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EACH_EQUAL_UINT64((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EACH_EQUAL_size_t_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EACH_EQUAL_UINT((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EACH_EQUAL_HEX_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EACH_EQUAL_HEX32((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EACH_EQUAL_HEX8_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EACH_EQUAL_HEX8((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EACH_EQUAL_HEX16_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EACH_EQUAL_HEX16((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EACH_EQUAL_HEX32_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EACH_EQUAL_HEX32((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EACH_EQUAL_HEX64_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EACH_EQUAL_HEX64((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EACH_EQUAL_PTR_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EACH_EQUAL_PTR((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EACH_EQUAL_STRING_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EACH_EQUAL_STRING((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EACH_EQUAL_MEMORY_MESSAGE(expected, actual, len, num_elements, ...) UNITY_TEST_ASSERT_EACH_EQUAL_MEMORY((expected), (actual), (len), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EACH_EQUAL_CHAR_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EACH_EQUAL_CHAR((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#endif /* Floating Point (If Enabled) */ #define TEST_ASSERT_FLOAT_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_FLOAT_WITHIN((delta), (expected), (actual), __LINE__, (message)) @@ -808,6 +861,7 @@ void verifyTest(void); #define TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE((actual), __LINE__, (message)) /* Shorthand */ +#ifndef UNITY_INCLUDE_PRINT_FORMATTED #ifdef UNITY_SHORTHAND_AS_OLD #define TEST_ASSERT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT((expected), (actual), __LINE__, (message)) #define TEST_ASSERT_NOT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT(((expected) != (actual)), __LINE__, (message)) @@ -828,7 +882,28 @@ void verifyTest(void); #define TEST_ASSERT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_FAIL(__LINE__, UnityStrErrShorthand) #define TEST_ASSERT_NOT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_FAIL(__LINE__, UnityStrErrShorthand) #endif - +#else +#ifdef UNITY_SHORTHAND_AS_OLD +#define TEST_ASSERT_EQUAL_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_INT((expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_NOT_EQUAL_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT(((expected) != (actual)), __LINE__, __VA_ARGS__) +#endif +#ifdef UNITY_SHORTHAND_AS_INT +#define TEST_ASSERT_EQUAL_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_INT((expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_NOT_EQUAL_MESSAGE(expected, actual, ...) UNITY_TEST_FAIL(__LINE__, UnityStrErrShorthand) +#endif +#ifdef UNITY_SHORTHAND_AS_MEM +#define TEST_ASSERT_EQUAL_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_MEMORY((&expected), (&actual), sizeof(expected), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_NOT_EQUAL_MESSAGE(expected, actual, ...) UNITY_TEST_FAIL(__LINE__, UnityStrErrShorthand) +#endif +#ifdef UNITY_SHORTHAND_AS_RAW +#define TEST_ASSERT_EQUAL_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT(((expected) == (actual)), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_NOT_EQUAL_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT(((expected) != (actual)), __LINE__, __VA_ARGS__) +#endif +#ifdef UNITY_SHORTHAND_AS_NONE +#define TEST_ASSERT_EQUAL_MESSAGE(expected, actual, ...) UNITY_TEST_FAIL(__LINE__, UnityStrErrShorthand) +#define TEST_ASSERT_NOT_EQUAL_MESSAGE(expected, actual, ...) UNITY_TEST_FAIL(__LINE__, UnityStrErrShorthand) +#endif +#endif /* end of UNITY_FRAMEWORK_H */ #ifdef __cplusplus } From 0475a6cb67be8e5462b073d6b52c691192ade509 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alari=20=C3=95is?= Date: Thu, 7 May 2020 11:57:28 +0300 Subject: [PATCH 08/12] printf style formatting support for float and double tests --- src/unity.c | 76 +++++----------- src/unity.h | 37 +++++++- src/unity_internals.h | 198 +++++++++++++++++++++++++++++------------- 3 files changed, 196 insertions(+), 115 deletions(-) diff --git a/src/unity.c b/src/unity.c index 02b44724..fe495f40 100644 --- a/src/unity.c +++ b/src/unity.c @@ -566,34 +566,7 @@ void UnityConcludeTest(void) static void UnityPrintFVA(const char* format, va_list va); #endif - -static void UnityAddMsgIfSpecified(const char* msg) -{ - if (msg) - { - UnityPrint(UnityStrSpacer); - -#ifdef UNITY_PRINT_TEST_CONTEXT - UNITY_PRINT_TEST_CONTEXT(); -#endif -#ifndef UNITY_EXCLUDE_DETAILS - if (Unity.CurrentDetail1) - { - UnityPrint(UnityStrDetail1Name); - UnityPrint(Unity.CurrentDetail1); - if (Unity.CurrentDetail2) - { - UnityPrint(UnityStrDetail2Name); - UnityPrint(Unity.CurrentDetail2); - } - UnityPrint(UnityStrSpacer); - } -#endif - UnityPrint(msg); - } -} - -static void UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(const char* msg VA_LIST_IF_ENABLED) +static void UnityAddMsgIfSpecified(const char* msg VA_LIST_IF_ENABLED) { if (msg) { @@ -696,7 +669,7 @@ static void UnityPrintExpectedAndActualStringsLen(const char* expected, { \ va_list va; \ va_start(va, msg); \ - UnityAddMsgIfSpecified_TEMPORARY_VA_TEST(msg, va); \ + UnityAddMsgIfSpecified(msg, va); \ va_end(va); \ UNITY_FAIL_AND_BAIL; \ } @@ -900,8 +873,7 @@ void UnityAssertEqualIntArray(UNITY_INTERNAL_PTR expected, UnityPrintNumberByStyle(expect_val, style); UnityPrint(UnityStrWas); UnityPrintNumberByStyle(actual_val, style); - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; + UnityPrintMsgIfSpecifiedAndBail(msg); } /* Walk through array by incrementing the pointers */ if (flags == UNITY_ARRAY_TO_ARRAY) @@ -952,9 +924,9 @@ static int UnityFloatsWithin(UNITY_FLOAT delta, UNITY_FLOAT expected, UNITY_FLOA void UnityAssertEqualFloatArray(UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* expected, UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* actual, const UNITY_UINT32 num_elements, - const char* msg, const UNITY_LINE_TYPE lineNumber, - const UNITY_FLAGS_T flags) + const UNITY_FLAGS_T flags, + const char* msg VA_ARGS_IF_ENABLED) { UNITY_UINT32 elements = num_elements; UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* ptr_expected = expected; @@ -985,8 +957,7 @@ void UnityAssertEqualFloatArray(UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* expected, UnityPrint(UnityStrElement); UnityPrintNumberUnsigned(num_elements - elements - 1); UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT((UNITY_DOUBLE)*ptr_expected, (UNITY_DOUBLE)*ptr_actual); - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; + UnityPrintMsgIfSpecifiedAndBail(msg); } if (flags == UNITY_ARRAY_TO_ARRAY) { @@ -1000,8 +971,8 @@ void UnityAssertEqualFloatArray(UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* expected, void UnityAssertFloatsWithin(const UNITY_FLOAT delta, const UNITY_FLOAT expected, const UNITY_FLOAT actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber) + const UNITY_LINE_TYPE lineNumber, + const char* msg VA_ARGS_IF_ENABLED) { RETURN_IF_FAIL_OR_IGNORE; @@ -1010,16 +981,15 @@ void UnityAssertFloatsWithin(const UNITY_FLOAT delta, { UnityTestResultsFailBegin(lineNumber); UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT((UNITY_DOUBLE)expected, (UNITY_DOUBLE)actual); - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; + UnityPrintMsgIfSpecifiedAndBail(msg); } } /*-----------------------------------------------*/ void UnityAssertFloatSpecial(const UNITY_FLOAT actual, - const char* msg, const UNITY_LINE_TYPE lineNumber, - const UNITY_FLOAT_TRAIT_T style) + const UNITY_FLOAT_TRAIT_T style, + const char* msg VA_ARGS_IF_ENABLED) { const char* trait_names[] = {UnityStrInf, UnityStrNegInf, UnityStrNaN, UnityStrDet}; UNITY_INT should_be_trait = ((UNITY_INT)style & 1); @@ -1074,8 +1044,7 @@ void UnityAssertFloatSpecial(const UNITY_FLOAT actual, } UnityPrint(trait_names[trait_index]); #endif - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; + UnityPrintMsgIfSpecifiedAndBail(msg); } } @@ -1093,9 +1062,9 @@ static int UnityDoublesWithin(UNITY_DOUBLE delta, UNITY_DOUBLE expected, UNITY_D void UnityAssertEqualDoubleArray(UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* expected, UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* actual, const UNITY_UINT32 num_elements, - const char* msg, const UNITY_LINE_TYPE lineNumber, - const UNITY_FLAGS_T flags) + const UNITY_FLAGS_T flags, + const char* msg VA_ARGS_IF_ENABLED) { UNITY_UINT32 elements = num_elements; UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* ptr_expected = expected; @@ -1126,8 +1095,7 @@ void UnityAssertEqualDoubleArray(UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* expecte UnityPrint(UnityStrElement); UnityPrintNumberUnsigned(num_elements - elements - 1); UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT(*ptr_expected, *ptr_actual); - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; + UnityPrintMsgIfSpecifiedAndBail(msg); } if (flags == UNITY_ARRAY_TO_ARRAY) { @@ -1141,8 +1109,8 @@ void UnityAssertEqualDoubleArray(UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* expecte void UnityAssertDoublesWithin(const UNITY_DOUBLE delta, const UNITY_DOUBLE expected, const UNITY_DOUBLE actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber) + const UNITY_LINE_TYPE lineNumber, + const char* msg VA_ARGS_IF_ENABLED) { RETURN_IF_FAIL_OR_IGNORE; @@ -1150,16 +1118,15 @@ void UnityAssertDoublesWithin(const UNITY_DOUBLE delta, { UnityTestResultsFailBegin(lineNumber); UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT(expected, actual); - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; + UnityPrintMsgIfSpecifiedAndBail(msg); } } /*-----------------------------------------------*/ void UnityAssertDoubleSpecial(const UNITY_DOUBLE actual, - const char* msg, const UNITY_LINE_TYPE lineNumber, - const UNITY_FLOAT_TRAIT_T style) + const UNITY_FLOAT_TRAIT_T style, + const char* msg VA_ARGS_IF_ENABLED) { const char* trait_names[] = {UnityStrInf, UnityStrNegInf, UnityStrNaN, UnityStrDet}; UNITY_INT should_be_trait = ((UNITY_INT)style & 1); @@ -1214,8 +1181,7 @@ void UnityAssertDoubleSpecial(const UNITY_DOUBLE actual, } UnityPrint(trait_names[trait_index]); #endif - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; + UnityPrintMsgIfSpecifiedAndBail(msg); } } diff --git a/src/unity.h b/src/unity.h index a89d59ac..5277dcba 100644 --- a/src/unity.h +++ b/src/unity.h @@ -443,6 +443,8 @@ void verifyTest(void); #define TEST_ASSERT_BITS_LOW_MESSAGE(mask, actual, message) UNITY_TEST_ASSERT_BITS((mask), (UNITY_UINT32)(0), (actual), __LINE__, (message)) #define TEST_ASSERT_BIT_HIGH_MESSAGE(bit, actual, message) UNITY_TEST_ASSERT_BITS(((UNITY_UINT32)1 << (bit)), (UNITY_UINT32)(-1), (actual), __LINE__, (message)) #define TEST_ASSERT_BIT_LOW_MESSAGE(bit, actual, message) UNITY_TEST_ASSERT_BITS(((UNITY_UINT32)1 << (bit)), (UNITY_UINT32)(0), (actual), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_CHAR_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_CHAR((expected), (actual), __LINE__, (message)) + #else #define TEST_ASSERT_EQUAL_INT_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_INT((expected), (actual), __LINE__, __VA_ARGS__) #define TEST_ASSERT_EQUAL_INT8_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_INT8((expected), (actual), __LINE__, __VA_ARGS__) @@ -465,10 +467,9 @@ void verifyTest(void); #define TEST_ASSERT_BITS_LOW_MESSAGE(mask, actual, ...) UNITY_TEST_ASSERT_BITS((mask), (UNITY_UINT32)(0), (actual), __LINE__, __VA_ARGS__) #define TEST_ASSERT_BIT_HIGH_MESSAGE(bit, actual, ...) UNITY_TEST_ASSERT_BITS(((UNITY_UINT32)1 << (bit)), (UNITY_UINT32)(-1), (actual), __LINE__, __VA_ARGS__) #define TEST_ASSERT_BIT_LOW_MESSAGE(bit, actual, ...) UNITY_TEST_ASSERT_BITS(((UNITY_UINT32)1 << (bit)), (UNITY_UINT32)(0), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_CHAR_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_CHAR((expected), (actual), __LINE__, __VA_ARGS__) #endif -#define TEST_ASSERT_EQUAL_CHAR_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_CHAR((expected), (actual), __LINE__, (message)) - /* Integer Not Equal To (of all sizes) */ #ifndef UNITY_INCLUDE_PRINT_FORMATTED #define TEST_ASSERT_NOT_EQUAL_INT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_INT((threshold), (actual), __LINE__, (message)) @@ -652,6 +653,7 @@ void verifyTest(void); #define TEST_ASSERT_LESS_OR_EQUAL_HEX64_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64((threshold), (actual), __LINE__, __VA_ARGS__) #define TEST_ASSERT_LESS_OR_EQUAL_CHAR_MESSAGE(threshold, actual, ...) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_CHAR((threshold), (actual), __LINE__, __VA_ARGS__) #endif + /* Integer Ranges (of all sizes) */ #ifndef UNITY_INCLUDE_PRINT_FORMATTED #define TEST_ASSERT_INT_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_INT_WITHIN((delta), (expected), (actual), __LINE__, (message)) @@ -690,6 +692,7 @@ void verifyTest(void); #define TEST_ASSERT_HEX64_WITHIN_MESSAGE(delta, expected, actual, ...) UNITY_TEST_ASSERT_HEX64_WITHIN((delta), (expected), (actual), __LINE__, __VA_ARGS__) #define TEST_ASSERT_CHAR_WITHIN_MESSAGE(delta, expected, actual, ...) UNITY_TEST_ASSERT_CHAR_WITHIN((delta), (expected), (actual), __LINE__, __VA_ARGS__) #endif + /* Integer Array Ranges (of all sizes) */ #ifndef UNITY_INCLUDE_PRINT_FORMATTED #define TEST_ASSERT_INT_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_INT_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) @@ -833,6 +836,7 @@ void verifyTest(void); #endif /* Floating Point (If Enabled) */ +#ifndef UNITY_INCLUDE_PRINT_FORMATTED #define TEST_ASSERT_FLOAT_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_FLOAT_WITHIN((delta), (expected), (actual), __LINE__, (message)) #define TEST_ASSERT_EQUAL_FLOAT_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_FLOAT((expected), (actual), __LINE__, (message)) #define TEST_ASSERT_EQUAL_FLOAT_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) @@ -845,8 +849,23 @@ void verifyTest(void); #define TEST_ASSERT_FLOAT_IS_NOT_NEG_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_NOT_NEG_INF((actual), __LINE__, (message)) #define TEST_ASSERT_FLOAT_IS_NOT_NAN_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN((actual), __LINE__, (message)) #define TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE((actual), __LINE__, (message)) +#else +#define TEST_ASSERT_FLOAT_WITHIN_MESSAGE(delta, expected, actual, ...) UNITY_TEST_ASSERT_FLOAT_WITHIN((delta), (expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_FLOAT_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_FLOAT((expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_FLOAT_ARRAY_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EACH_EQUAL_FLOAT_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EACH_EQUAL_FLOAT((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_FLOAT_IS_INF_MESSAGE(actual, ...) UNITY_TEST_ASSERT_FLOAT_IS_INF((actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_FLOAT_IS_NEG_INF_MESSAGE(actual, ...) UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF((actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_FLOAT_IS_NAN_MESSAGE(actual, ...) UNITY_TEST_ASSERT_FLOAT_IS_NAN((actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_FLOAT_IS_DETERMINATE_MESSAGE(actual, ...) UNITY_TEST_ASSERT_FLOAT_IS_DETERMINATE((actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_FLOAT_IS_NOT_INF_MESSAGE(actual, ...) UNITY_TEST_ASSERT_FLOAT_IS_NOT_INF((actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_FLOAT_IS_NOT_NEG_INF_MESSAGE(actual, ...) UNITY_TEST_ASSERT_FLOAT_IS_NOT_NEG_INF((actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_FLOAT_IS_NOT_NAN_MESSAGE(actual, ...) UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN((actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE_MESSAGE(actual, ...) UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE((actual), __LINE__, __VA_ARGS__) +#endif /* Double (If Enabled) */ +#ifndef UNITY_INCLUDE_PRINT_FORMATTED #define TEST_ASSERT_DOUBLE_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_DOUBLE_WITHIN((delta), (expected), (actual), __LINE__, (message)) #define TEST_ASSERT_EQUAL_DOUBLE_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_DOUBLE((expected), (actual), __LINE__, (message)) #define TEST_ASSERT_EQUAL_DOUBLE_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) @@ -859,6 +878,20 @@ void verifyTest(void); #define TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF((actual), __LINE__, (message)) #define TEST_ASSERT_DOUBLE_IS_NOT_NAN_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN((actual), __LINE__, (message)) #define TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE((actual), __LINE__, (message)) +#else +#define TEST_ASSERT_DOUBLE_WITHIN_MESSAGE(delta, expected, actual, ...) UNITY_TEST_ASSERT_DOUBLE_WITHIN((delta), (expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_DOUBLE_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_DOUBLE((expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EQUAL_DOUBLE_ARRAY_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_EACH_EQUAL_DOUBLE_MESSAGE(expected, actual, num_elements, ...) UNITY_TEST_ASSERT_EACH_EQUAL_DOUBLE((expected), (actual), (num_elements), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_DOUBLE_IS_INF_MESSAGE(actual, ...) UNITY_TEST_ASSERT_DOUBLE_IS_INF((actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_DOUBLE_IS_NEG_INF_MESSAGE(actual, ...) UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF((actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_DOUBLE_IS_NAN_MESSAGE(actual, ...) UNITY_TEST_ASSERT_DOUBLE_IS_NAN((actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_DOUBLE_IS_DETERMINATE_MESSAGE(actual, ...) UNITY_TEST_ASSERT_DOUBLE_IS_DETERMINATE((actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_DOUBLE_IS_NOT_INF_MESSAGE(actual, ...) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_INF((actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF_MESSAGE(actual, ...) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF((actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_DOUBLE_IS_NOT_NAN_MESSAGE(actual, ...) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN((actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE_MESSAGE(actual, ...) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE((actual), __LINE__, __VA_ARGS__) +#endif /* Shorthand */ #ifndef UNITY_INCLUDE_PRINT_FORMATTED diff --git a/src/unity_internals.h b/src/unity_internals.h index f5e8e991..d0c65a97 100644 --- a/src/unity_internals.h +++ b/src/unity_internals.h @@ -626,40 +626,40 @@ void UnityMessage(const UNITY_LINE_TYPE line, const char* message VA_ARGS_IF_ENA void UnityAssertFloatsWithin(const UNITY_FLOAT delta, const UNITY_FLOAT expected, const UNITY_FLOAT actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber); + const UNITY_LINE_TYPE lineNumber, + const char* msg VA_ARGS_IF_ENABLED); void UnityAssertEqualFloatArray(UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* expected, UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* actual, const UNITY_UINT32 num_elements, - const char* msg, const UNITY_LINE_TYPE lineNumber, - const UNITY_FLAGS_T flags); + const UNITY_FLAGS_T flags, + const char* msg VA_ARGS_IF_ENABLED); void UnityAssertFloatSpecial(const UNITY_FLOAT actual, - const char* msg, const UNITY_LINE_TYPE lineNumber, - const UNITY_FLOAT_TRAIT_T style); + const UNITY_FLOAT_TRAIT_T style, + const char* msg VA_ARGS_IF_ENABLED); #endif #ifndef UNITY_EXCLUDE_DOUBLE void UnityAssertDoublesWithin(const UNITY_DOUBLE delta, const UNITY_DOUBLE expected, const UNITY_DOUBLE actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber); + const UNITY_LINE_TYPE lineNumber, + const char* msg VA_ARGS_IF_ENABLED); void UnityAssertEqualDoubleArray(UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* expected, UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* actual, const UNITY_UINT32 num_elements, - const char* msg, const UNITY_LINE_TYPE lineNumber, - const UNITY_FLAGS_T flags); + const UNITY_FLAGS_T flags, + const char* msg VA_ARGS_IF_ENABLED); void UnityAssertDoubleSpecial(const UNITY_DOUBLE actual, - const char* msg, const UNITY_LINE_TYPE lineNumber, - const UNITY_FLOAT_TRAIT_T style); + const UNITY_FLOAT_TRAIT_T style, + const char* msg VA_ARGS_IF_ENABLED); #endif /*------------------------------------------------------- @@ -1157,38 +1157,61 @@ int UnityTestMatches(void); #endif #else #ifndef UNITY_INCLUDE_PRINT_FORMATTED -#define UNITY_TEST_ASSERT_EQUAL_INT64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_EQUAL_UINT64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_EQUAL_HEX64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_EQUAL_INT64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_EQUAL_UINT64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_EQUAL_HEX64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_INT64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_UINT64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_HEX64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_GREATER_THAN_INT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_GREATER_THAN_UINT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_GREATER_THAN_HEX64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_SMALLER_THAN_INT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_INT64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_UINT64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_HEX64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) #else #define UNITY_TEST_ASSERT_EQUAL_INT64(expected, actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) #define UNITY_TEST_ASSERT_EQUAL_UINT64(expected, actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) #define UNITY_TEST_ASSERT_EQUAL_HEX64(expected, actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_INT64_WITHIN(delta, expected, actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_UINT64_WITHIN(delta, expected, actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_HEX64_WITHIN(delta, expected, actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_GREATER_THAN_INT64(threshold, actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_GREATER_THAN_UINT64(threshold, actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_GREATER_THAN_HEX64(threshold, actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT64(threshold, actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT64(threshold, actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX64(threshold, actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_SMALLER_THAN_INT64(threshold, actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT64(threshold, actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX64(threshold, actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT64(threshold, actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT64(threshold, actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64(threshold, actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_INT64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_UINT64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_HEX64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) #endif -#define UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_INT64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_UINT64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_HEX64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_GREATER_THAN_INT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_GREATER_THAN_UINT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_GREATER_THAN_HEX64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_SMALLER_THAN_INT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_INT64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_UINT64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_HEX64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) + #endif #ifdef UNITY_EXCLUDE_FLOAT +#ifndef UNITY_INCLUDE_PRINT_FORMATTED #define UNITY_TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) #define UNITY_TEST_ASSERT_EQUAL_FLOAT(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) #define UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) @@ -1202,21 +1225,51 @@ int UnityTestMatches(void); #define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) #define UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) #else -#define UNITY_TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual, line, message) UnityAssertFloatsWithin((UNITY_FLOAT)(delta), (UNITY_FLOAT)(expected), (UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line)) +#define UNITY_TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) +#define UNITY_TEST_ASSERT_EQUAL_FLOAT(expected, actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) +#define UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) +#define UNITY_TEST_ASSERT_EACH_EQUAL_FLOAT(expected, actual, num_elements, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) +#define UNITY_TEST_ASSERT_FLOAT_IS_INF(actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) +#define UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF(actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) +#define UNITY_TEST_ASSERT_FLOAT_IS_NAN(actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) +#define UNITY_TEST_ASSERT_FLOAT_IS_DETERMINATE(actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) +#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_INF(actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) +#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NEG_INF(actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) +#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN(actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) +#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) +#endif +#else +#ifndef UNITY_INCLUDE_PRINT_FORMATTED +#define UNITY_TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual, line, message) UnityAssertFloatsWithin((UNITY_FLOAT)(delta), (UNITY_FLOAT)(expected), (UNITY_FLOAT)(actual), (UNITY_LINE_TYPE)(line), (message)) #define UNITY_TEST_ASSERT_EQUAL_FLOAT(expected, actual, line, message) UNITY_TEST_ASSERT_FLOAT_WITHIN((UNITY_FLOAT)(expected) * (UNITY_FLOAT)UNITY_FLOAT_PRECISION, (UNITY_FLOAT)(expected), (UNITY_FLOAT)(actual), (UNITY_LINE_TYPE)(line), (message)) -#define UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualFloatArray((UNITY_FLOAT*)(expected), (UNITY_FLOAT*)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EACH_EQUAL_FLOAT(expected, actual, num_elements, line, message) UnityAssertEqualFloatArray(UnityFloatToPtr(expected), (UNITY_FLOAT*)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_FLOAT_IS_INF(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_INF) -#define UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NEG_INF) -#define UNITY_TEST_ASSERT_FLOAT_IS_NAN(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NAN) -#define UNITY_TEST_ASSERT_FLOAT_IS_DETERMINATE(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_DET) -#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_INF(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_INF) -#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NEG_INF(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NEG_INF) -#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NAN) -#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_DET) +#define UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualFloatArray((UNITY_FLOAT*)(expected), (UNITY_FLOAT*)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY, (message)) +#define UNITY_TEST_ASSERT_EACH_EQUAL_FLOAT(expected, actual, num_elements, line, message) UnityAssertEqualFloatArray(UnityFloatToPtr(expected), (UNITY_FLOAT*)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL, (message)) +#define UNITY_TEST_ASSERT_FLOAT_IS_INF(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_INF, (message)) +#define UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NEG_INF, (message)) +#define UNITY_TEST_ASSERT_FLOAT_IS_NAN(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NAN, (message)) +#define UNITY_TEST_ASSERT_FLOAT_IS_DETERMINATE(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_DET, (message)) +#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_INF(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_INF, (message)) +#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NEG_INF(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NEG_INF, (message)) +#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NAN, (message)) +#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_DET, (message)) +#else +#define UNITY_TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual, line, ...) UnityAssertFloatsWithin((UNITY_FLOAT)(delta), (UNITY_FLOAT)(expected), (UNITY_FLOAT)(actual), (UNITY_LINE_TYPE)(line), __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_FLOAT(expected, actual, line, ...) UNITY_TEST_ASSERT_FLOAT_WITHIN((UNITY_FLOAT)(expected) * (UNITY_FLOAT)UNITY_FLOAT_PRECISION, (UNITY_FLOAT)(expected), (UNITY_FLOAT)(actual), (UNITY_LINE_TYPE)(line), __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements, line, ...) UnityAssertEqualFloatArray((UNITY_FLOAT*)(expected), (UNITY_FLOAT*)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EACH_EQUAL_FLOAT(expected, actual, num_elements, line, ...) UnityAssertEqualFloatArray(UnityFloatToPtr(expected), (UNITY_FLOAT*)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL, __VA_ARGS__) +#define UNITY_TEST_ASSERT_FLOAT_IS_INF(actual, line, ...) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_INF, __VA_ARGS__) +#define UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF(actual, line, ...) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NEG_INF, __VA_ARGS__) +#define UNITY_TEST_ASSERT_FLOAT_IS_NAN(actual, line, ...) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NAN, __VA_ARGS__) +#define UNITY_TEST_ASSERT_FLOAT_IS_DETERMINATE(actual, line, ...) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_DET, __VA_ARGS__) +#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_INF(actual, line, ...) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_INF, __VA_ARGS__) +#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NEG_INF(actual, line, ...) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NEG_INF, __VA_ARGS__) +#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN(actual, line, ...) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NAN, __VA_ARGS__) +#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(actual, line, ...) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_DET, __VA_ARGS__) +#endif #endif #ifdef UNITY_EXCLUDE_DOUBLE +#ifndef UNITY_INCLUDE_PRINT_FORMATTED #define UNITY_TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) #define UNITY_TEST_ASSERT_EQUAL_DOUBLE(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) #define UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) @@ -1230,18 +1283,47 @@ int UnityTestMatches(void); #define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) #define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) #else -#define UNITY_TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual, line, message) UnityAssertDoublesWithin((UNITY_DOUBLE)(delta), (UNITY_DOUBLE)(expected), (UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line)) +#define UNITY_TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) +#define UNITY_TEST_ASSERT_EQUAL_DOUBLE(expected, actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) +#define UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) +#define UNITY_TEST_ASSERT_EACH_EQUAL_DOUBLE(expected, actual, num_elements, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) +#define UNITY_TEST_ASSERT_DOUBLE_IS_INF(actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) +#define UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF(actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) +#define UNITY_TEST_ASSERT_DOUBLE_IS_NAN(actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) +#define UNITY_TEST_ASSERT_DOUBLE_IS_DETERMINATE(actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) +#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_INF(actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) +#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF(actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) +#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN(actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) +#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(actual, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) +#endif +#else +#ifndef UNITY_INCLUDE_PRINT_FORMATTED +#define UNITY_TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual, line, message) UnityAssertDoublesWithin((UNITY_DOUBLE)(delta), (UNITY_DOUBLE)(expected), (UNITY_DOUBLE)(actual), (UNITY_LINE_TYPE)(line), (message)) #define UNITY_TEST_ASSERT_EQUAL_DOUBLE(expected, actual, line, message) UNITY_TEST_ASSERT_DOUBLE_WITHIN((UNITY_DOUBLE)(expected) * (UNITY_DOUBLE)UNITY_DOUBLE_PRECISION, (UNITY_DOUBLE)(expected), (UNITY_DOUBLE)(actual), (UNITY_LINE_TYPE)(line), (message)) -#define UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualDoubleArray((UNITY_DOUBLE*)(expected), (UNITY_DOUBLE*)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EACH_EQUAL_DOUBLE(expected, actual, num_elements, line, message) UnityAssertEqualDoubleArray(UnityDoubleToPtr(expected), (UNITY_DOUBLE*)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_DOUBLE_IS_INF(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_INF) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NEG_INF) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NAN(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NAN) -#define UNITY_TEST_ASSERT_DOUBLE_IS_DETERMINATE(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_DET) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_INF(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_INF) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NEG_INF) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NAN) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_DET) +#define UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualDoubleArray((UNITY_DOUBLE*)(expected), (UNITY_DOUBLE*)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY, (message)) +#define UNITY_TEST_ASSERT_EACH_EQUAL_DOUBLE(expected, actual, num_elements, line, message) UnityAssertEqualDoubleArray(UnityDoubleToPtr(expected), (UNITY_DOUBLE*)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL, (message)) +#define UNITY_TEST_ASSERT_DOUBLE_IS_INF(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_INF, (message)) +#define UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NEG_INF, (message)) +#define UNITY_TEST_ASSERT_DOUBLE_IS_NAN(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NAN, (message)) +#define UNITY_TEST_ASSERT_DOUBLE_IS_DETERMINATE(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_DET, (message)) +#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_INF(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_INF, (message)) +#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NEG_INF, (message)) +#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NAN, (message)) +#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_DET, (message)) +#else +#define UNITY_TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual, line, ...) UnityAssertDoublesWithin((UNITY_DOUBLE)(delta), (UNITY_DOUBLE)(expected), (UNITY_DOUBLE)(actual), (UNITY_LINE_TYPE)(line), __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_DOUBLE(expected, actual, line, ...) UNITY_TEST_ASSERT_DOUBLE_WITHIN((UNITY_DOUBLE)(expected) * (UNITY_DOUBLE)UNITY_DOUBLE_PRECISION, (UNITY_DOUBLE)(expected), (UNITY_DOUBLE)(actual), (UNITY_LINE_TYPE)(line), __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements, line, ...) UnityAssertEqualDoubleArray((UNITY_DOUBLE*)(expected), (UNITY_DOUBLE*)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EACH_EQUAL_DOUBLE(expected, actual, num_elements, line, ...) UnityAssertEqualDoubleArray(UnityDoubleToPtr(expected), (UNITY_DOUBLE*)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL, __VA_ARGS__) +#define UNITY_TEST_ASSERT_DOUBLE_IS_INF(actual, line, ...) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_INF, __VA_ARGS__) +#define UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF(actual, line, ...) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NEG_INF, __VA_ARGS__) +#define UNITY_TEST_ASSERT_DOUBLE_IS_NAN(actual, line, ...) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NAN, __VA_ARGS__) +#define UNITY_TEST_ASSERT_DOUBLE_IS_DETERMINATE(actual, line, ...) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_DET, __VA_ARGS__) +#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_INF(actual, line, ...) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_INF, __VA_ARGS__) +#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF(actual, line, ...) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NEG_INF, __VA_ARGS__) +#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN(actual, line, ...) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NAN, __VA_ARGS__) +#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(actual, line, ...) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_DET, __VA_ARGS__) +#endif #endif /* End of UNITY_INTERNALS_H */ From 00989acd2bbdbb561ab7a2ba4cbc2ff56e2a132e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alari=20=C3=95is?= Date: Thu, 7 May 2020 12:47:46 +0300 Subject: [PATCH 09/12] Cosmetic changes --- src/unity.h | 2 +- src/unity_internals.h | 9 +++------ 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/unity.h b/src/unity.h index 5277dcba..015bdf9f 100644 --- a/src/unity.h +++ b/src/unity.h @@ -444,7 +444,6 @@ void verifyTest(void); #define TEST_ASSERT_BIT_HIGH_MESSAGE(bit, actual, message) UNITY_TEST_ASSERT_BITS(((UNITY_UINT32)1 << (bit)), (UNITY_UINT32)(-1), (actual), __LINE__, (message)) #define TEST_ASSERT_BIT_LOW_MESSAGE(bit, actual, message) UNITY_TEST_ASSERT_BITS(((UNITY_UINT32)1 << (bit)), (UNITY_UINT32)(0), (actual), __LINE__, (message)) #define TEST_ASSERT_EQUAL_CHAR_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_CHAR((expected), (actual), __LINE__, (message)) - #else #define TEST_ASSERT_EQUAL_INT_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_INT((expected), (actual), __LINE__, __VA_ARGS__) #define TEST_ASSERT_EQUAL_INT8_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_INT8((expected), (actual), __LINE__, __VA_ARGS__) @@ -937,6 +936,7 @@ void verifyTest(void); #define TEST_ASSERT_NOT_EQUAL_MESSAGE(expected, actual, ...) UNITY_TEST_FAIL(__LINE__, UnityStrErrShorthand) #endif #endif + /* end of UNITY_FRAMEWORK_H */ #ifdef __cplusplus } diff --git a/src/unity_internals.h b/src/unity_internals.h index d0c65a97..ddaa41bf 100644 --- a/src/unity_internals.h +++ b/src/unity_internals.h @@ -798,6 +798,7 @@ int UnityTestMatches(void); #define UNITY_TEST_ASSERT_EQUAL_HEX16(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT16)(expected), (UNITY_INT)(UNITY_INT16)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, (message)) #define UNITY_TEST_ASSERT_EQUAL_HEX32(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT32)(expected), (UNITY_INT)(UNITY_INT32)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, (message)) #define UNITY_TEST_ASSERT_EQUAL_CHAR(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT8 )(expected), (UNITY_INT)(UNITY_INT8 )(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, (message)) +#define UNITY_TEST_ASSERT_BITS(mask, expected, actual, line, message) UnityAssertBits((UNITY_INT)(mask), (UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), (message)) #else #define UNITY_TEST_ASSERT_EQUAL_INT(expected, actual, line, ...) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, __VA_ARGS__) #define UNITY_TEST_ASSERT_EQUAL_INT8(expected, actual, line, ...) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT8 )(expected), (UNITY_INT)(UNITY_INT8 )(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, __VA_ARGS__) @@ -811,11 +812,6 @@ int UnityTestMatches(void); #define UNITY_TEST_ASSERT_EQUAL_HEX16(expected, actual, line, ...) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT16)(expected), (UNITY_INT)(UNITY_INT16)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, __VA_ARGS__) #define UNITY_TEST_ASSERT_EQUAL_HEX32(expected, actual, line, ...) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT32)(expected), (UNITY_INT)(UNITY_INT32)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, __VA_ARGS__) #define UNITY_TEST_ASSERT_EQUAL_CHAR(expected, actual, line, ...) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT8 )(expected), (UNITY_INT)(UNITY_INT8 )(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, __VA_ARGS__) -#endif - -#ifndef UNITY_INCLUDE_PRINT_FORMATTED -#define UNITY_TEST_ASSERT_BITS(mask, expected, actual, line, message) UnityAssertBits((UNITY_INT)(mask), (UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), (message)) -#else #define UNITY_TEST_ASSERT_BITS(mask, expected, actual, line, ...) UnityAssertBits((UNITY_INT)(mask), (UNITY_INT)(expected), (UNITY_INT)(actual), (UNITY_LINE_TYPE)(line), __VA_ARGS__) #endif @@ -978,6 +974,7 @@ int UnityTestMatches(void); #define UNITY_TEST_ASSERT_HEX32_WITHIN(delta, expected, actual, line, ...) UnityAssertNumbersWithin((UNITY_UINT32)(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, __VA_ARGS__) #define UNITY_TEST_ASSERT_CHAR_WITHIN(delta, expected, actual, line, ...) UnityAssertNumbersWithin((UNITY_UINT8 )(delta), (UNITY_INT)(UNITY_INT8 ) (expected), (UNITY_INT)(UNITY_INT8 ) (actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, __VA_ARGS__) #endif + #ifndef UNITY_INCLUDE_PRINT_FORMATTED #define UNITY_TEST_ASSERT_INT_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin( (delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, UNITY_ARRAY_TO_ARRAY, (message)) #define UNITY_TEST_ASSERT_INT8_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT8 )(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, UNITY_ARRAY_TO_ARRAY, (message)) @@ -1146,6 +1143,7 @@ int UnityTestMatches(void); #define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT64(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, __VA_ARGS__) #define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64(threshold, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_OR_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, __VA_ARGS__) #endif + #ifndef UNITY_INCLUDE_PRINT_FORMATTED #define UNITY_TEST_ASSERT_INT64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT64)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, UNITY_ARRAY_TO_ARRAY, (message)) #define UNITY_TEST_ASSERT_UINT64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT64)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, UNITY_ARRAY_TO_ARRAY, (message)) @@ -1207,7 +1205,6 @@ int UnityTestMatches(void); #define UNITY_TEST_ASSERT_UINT64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) #define UNITY_TEST_ASSERT_HEX64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, ...) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) #endif - #endif #ifdef UNITY_EXCLUDE_FLOAT From 582312fc8a01c3e83ef7535316eee8707bf87b68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alari=20=C3=95is?= Date: Thu, 7 May 2020 13:15:19 +0300 Subject: [PATCH 10/12] Changed UnityAssertFloatSpecial and UnityAssertDoubleSpecial argument ordering in tests --- test/tests/test_unity_doubles.c | 2 +- test/tests/test_unity_floats.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/tests/test_unity_doubles.c b/test/tests/test_unity_doubles.c index 1bdedbc3..eaa94910 100644 --- a/test/tests/test_unity_doubles.c +++ b/test/tests/test_unity_doubles.c @@ -380,7 +380,7 @@ void testDoubleTraitFailsOnInvalidTrait(void) TEST_IGNORE(); #else EXPECT_ABORT_BEGIN - UnityAssertDoubleSpecial(1.0, NULL, __LINE__, UNITY_FLOAT_INVALID_TRAIT); + UnityAssertDoubleSpecial(1.0, __LINE__, UNITY_FLOAT_INVALID_TRAIT, NULL); VERIFY_FAILS_END #endif } diff --git a/test/tests/test_unity_floats.c b/test/tests/test_unity_floats.c index e89bec20..37265be6 100644 --- a/test/tests/test_unity_floats.c +++ b/test/tests/test_unity_floats.c @@ -379,7 +379,7 @@ void testFloatTraitFailsOnInvalidTrait(void) TEST_IGNORE(); #else EXPECT_ABORT_BEGIN - UnityAssertFloatSpecial(1.0f, NULL, __LINE__, UNITY_FLOAT_INVALID_TRAIT); + UnityAssertFloatSpecial(1.0f, __LINE__, UNITY_FLOAT_INVALID_TRAIT, NULL); VERIFY_FAILS_END #endif } From 6e19820f0badb44865f939270c27b4e0860a5b6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alari=20=C3=95is?= Date: Tue, 26 May 2020 16:13:43 +0300 Subject: [PATCH 11/12] TEST_ASSERT_NOT_EQUAL_PTR and TEST_ASSERT_NOT_EQUAL_STRING --- src/unity.c | 33 ++++++++++++++++++++++++++------- src/unity.h | 8 ++++++++ src/unity_internals.h | 29 +++++++++++++++++++---------- 3 files changed, 53 insertions(+), 17 deletions(-) diff --git a/src/unity.c b/src/unity.c index ec19623b..4004f340 100644 --- a/src/unity.c +++ b/src/unity.c @@ -598,7 +598,7 @@ static void UnityAddMsgIfSpecified(const char* msg VA_LIST_IF_ENABLED) } /*-----------------------------------------------*/ -static void UnityPrintExpectedAndActualStrings(const char* expected, const char* actual) +static void UnityPrintExpectedAndActualStrings(const char* expected, const char* actual, UNITY_UINT not) { UnityPrint(UnityStrExpected); if (expected != NULL) @@ -611,7 +611,16 @@ static void UnityPrintExpectedAndActualStrings(const char* expected, const char* { UnityPrint(UnityStrNull); } - UnityPrint(UnityStrWas); + + if(not) + { + UnityPrint(UnityStrNotEqual); + } + else + { + UnityPrint(UnityStrWas); + } + if (actual != NULL) { UNITY_OUTPUT_CHAR('\''); @@ -1358,9 +1367,11 @@ void UnityAssertNumbersArrayWithin(const UNITY_UINT delta, void UnityAssertEqualString(const char* expected, const char* actual, const UNITY_LINE_TYPE lineNumber, + const UNITY_UINT not, const char* msg VA_ARGS_IF_ENABLED) { UNITY_UINT32 i; + UNITY_UINT32 not_equal = 0; RETURN_IF_FAIL_OR_IGNORE; @@ -1371,7 +1382,7 @@ void UnityAssertEqualString(const char* expected, { if (expected[i] != actual[i]) { - Unity.CurrentTestFailed = 1; + not_equal = 1; break; } } @@ -1380,14 +1391,19 @@ void UnityAssertEqualString(const char* expected, { /* handle case of one pointers being null (if both null, test should pass) */ if (expected != actual) { - Unity.CurrentTestFailed = 1; + not_equal = 1; } } + if(not_equal != not) + { + Unity.CurrentTestFailed = 1; + } + if (Unity.CurrentTestFailed) { UnityTestResultsFailBegin(lineNumber); - UnityPrintExpectedAndActualStrings(expected, actual); + UnityPrintExpectedAndActualStrings(expected, actual, not); UnityPrintMsgIfSpecifiedAndBail(msg); } } @@ -1397,10 +1413,12 @@ void UnityAssertEqualStringLen(const char* expected, const char* actual, const UNITY_UINT32 length, const UNITY_LINE_TYPE lineNumber, + const UNITY_UINT not, const char* msg VA_ARGS_IF_ENABLED) { UNITY_UINT32 i; + (void)not; RETURN_IF_FAIL_OR_IGNORE; /* if both pointers not null compare the strings */ @@ -1503,7 +1521,7 @@ void UnityAssertEqualStringArray(UNITY_INTERNAL_PTR expected, UnityPrint(UnityStrElement); UnityPrintNumberUnsigned(j); } - UnityPrintExpectedAndActualStrings(expd, act); + UnityPrintExpectedAndActualStrings(expd, act, 0); UnityPrintMsgIfSpecifiedAndBail(msg); } } while (++j < num_elements); @@ -1516,13 +1534,14 @@ void UnityAssertEqualMemory(UNITY_INTERNAL_PTR expected, const UNITY_UINT32 num_elements, const UNITY_LINE_TYPE lineNumber, const UNITY_FLAGS_T flags, + const UNITY_UINT not, const char* msg VA_ARGS_IF_ENABLED) { UNITY_PTR_ATTRIBUTE const unsigned char* ptr_exp = (UNITY_PTR_ATTRIBUTE const unsigned char*)expected; UNITY_PTR_ATTRIBUTE const unsigned char* ptr_act = (UNITY_PTR_ATTRIBUTE const unsigned char*)actual; UNITY_UINT32 elements = num_elements; UNITY_UINT32 bytes; - + (void)not; RETURN_IF_FAIL_OR_IGNORE; if ((elements == 0) || (length == 0)) diff --git a/src/unity.h b/src/unity.h index 015bdf9f..50e358bf 100644 --- a/src/unity.h +++ b/src/unity.h @@ -301,6 +301,8 @@ void verifyTest(void); #define TEST_ASSERT_EQUAL_STRING_LEN(expected, actual, len) UNITY_TEST_ASSERT_EQUAL_STRING_LEN((expected), (actual), (len), __LINE__, NULL) #define TEST_ASSERT_EQUAL_MEMORY(expected, actual, len) UNITY_TEST_ASSERT_EQUAL_MEMORY((expected), (actual), (len), __LINE__, NULL) +#define TEST_ASSERT_NOT_EQUAL_PTR(expected, actual) UNITY_TEST_ASSERT_NOT_EQUAL_PTR((expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_NOT_EQUAL_STRING(expected, actual) UNITY_TEST_ASSERT_NOT_EQUAL_STRING((expected), (actual), __LINE__, NULL) /* Arrays */ #define TEST_ASSERT_EQUAL_INT_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_INT_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) #define TEST_ASSERT_EQUAL_INT8_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_INT8_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) @@ -737,11 +739,17 @@ void verifyTest(void); #define TEST_ASSERT_EQUAL_STRING_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_STRING((expected), (actual), __LINE__, (message)) #define TEST_ASSERT_EQUAL_STRING_LEN_MESSAGE(expected, actual, len, message) UNITY_TEST_ASSERT_EQUAL_STRING_LEN((expected), (actual), (len), __LINE__, (message)) #define TEST_ASSERT_EQUAL_MEMORY_MESSAGE(expected, actual, len, message) UNITY_TEST_ASSERT_EQUAL_MEMORY((expected), (actual), (len), __LINE__, (message)) + +#define TEST_ASSERT_NOT_EQUAL_PTR_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_PTR((expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_NOT_EQUAL_STRING_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_STRING((expected), (actual), __LINE__, (message)) #else #define TEST_ASSERT_EQUAL_PTR_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_PTR((expected), (actual), __LINE__, __VA_ARGS__) #define TEST_ASSERT_EQUAL_STRING_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_STRING((expected), (actual), __LINE__, __VA_ARGS__) #define TEST_ASSERT_EQUAL_STRING_LEN_MESSAGE(expected, actual, len, ...) UNITY_TEST_ASSERT_EQUAL_STRING_LEN((expected), (actual), (len), __LINE__, __VA_ARGS__) #define TEST_ASSERT_EQUAL_MEMORY_MESSAGE(expected, actual, len, ...) UNITY_TEST_ASSERT_EQUAL_MEMORY((expected), (actual), (len), __LINE__, __VA_ARGS__) + +#define TEST_ASSERT_NOT_EQUAL_PTR_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_NOT_EQUAL_PTR((expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_NOT_EQUAL_STRING_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_NOT_EQUAL_STRING((expected), (actual), __LINE__, __VA_ARGS__) #endif /* Arrays */ diff --git a/src/unity_internals.h b/src/unity_internals.h index 9cfdacaf..8db470d5 100644 --- a/src/unity_internals.h +++ b/src/unity_internals.h @@ -584,12 +584,14 @@ void UnityAssertBits(const UNITY_INT mask, void UnityAssertEqualString(const char* expected, const char* actual, const UNITY_LINE_TYPE lineNumber, + const UNITY_UINT not, const char* msg VA_ARGS_IF_ENABLED); void UnityAssertEqualStringLen(const char* expected, const char* actual, const UNITY_UINT32 length, const UNITY_LINE_TYPE lineNumber, + const UNITY_UINT not, const char* msg VA_ARGS_IF_ENABLED); void UnityAssertEqualStringArray( UNITY_INTERNAL_PTR expected, @@ -605,6 +607,7 @@ void UnityAssertEqualMemory( UNITY_INTERNAL_PTR expected, const UNITY_UINT32 num_elements, const UNITY_LINE_TYPE lineNumber, const UNITY_FLAGS_T flags, + const UNITY_UINT not, const char* msg VA_ARGS_IF_ENABLED); void UnityAssertNumbersWithin(const UNITY_UINT delta, @@ -1010,14 +1013,20 @@ int UnityTestMatches(void); #ifndef UNITY_INCLUDE_PRINT_FORMATTED #define UNITY_TEST_ASSERT_EQUAL_PTR(expected, actual, line, message) UnityAssertEqualNumber((UNITY_PTR_TO_INT)(expected), (UNITY_PTR_TO_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER, (message)) -#define UNITY_TEST_ASSERT_EQUAL_STRING(expected, actual, line, message) UnityAssertEqualString((const char*)(expected), (const char*)(actual), (UNITY_LINE_TYPE)(line), (message)) -#define UNITY_TEST_ASSERT_EQUAL_STRING_LEN(expected, actual, len, line, message) UnityAssertEqualStringLen((const char*)(expected), (const char*)(actual), (UNITY_UINT32)(len), (UNITY_LINE_TYPE)(line), (message)) -#define UNITY_TEST_ASSERT_EQUAL_MEMORY(expected, actual, len, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), 1, (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY, (message)) +#define UNITY_TEST_ASSERT_EQUAL_STRING(expected, actual, line, message) UnityAssertEqualString((const char*)(expected), (const char*)(actual), (UNITY_LINE_TYPE)(line), (UNITY_UINT)0, (message)) +#define UNITY_TEST_ASSERT_EQUAL_STRING_LEN(expected, actual, len, line, message) UnityAssertEqualStringLen((const char*)(expected), (const char*)(actual), (UNITY_UINT32)(len), (UNITY_LINE_TYPE)(line), (UNITY_UINT)0, (message)) +#define UNITY_TEST_ASSERT_EQUAL_MEMORY(expected, actual, len, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), 1, (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY, (UNITY_UINT)0, (message)) + +#define UNITY_TEST_ASSERT_NOT_EQUAL_PTR(expected, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_PTR_TO_INT)(expected), (UNITY_INT)(UNITY_PTR_TO_INT)(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER, (message)) +#define UNITY_TEST_ASSERT_NOT_EQUAL_STRING(expected, actual, line, message) UnityAssertEqualString((const char*)(expected), (const char*)(actual), (UNITY_LINE_TYPE)(line), (UNITY_UINT)1, (message)) #else #define UNITY_TEST_ASSERT_EQUAL_PTR(expected, actual, line, ...) UnityAssertEqualNumber((UNITY_PTR_TO_INT)(expected), (UNITY_PTR_TO_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER, __VA_ARGS__) -#define UNITY_TEST_ASSERT_EQUAL_STRING(expected, actual, line, ...) UnityAssertEqualString((const char*)(expected), (const char*)(actual), (UNITY_LINE_TYPE)(line), __VA_ARGS__) -#define UNITY_TEST_ASSERT_EQUAL_STRING_LEN(expected, actual, len, line, ...) UnityAssertEqualStringLen((const char*)(expected), (const char*)(actual), (UNITY_UINT32)(len), (UNITY_LINE_TYPE)(line), __VA_ARGS__) -#define UNITY_TEST_ASSERT_EQUAL_MEMORY(expected, actual, len, line, ...) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), 1, (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_STRING(expected, actual, line, ...) UnityAssertEqualString((const char*)(expected), (const char*)(actual), (UNITY_LINE_TYPE)(line), (UNITY_UINT)0, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_STRING_LEN(expected, actual, len, line, ...) UnityAssertEqualStringLen((const char*)(expected), (const char*)(actual), (UNITY_UINT32)(len), (UNITY_LINE_TYPE)(line), (UNITY_UINT)0, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_MEMORY(expected, actual, len, line, ...) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), 1, (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY, (UNITY_UINT)0, __VA_ARGS__) + +#define UNITY_TEST_ASSERT_NOT_EQUAL_PTR(expected, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_PTR_TO_INT)(expected), (UNITY_INT)(UNITY_PTR_TO_INT)(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER, __VA_ARGS__) +#define UNITY_TEST_ASSERT_NOT_EQUAL_STRING(expected, actual, line, ...) UnityAssertEqualString((const char*)(expected), (const char*)(actual), (UNITY_LINE_TYPE)(line), (UNITY_UINT)1, __VA_ARGS__) #endif #ifndef UNITY_INCLUDE_PRINT_FORMATTED @@ -1034,7 +1043,7 @@ int UnityTestMatches(void); #define UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, UNITY_ARRAY_TO_ARRAY, (message)) #define UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER, UNITY_ARRAY_TO_ARRAY, (message)) #define UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualStringArray((UNITY_INTERNAL_PTR)(expected), (const char**)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY, (message)) -#define UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY, (message)) +#define UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY, (UNITY_UINT)0, (message)) #define UNITY_TEST_ASSERT_EQUAL_CHAR_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, UNITY_ARRAY_TO_ARRAY, (message)) #define UNITY_TEST_ASSERT_EACH_EQUAL_INT(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT) (expected), (UNITY_INT_WIDTH / 8)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, UNITY_ARRAY_TO_VAL, (message)) @@ -1050,7 +1059,7 @@ int UnityTestMatches(void); #define UNITY_TEST_ASSERT_EACH_EQUAL_HEX32(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT32 )(expected), 4), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, UNITY_ARRAY_TO_VAL, (message)) #define UNITY_TEST_ASSERT_EACH_EQUAL_PTR(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_PTR_TO_INT) (expected), (UNITY_POINTER_WIDTH / 8)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER, UNITY_ARRAY_TO_VAL, (message)) #define UNITY_TEST_ASSERT_EACH_EQUAL_STRING(expected, actual, num_elements, line, message) UnityAssertEqualStringArray((UNITY_INTERNAL_PTR)(expected), (const char**)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL, (message)) -#define UNITY_TEST_ASSERT_EACH_EQUAL_MEMORY(expected, actual, len, num_elements, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL, (message)) +#define UNITY_TEST_ASSERT_EACH_EQUAL_MEMORY(expected, actual, len, num_elements, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL, (UNITY_UINT)0, (message)) #define UNITY_TEST_ASSERT_EACH_EQUAL_CHAR(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT8 )(expected), 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, UNITY_ARRAY_TO_VAL, (message)) #else #define UNITY_TEST_ASSERT_EQUAL_INT_ARRAY(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) @@ -1066,7 +1075,7 @@ int UnityTestMatches(void); #define UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) #define UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) #define UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements, line, ...) UnityAssertEqualStringArray((UNITY_INTERNAL_PTR)(expected), (const char**)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) -#define UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements, line, ...) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements, line, ...) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY, (UNITY_UINT)0, __VA_ARGS__) #define UNITY_TEST_ASSERT_EQUAL_CHAR_ARRAY(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, UNITY_ARRAY_TO_ARRAY, __VA_ARGS__) #define UNITY_TEST_ASSERT_EACH_EQUAL_INT(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT) (expected), (UNITY_INT_WIDTH / 8)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, UNITY_ARRAY_TO_VAL, __VA_ARGS__) @@ -1082,7 +1091,7 @@ int UnityTestMatches(void); #define UNITY_TEST_ASSERT_EACH_EQUAL_HEX32(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT32 )(expected), 4), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, UNITY_ARRAY_TO_VAL, __VA_ARGS__) #define UNITY_TEST_ASSERT_EACH_EQUAL_PTR(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_PTR_TO_INT) (expected), (UNITY_POINTER_WIDTH / 8)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER, UNITY_ARRAY_TO_VAL, __VA_ARGS__) #define UNITY_TEST_ASSERT_EACH_EQUAL_STRING(expected, actual, num_elements, line, ...) UnityAssertEqualStringArray((UNITY_INTERNAL_PTR)(expected), (const char**)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL, __VA_ARGS__) -#define UNITY_TEST_ASSERT_EACH_EQUAL_MEMORY(expected, actual, len, num_elements, line, ...) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL, __VA_ARGS__) +#define UNITY_TEST_ASSERT_EACH_EQUAL_MEMORY(expected, actual, len, num_elements, line, ...) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL, (UNITY_UINT)0, __VA_ARGS__) #define UNITY_TEST_ASSERT_EACH_EQUAL_CHAR(expected, actual, num_elements, line, ...) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT8 )(expected), 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, UNITY_ARRAY_TO_VAL, __VA_ARGS__) #endif From 327fdd043b6ff172f090287b5c2b61b90972680c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alari=20=C3=95is?= Date: Tue, 26 May 2020 18:11:13 +0300 Subject: [PATCH 12/12] TEST_ASSERT_NOT_EQUAL_STRING_LEN and TEST_ASSERT_NOT_EQUAL_MEMORY --- src/unity.c | 99 ++++++++++++++++++++++++++++++++----------- src/unity.h | 8 +++- src/unity_internals.h | 4 ++ 3 files changed, 86 insertions(+), 25 deletions(-) diff --git a/src/unity.c b/src/unity.c index 4004f340..87313521 100644 --- a/src/unity.c +++ b/src/unity.c @@ -51,6 +51,7 @@ static const char PROGMEM UnityStrDelta[] = " Values Not Within static const char PROGMEM UnityStrPointless[] = " You Asked Me To Compare Nothing, Which Was Pointless."; static const char PROGMEM UnityStrNullPointerForExpected[] = " Expected pointer to be NULL"; static const char PROGMEM UnityStrNullPointerForActual[] = " Actual pointer was NULL"; +static const char PROGMEM UnityStrBytesOfMemoryNotEqual[] = " bytes of memory not to be equal"; #ifndef UNITY_EXCLUDE_FLOAT static const char PROGMEM UnityStrNot[] = "Not "; static const char PROGMEM UnityStrInf[] = "Infinity"; @@ -636,7 +637,8 @@ static void UnityPrintExpectedAndActualStrings(const char* expected, const char* /*-----------------------------------------------*/ static void UnityPrintExpectedAndActualStringsLen(const char* expected, const char* actual, - const UNITY_UINT32 length) + const UNITY_UINT32 length, + UNITY_UINT not) { UnityPrint(UnityStrExpected); if (expected != NULL) @@ -649,7 +651,16 @@ static void UnityPrintExpectedAndActualStringsLen(const char* expected, { UnityPrint(UnityStrNull); } - UnityPrint(UnityStrWas); + + if(not) + { + UnityPrint(UnityStrNotEqual); + } + else + { + UnityPrint(UnityStrWas); + } + if (actual != NULL) { UNITY_OUTPUT_CHAR('\''); @@ -1417,8 +1428,8 @@ void UnityAssertEqualStringLen(const char* expected, const char* msg VA_ARGS_IF_ENABLED) { UNITY_UINT32 i; + UNITY_UINT32 not_equal = 0; - (void)not; RETURN_IF_FAIL_OR_IGNORE; /* if both pointers not null compare the strings */ @@ -1428,7 +1439,7 @@ void UnityAssertEqualStringLen(const char* expected, { if (expected[i] != actual[i]) { - Unity.CurrentTestFailed = 1; + not_equal = 1; break; } } @@ -1437,14 +1448,19 @@ void UnityAssertEqualStringLen(const char* expected, { /* handle case of one pointers being null (if both null, test should pass) */ if (expected != actual) { - Unity.CurrentTestFailed = 1; + not_equal = 1; } } + if(not_equal != not) + { + Unity.CurrentTestFailed = 1; + } + if (Unity.CurrentTestFailed) { UnityTestResultsFailBegin(lineNumber); - UnityPrintExpectedAndActualStringsLen(expected, actual, length); + UnityPrintExpectedAndActualStringsLen(expected, actual, length, not); UnityPrintMsgIfSpecifiedAndBail(msg); } } @@ -1541,7 +1557,7 @@ void UnityAssertEqualMemory(UNITY_INTERNAL_PTR expected, UNITY_PTR_ATTRIBUTE const unsigned char* ptr_act = (UNITY_PTR_ATTRIBUTE const unsigned char*)actual; UNITY_UINT32 elements = num_elements; UNITY_UINT32 bytes; - (void)not; + RETURN_IF_FAIL_OR_IGNORE; if ((elements == 0) || (length == 0)) @@ -1549,14 +1565,33 @@ void UnityAssertEqualMemory(UNITY_INTERNAL_PTR expected, UnityPrintPointlessAndBail(msg); } - if (expected == actual) + if(not) { - return; /* Both are NULL or same pointer */ - } + if(expected == NULL && actual == NULL) + { + UnityTestResultsFailBegin(lineNumber); + UnityPrint(UnityStrExpected); + UnityPrint(UnityStrNull); + UnityPrint(UnityStrNotEqual); + UnityPrint(UnityStrNull); + UnityPrintMsgIfSpecifiedAndBail(msg); + } - if (UnityIsOneArrayNull(expected, actual, lineNumber)) + if(expected == NULL || actual == NULL) + { + return; /* One of the pointers is NULL so clearly they are not equal */ + } + } + else { - UnityPrintMsgIfSpecifiedAndBail(msg); + if (expected == actual) + { + return; /* Both are NULL or same pointer */ + } + if (UnityIsOneArrayNull(expected, actual, lineNumber)) + { + UnityPrintMsgIfSpecifiedAndBail(msg); + } } while (elements--) @@ -1566,20 +1601,27 @@ void UnityAssertEqualMemory(UNITY_INTERNAL_PTR expected, { if (*ptr_exp != *ptr_act) { - UnityTestResultsFailBegin(lineNumber); - UnityPrint(UnityStrMemory); - if (num_elements > 1) + if(not) + { + return; + } + else { - UnityPrint(UnityStrElement); - UnityPrintNumberUnsigned(num_elements - elements - 1); + UnityTestResultsFailBegin(lineNumber); + UnityPrint(UnityStrMemory); + if (num_elements > 1) + { + UnityPrint(UnityStrElement); + UnityPrintNumberUnsigned(num_elements - elements - 1); + } + UnityPrint(UnityStrByte); + UnityPrintNumberUnsigned(length - bytes - 1); + UnityPrint(UnityStrExpected); + UnityPrintNumberByStyle(*ptr_exp, UNITY_DISPLAY_STYLE_HEX8); + UnityPrint(UnityStrWas); + UnityPrintNumberByStyle(*ptr_act, UNITY_DISPLAY_STYLE_HEX8); + UnityPrintMsgIfSpecifiedAndBail(msg); } - UnityPrint(UnityStrByte); - UnityPrintNumberUnsigned(length - bytes - 1); - UnityPrint(UnityStrExpected); - UnityPrintNumberByStyle(*ptr_exp, UNITY_DISPLAY_STYLE_HEX8); - UnityPrint(UnityStrWas); - UnityPrintNumberByStyle(*ptr_act, UNITY_DISPLAY_STYLE_HEX8); - UnityPrintMsgIfSpecifiedAndBail(msg); } ptr_exp++; ptr_act++; @@ -1589,6 +1631,15 @@ void UnityAssertEqualMemory(UNITY_INTERNAL_PTR expected, ptr_exp = (UNITY_PTR_ATTRIBUTE const unsigned char*)expected; } } + + if(not) + { + UnityTestResultsFailBegin(lineNumber); + UnityPrint(UnityStrExpected); + UnityPrintNumberUnsigned(length); + UnityPrint(UnityStrBytesOfMemoryNotEqual); + UnityPrintMsgIfSpecifiedAndBail(msg); + } } /*-----------------------------------------------*/ diff --git a/src/unity.h b/src/unity.h index e724473d..ec814c18 100644 --- a/src/unity.h +++ b/src/unity.h @@ -294,7 +294,6 @@ void verifyTest(void); #define TEST_ASSERT_HEX64_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_HEX64_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) #define TEST_ASSERT_CHAR_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_CHAR_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) - /* Structs and Strings */ #define TEST_ASSERT_EQUAL_PTR(expected, actual) UNITY_TEST_ASSERT_EQUAL_PTR((expected), (actual), __LINE__, NULL) #define TEST_ASSERT_EQUAL_STRING(expected, actual) UNITY_TEST_ASSERT_EQUAL_STRING((expected), (actual), __LINE__, NULL) @@ -303,6 +302,9 @@ void verifyTest(void); #define TEST_ASSERT_NOT_EQUAL_PTR(expected, actual) UNITY_TEST_ASSERT_NOT_EQUAL_PTR((expected), (actual), __LINE__, NULL) #define TEST_ASSERT_NOT_EQUAL_STRING(expected, actual) UNITY_TEST_ASSERT_NOT_EQUAL_STRING((expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_NOT_EQUAL_STRING_LEN(expected, actual, len) UNITY_TEST_ASSERT_NOT_EQUAL_STRING_LEN((expected), (actual), (len), __LINE__, NULL) +#define TEST_ASSERT_NOT_EQUAL_MEMORY(expected, actual, len) UNITY_TEST_ASSERT_NOT_EQUAL_MEMORY((expected), (actual), (len), __LINE__, NULL) + /* Arrays */ #define TEST_ASSERT_EQUAL_INT_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_INT_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) #define TEST_ASSERT_EQUAL_INT8_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_INT8_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) @@ -742,6 +744,8 @@ void verifyTest(void); #define TEST_ASSERT_NOT_EQUAL_PTR_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_PTR((expected), (actual), __LINE__, (message)) #define TEST_ASSERT_NOT_EQUAL_STRING_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_STRING((expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_NOT_EQUAL_STRING_LEN_MESSAGE(expected, actual, len, message) UNITY_TEST_ASSERT_NOT_EQUAL_STRING_LEN((expected), (actual), (len), __LINE__, (message)) +#define TEST_ASSERT_NOT_EQUAL_MEMORY_MESSAGE(expected, actual, len, message) UNITY_TEST_ASSERT_NOT_EQUAL_MEMORY((expected), (actual), (len), __LINE__, (message)) #else #define TEST_ASSERT_EQUAL_PTR_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_PTR((expected), (actual), __LINE__, __VA_ARGS__) #define TEST_ASSERT_EQUAL_STRING_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_EQUAL_STRING((expected), (actual), __LINE__, __VA_ARGS__) @@ -750,6 +754,8 @@ void verifyTest(void); #define TEST_ASSERT_NOT_EQUAL_PTR_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_NOT_EQUAL_PTR((expected), (actual), __LINE__, __VA_ARGS__) #define TEST_ASSERT_NOT_EQUAL_STRING_MESSAGE(expected, actual, ...) UNITY_TEST_ASSERT_NOT_EQUAL_STRING((expected), (actual), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_NOT_EQUAL_STRING_LEN_MESSAGE(expected, actual, len, ...) UNITY_TEST_ASSERT_NOT_EQUAL_STRING_LEN((expected), (actual), (len), __LINE__, __VA_ARGS__) +#define TEST_ASSERT_NOT_EQUAL_MEMORY_MESSAGE(expected, actual, len, ...) UNITY_TEST_ASSERT_NOT_EQUAL_MEMORY((expected), (actual), (len), __LINE__, __VA_ARGS__) #endif /* Arrays */ diff --git a/src/unity_internals.h b/src/unity_internals.h index 8db470d5..707e2180 100644 --- a/src/unity_internals.h +++ b/src/unity_internals.h @@ -1019,6 +1019,8 @@ int UnityTestMatches(void); #define UNITY_TEST_ASSERT_NOT_EQUAL_PTR(expected, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_PTR_TO_INT)(expected), (UNITY_INT)(UNITY_PTR_TO_INT)(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER, (message)) #define UNITY_TEST_ASSERT_NOT_EQUAL_STRING(expected, actual, line, message) UnityAssertEqualString((const char*)(expected), (const char*)(actual), (UNITY_LINE_TYPE)(line), (UNITY_UINT)1, (message)) +#define UNITY_TEST_ASSERT_NOT_EQUAL_STRING_LEN(expected, actual, len, line, message) UnityAssertEqualStringLen((const char*)(expected), (const char*)(actual), (UNITY_UINT32)(len), (UNITY_LINE_TYPE)(line), (UNITY_UINT)1, (message)) +#define UNITY_TEST_ASSERT_NOT_EQUAL_MEMORY(expected, actual, len, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), 1, (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY, (UNITY_UINT)1, (message)) #else #define UNITY_TEST_ASSERT_EQUAL_PTR(expected, actual, line, ...) UnityAssertEqualNumber((UNITY_PTR_TO_INT)(expected), (UNITY_PTR_TO_INT)(actual), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER, __VA_ARGS__) #define UNITY_TEST_ASSERT_EQUAL_STRING(expected, actual, line, ...) UnityAssertEqualString((const char*)(expected), (const char*)(actual), (UNITY_LINE_TYPE)(line), (UNITY_UINT)0, __VA_ARGS__) @@ -1027,6 +1029,8 @@ int UnityTestMatches(void); #define UNITY_TEST_ASSERT_NOT_EQUAL_PTR(expected, actual, line, ...) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_PTR_TO_INT)(expected), (UNITY_INT)(UNITY_PTR_TO_INT)(actual), UNITY_NOT_EQUAL, (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER, __VA_ARGS__) #define UNITY_TEST_ASSERT_NOT_EQUAL_STRING(expected, actual, line, ...) UnityAssertEqualString((const char*)(expected), (const char*)(actual), (UNITY_LINE_TYPE)(line), (UNITY_UINT)1, __VA_ARGS__) +#define UNITY_TEST_ASSERT_NOT_EQUAL_STRING_LEN(expected, actual, len, line, ...) UnityAssertEqualStringLen((const char*)(expected), (const char*)(actual), (UNITY_UINT32)(len), (UNITY_LINE_TYPE)(line), (UNITY_UINT)1, __VA_ARGS__) +#define UNITY_TEST_ASSERT_NOT_EQUAL_MEMORY(expected, actual, len, line, ...) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), 1, (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY, (UNITY_UINT)1, __VA_ARGS__) #endif #ifndef UNITY_INCLUDE_PRINT_FORMATTED