提交 a264e27f 编写于 作者: J John Van Enk 提交者: Alex Rodriguez

Switch up the testing strategy to handle funny architectural issues.

上级 6a159419
...@@ -52,13 +52,32 @@ void tearDown(void) ...@@ -52,13 +52,32 @@ void tearDown(void)
void testUnitySizeInitializationReminder(void) void testUnitySizeInitializationReminder(void)
{ {
char * message = "Unexpected size for _Unity struct. Please check that "
"the initialization of the Unity symbol in unity.c is "
"still correct.";
/* This test ensures that sizeof(struct _Unity) doesn't change. If this /* This test ensures that sizeof(struct _Unity) doesn't change. If this
* test breaks, go look at the initialization of the Unity global variable * test breaks, go look at the initialization of the Unity global variable
* in unity.c and make sure we're filling in the proper fields. */ * in unity.c and make sure we're filling in the proper fields. */
TEST_ASSERT_EQUAL_MESSAGE(104, sizeof(Unity), message); char * message = "Unexpected size for _Unity struct. Please check that "
"the initialization of the Unity symbol in unity.c is "
"still correct.";
/* Define a structure with all the same fields as `struct _Unity`. */
struct {
const char* TestFile;
const char* CurrentTestName;
UNITY_LINE_TYPE CurrentTestLineNumber;
UNITY_COUNTER_TYPE NumberOfTests;
UNITY_COUNTER_TYPE TestFailures;
UNITY_COUNTER_TYPE TestIgnores;
UNITY_COUNTER_TYPE CurrentTestFailed;
UNITY_COUNTER_TYPE CurrentTestIgnored;
jmp_buf AbortFrame;
} _Expected_Unity;
/* Compare our fake structure's size to the actual structure's size. They
* should be the same.
*
* This accounts for alignment, padding, and packing issues that might come
* up between different architectures. */
TEST_ASSERT_EQUAL_MESSAGE(sizeof(_Expected_Unity), sizeof(Unity), message);
} }
void testTrue(void) void testTrue(void)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册