mirror of
https://github.com/ThrowTheSwitch/CMock.git
synced 2026-10-04 07:57:35 +00:00
Make sure CMock releases its dynamically allocated memory at the end of the entire suite.
This commit is contained in:
+18
-2
@@ -78,7 +78,7 @@ CMOCK_MEM_INDEX_TYPE CMock_Guts_MemChain(CMOCK_MEM_INDEX_TYPE root_index, CMOCK_
|
|||||||
{
|
{
|
||||||
return CMOCK_GUTS_NONE;
|
return CMOCK_GUTS_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
root = (void*)(&CMock_Guts_Buffer[root_index]);
|
root = (void*)(&CMock_Guts_Buffer[root_index]);
|
||||||
obj = (void*)(&CMock_Guts_Buffer[obj_index]);
|
obj = (void*)(&CMock_Guts_Buffer[obj_index]);
|
||||||
|
|
||||||
@@ -125,7 +125,7 @@ CMOCK_MEM_INDEX_TYPE CMock_Guts_MemEndOfChain(CMOCK_MEM_INDEX_TYPE root_index)
|
|||||||
{
|
{
|
||||||
CMOCK_MEM_INDEX_TYPE index = root_index;
|
CMOCK_MEM_INDEX_TYPE index = root_index;
|
||||||
CMOCK_MEM_INDEX_TYPE next_index;
|
CMOCK_MEM_INDEX_TYPE next_index;
|
||||||
|
|
||||||
for (next_index = root_index;
|
for (next_index = root_index;
|
||||||
next_index != CMOCK_GUTS_NONE;
|
next_index != CMOCK_GUTS_NONE;
|
||||||
next_index = CMock_Guts_MemNext(index))
|
next_index = CMock_Guts_MemNext(index))
|
||||||
@@ -174,3 +174,19 @@ void CMock_Guts_MemFreeAll(void)
|
|||||||
{
|
{
|
||||||
CMock_Guts_FreePtr = CMOCK_MEM_ALIGN_SIZE; //skip the very beginning
|
CMock_Guts_FreePtr = CMOCK_MEM_ALIGN_SIZE; //skip the very beginning
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------
|
||||||
|
// CMock_Guts_MemFreeFinal
|
||||||
|
//-------------------------------------------------------
|
||||||
|
void CMock_Guts_MemFreeFinal(void)
|
||||||
|
{
|
||||||
|
CMock_Guts_FreePtr = CMOCK_MEM_ALIGN_SIZE;
|
||||||
|
#ifdef CMOCK_MEM_DYNAMIC
|
||||||
|
if (CMock_Guts_Buffer)
|
||||||
|
{
|
||||||
|
free(CMock_Guts_Buffer);
|
||||||
|
CMock_Guts_Buffer = NULL;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -31,5 +31,6 @@ void* CMock_Guts_GetAddressFor(CMOCK_MEM_INDEX_TYPE index);
|
|||||||
CMOCK_MEM_INDEX_TYPE CMock_Guts_MemBytesFree(void);
|
CMOCK_MEM_INDEX_TYPE CMock_Guts_MemBytesFree(void);
|
||||||
CMOCK_MEM_INDEX_TYPE CMock_Guts_MemBytesUsed(void);
|
CMOCK_MEM_INDEX_TYPE CMock_Guts_MemBytesUsed(void);
|
||||||
void CMock_Guts_MemFreeAll(void);
|
void CMock_Guts_MemFreeAll(void);
|
||||||
|
void CMock_Guts_MemFreeFinal(void);
|
||||||
|
|
||||||
#endif //CMOCK_FRAMEWORK
|
#endif //CMOCK_FRAMEWORK
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
========================================== */
|
========================================== */
|
||||||
|
|
||||||
#include "unity.h"
|
#include "unity.h"
|
||||||
|
#include "cmock.h"
|
||||||
#include <setjmp.h>
|
#include <setjmp.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
@@ -31,5 +32,6 @@ int main(void)
|
|||||||
RUN_TEST(test_ThatWeCanAskForAllSortsOfSizes, 152);
|
RUN_TEST(test_ThatWeCanAskForAllSortsOfSizes, 152);
|
||||||
|
|
||||||
UnityEnd();
|
UnityEnd();
|
||||||
|
CMock_Guts_MemFreeFinal();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Vendored
+1
-1
Submodule vendor/unity updated: 124bfd8027...abca337cd0
Reference in New Issue
Block a user