2024-03-16 23:15:00 -04:00
|
|
|
/* =========================================================================
|
|
|
|
Unity - A Test Framework for C
|
|
|
|
ThrowTheSwitch.org
|
2025-01-01 11:46:30 -05:00
|
|
|
Copyright (c) 2007-25 Mike Karlesky, Mark VanderVoord, & Greg Williams
|
2024-03-16 23:15:00 -04:00
|
|
|
SPDX-License-Identifier: MIT
|
|
|
|
========================================================================= */
|
2020-03-16 18:45:40 -04:00
|
|
|
|
|
|
|
#include "unity.h"
|
|
|
|
#define TEST_INSTANCES
|
|
|
|
#include "self_assessment_utils.h"
|
|
|
|
|
2020-03-16 20:26:10 -04:00
|
|
|
static int SetToOneToFailInTearDown;
|
|
|
|
static int SetToOneMeanWeAlreadyCheckedThisGuy;
|
2020-03-16 20:14:02 -04:00
|
|
|
|
2020-03-16 18:45:40 -04:00
|
|
|
void setUp(void)
|
|
|
|
{
|
|
|
|
SetToOneToFailInTearDown = 0;
|
|
|
|
SetToOneMeanWeAlreadyCheckedThisGuy = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
void tearDown(void)
|
|
|
|
{
|
|
|
|
endPutcharSpy(); /* Stop suppressing test output */
|
|
|
|
if (SetToOneToFailInTearDown == 1)
|
|
|
|
{
|
|
|
|
/* These will be skipped internally if already failed/ignored */
|
|
|
|
TEST_FAIL_MESSAGE("<= Failed in tearDown");
|
|
|
|
TEST_IGNORE_MESSAGE("<= Ignored in tearDown");
|
|
|
|
}
|
|
|
|
if ((SetToOneMeanWeAlreadyCheckedThisGuy == 0) && (Unity.CurrentTestFailed > 0))
|
|
|
|
{
|
|
|
|
UnityPrint(": [[[[ Test Should Have Passed But Did Not ]]]]");
|
|
|
|
UNITY_OUTPUT_CHAR('\n');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void testEqualMemory(void)
|
|
|
|
{
|
|
|
|
const char *testString = "whatever";
|
|
|
|
|
|
|
|
TEST_ASSERT_EQUAL_MEMORY(testString, testString, 8);
|
|
|
|
TEST_ASSERT_EQUAL_MEMORY("whatever", "whatever", 8);
|
|
|
|
TEST_ASSERT_EQUAL_MEMORY("whatever", testString, 8);
|
|
|
|
TEST_ASSERT_EQUAL_MEMORY(testString, "whatever", 8);
|
|
|
|
TEST_ASSERT_EQUAL_MEMORY(testString, "whatever", 2);
|
|
|
|
TEST_ASSERT_EQUAL_MEMORY(NULL, NULL, 1);
|
|
|
|
}
|
|
|
|
|
|
|
|
void testNotEqualMemory1(void)
|
|
|
|
{
|
|
|
|
EXPECT_ABORT_BEGIN
|
|
|
|
TEST_ASSERT_EQUAL_MEMORY("foo", "bar", 3);
|
|
|
|
VERIFY_FAILS_END
|
|
|
|
}
|
|
|
|
|
|
|
|
void testNotEqualMemory2(void)
|
|
|
|
{
|
|
|
|
EXPECT_ABORT_BEGIN
|
|
|
|
TEST_ASSERT_EQUAL_MEMORY("fool", "food", 4);
|
|
|
|
VERIFY_FAILS_END
|
|
|
|
}
|
|
|
|
|
|
|
|
void testNotEqualMemory3(void)
|
|
|
|
{
|
|
|
|
EXPECT_ABORT_BEGIN
|
|
|
|
TEST_ASSERT_EQUAL_MEMORY(NULL, "food", 4);
|
|
|
|
VERIFY_FAILS_END
|
|
|
|
}
|
|
|
|
|
|
|
|
void testNotEqualMemory4(void)
|
|
|
|
{
|
|
|
|
EXPECT_ABORT_BEGIN
|
|
|
|
TEST_ASSERT_EQUAL_MEMORY("fool", NULL, 4);
|
|
|
|
VERIFY_FAILS_END
|
|
|
|
}
|
|
|
|
|
|
|
|
void testNotEqualMemoryLengthZero(void)
|
|
|
|
{
|
|
|
|
EXPECT_ABORT_BEGIN
|
|
|
|
TEST_ASSERT_EQUAL_MEMORY(NULL, NULL, 0);
|
|
|
|
VERIFY_FAILS_END
|
|
|
|
}
|