mirror of
https://github.com/ThrowTheSwitch/Unity.git
synced 2025-09-28 00:34:31 +08:00
- cleaned up pointer support to handle arrays and to give error when you have an illegal configuration
git-svn-id: http://unity.svn.sourceforge.net/svnroot/unity/trunk@135 e7d17a6e-8845-0410-bbbc-c8efb4fdad7e
This commit is contained in:
@ -134,6 +134,7 @@
|
|||||||
#define TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements, __LINE__, NULL)
|
#define TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements, __LINE__, NULL)
|
||||||
#define TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements, __LINE__, NULL)
|
#define TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements, __LINE__, NULL)
|
||||||
#define TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements, __LINE__, NULL)
|
#define TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements, __LINE__, NULL)
|
||||||
|
#define TEST_ASSERT_EQUAL_PTR_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY(expected, actual, num_elements, __LINE__, NULL)
|
||||||
#define TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements, __LINE__, NULL)
|
#define TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements, __LINE__, NULL)
|
||||||
#define TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements) UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements, __LINE__, NULL)
|
#define TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements) UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements, __LINE__, NULL)
|
||||||
|
|
||||||
@ -214,6 +215,7 @@
|
|||||||
#define TEST_ASSERT_EQUAL_HEX16_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements, __LINE__, message)
|
#define TEST_ASSERT_EQUAL_HEX16_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements, __LINE__, message)
|
||||||
#define TEST_ASSERT_EQUAL_HEX32_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements, __LINE__, message)
|
#define TEST_ASSERT_EQUAL_HEX32_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements, __LINE__, message)
|
||||||
#define TEST_ASSERT_EQUAL_HEX64_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements, __LINE__, message)
|
#define TEST_ASSERT_EQUAL_HEX64_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements, __LINE__, message)
|
||||||
|
#define TEST_ASSERT_EQUAL_PTR_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY(expected, actual, num_elements, __LINE__, message)
|
||||||
#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_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_MEMORY_ARRAY_MESSAGE(expected, actual, len, num_elements, message) UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements, __LINE__, message)
|
||||||
|
|
||||||
|
@ -79,6 +79,9 @@ typedef _US64 _U_SINT;
|
|||||||
typedef _UU32 _UP;
|
typedef _UU32 _UP;
|
||||||
#define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX32
|
#define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX32
|
||||||
#elif (UNITY_POINTER_WIDTH == 64)
|
#elif (UNITY_POINTER_WIDTH == 64)
|
||||||
|
#ifndef UNITY_SUPPORT_64
|
||||||
|
#error "You've Specified 64-bit pointers without enabling 64-bit Support. Define UNITY_SUPPORT_64"
|
||||||
|
#endif
|
||||||
typedef _UU64 _UP;
|
typedef _UU64 _UP;
|
||||||
#define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX64
|
#define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX64
|
||||||
#elif (UNITY_POINTER_WIDTH == 16)
|
#elif (UNITY_POINTER_WIDTH == 16)
|
||||||
@ -374,6 +377,7 @@ void UnityAssertEqualDoubleArray(const _UD* expected,
|
|||||||
#define UNITY_TEST_ASSERT_EQUAL_HEX8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX8)
|
#define UNITY_TEST_ASSERT_EQUAL_HEX8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX8)
|
||||||
#define UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX16)
|
#define UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX16)
|
||||||
#define UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX32)
|
#define UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX32)
|
||||||
|
#define UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(_UP*)(expected), (const _U_SINT*)(_UP*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_POINTER)
|
||||||
#define UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualStringArray((const char**)(expected), (const char**)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line)
|
#define UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualStringArray((const char**)(expected), (const char**)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line)
|
||||||
#define UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements, line, message) UnityAssertEqualMemory((void*)(expected), (void*)(actual), (_UU32)(len), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line)
|
#define UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements, line, message) UnityAssertEqualMemory((void*)(expected), (void*)(actual), (_UU32)(len), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line)
|
||||||
|
|
||||||
|
@ -1049,6 +1049,86 @@ void testNotEqualIntArrays3(void)
|
|||||||
VERIFY_FAILS_END
|
VERIFY_FAILS_END
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void testEqualPtrArrays(void)
|
||||||
|
{
|
||||||
|
char A = 1;
|
||||||
|
char B = 2;
|
||||||
|
char C = 3;
|
||||||
|
char* p0[] = {&A, &B, &C};
|
||||||
|
char* p1[] = {&A, &B, &C, &A};
|
||||||
|
char* p2[] = {&A, &B};
|
||||||
|
char* p3[] = {&A};
|
||||||
|
|
||||||
|
TEST_ASSERT_EQUAL_PTR_ARRAY(p0, p0, 1);
|
||||||
|
TEST_ASSERT_EQUAL_PTR_ARRAY(p0, p0, 3);
|
||||||
|
TEST_ASSERT_EQUAL_PTR_ARRAY(p0, p1, 3);
|
||||||
|
TEST_ASSERT_EQUAL_PTR_ARRAY(p1, p2, 2);
|
||||||
|
TEST_ASSERT_EQUAL_PTR_ARRAY(p3, p0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
void testNotEqualPtrArraysNullExpected(void)
|
||||||
|
{
|
||||||
|
char A = 1;
|
||||||
|
char B = 2;
|
||||||
|
char** p0 = NULL;
|
||||||
|
char* p1[] = {&A, &B};
|
||||||
|
|
||||||
|
EXPECT_ABORT_BEGIN
|
||||||
|
TEST_ASSERT_EQUAL_PTR_ARRAY(p0, p1, 2);
|
||||||
|
VERIFY_FAILS_END
|
||||||
|
}
|
||||||
|
|
||||||
|
void testNotEqualPtrArraysNullActual(void)
|
||||||
|
{
|
||||||
|
char A = 1;
|
||||||
|
char B = 2;
|
||||||
|
char** p0 = NULL;
|
||||||
|
char* p1[] = {&A, &B};
|
||||||
|
|
||||||
|
EXPECT_ABORT_BEGIN
|
||||||
|
TEST_ASSERT_EQUAL_PTR_ARRAY(p1, p0, 2);
|
||||||
|
VERIFY_FAILS_END
|
||||||
|
}
|
||||||
|
|
||||||
|
void testNotEqualPtrArrays1(void)
|
||||||
|
{
|
||||||
|
char A = 1;
|
||||||
|
char B = 2;
|
||||||
|
char C = 3;
|
||||||
|
char* p0[] = {&A, &B, &C, &B};
|
||||||
|
char* p1[] = {&A, &B, &C, &A};
|
||||||
|
|
||||||
|
EXPECT_ABORT_BEGIN
|
||||||
|
TEST_ASSERT_EQUAL_PTR_ARRAY(p0, p1, 4);
|
||||||
|
VERIFY_FAILS_END
|
||||||
|
}
|
||||||
|
|
||||||
|
void testNotEqualPtrArrays2(void)
|
||||||
|
{
|
||||||
|
char A = 1;
|
||||||
|
char B = 2;
|
||||||
|
char C = 3;
|
||||||
|
char* p0[] = {&B, &B, &C, &A};
|
||||||
|
char* p1[] = {&A, &B, &C, &A};
|
||||||
|
|
||||||
|
EXPECT_ABORT_BEGIN
|
||||||
|
TEST_ASSERT_EQUAL_PTR_ARRAY(p0, p1, 4);
|
||||||
|
VERIFY_FAILS_END
|
||||||
|
}
|
||||||
|
|
||||||
|
void testNotEqualPtrArrays3(void)
|
||||||
|
{
|
||||||
|
char A = 1;
|
||||||
|
char B = 2;
|
||||||
|
char C = 3;
|
||||||
|
char* p0[] = {&A, &B, &B, &A};
|
||||||
|
char* p1[] = {&A, &B, &C, &A};
|
||||||
|
|
||||||
|
EXPECT_ABORT_BEGIN
|
||||||
|
TEST_ASSERT_EQUAL_PTR_ARRAY(p0, p1, 4);
|
||||||
|
VERIFY_FAILS_END
|
||||||
|
}
|
||||||
|
|
||||||
void testEqualInt8Arrays(void)
|
void testEqualInt8Arrays(void)
|
||||||
{
|
{
|
||||||
_US8 p0[] = {1, 8, 117, -2};
|
_US8 p0[] = {1, 8, 117, -2};
|
||||||
|
Reference in New Issue
Block a user