diff options
Diffstat (limited to 'FreeRTOS-Plus/Test/CMock/vendor/unity/extras/memory/readme.md')
-rw-r--r-- | FreeRTOS-Plus/Test/CMock/vendor/unity/extras/memory/readme.md | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/FreeRTOS-Plus/Test/CMock/vendor/unity/extras/memory/readme.md b/FreeRTOS-Plus/Test/CMock/vendor/unity/extras/memory/readme.md new file mode 100644 index 000000000..37769825c --- /dev/null +++ b/FreeRTOS-Plus/Test/CMock/vendor/unity/extras/memory/readme.md @@ -0,0 +1,49 @@ +# Unity Memory + +This Framework is an optional add-on to Unity. By including unity.h and then +unity_memory.h, you have the added ability to track malloc and free calls. This +addon requires that the stdlib functions be overridden by its own defines. These +defines will still malloc / realloc / free etc, but will also track the calls +in order to ensure that you don't have any memory leaks in your programs. + +Note that this is only useful in situations where a unit is in charge of both +the allocation and deallocation of memory. When it is not symmetric, unit testing +can report a number of false failures. A more advanced runtime tool is required to +track complete system memory handling. + +# Module API + +## `UnityMalloc_StartTest` and `UnityMalloc_EndTest` + +These must be called at the beginning and end of each test. For simplicity, they can +be added to `setUp` and `tearDown` in order to do their job. When using the test +runner generator scripts, these will be automatically added to the runner whenever +unity_memory.h is included. + +## `UnityMalloc_MakeMallocFailAfterCount` + +This can be called from the tests themselves. Passing this function a number will +force the reference counter to start keeping track of malloc calls. During that test, +if the number of malloc calls exceeds the number given, malloc will immediately +start returning `NULL`. This allows you to test error conditions. Think of it as a +simplified mock. + +# Configuration + +## `UNITY_MALLOC` and `UNITY_FREE` + +By default, this module tries to use the real stdlib `malloc` and `free` internally. +If you would prefer it to use something else, like FreeRTOS's `pvPortMalloc` and +`pvPortFree`, then you can use these defines to make it so. + +## `UNITY_EXCLUDE_STDLIB_MALLOC` + +If you would like this library to ignore stdlib or other heap engines completely, and +manage the memory on its own, then define this. All memory will be handled internally +(and at likely lower overhead). Note that this is not a very featureful memory manager, +but is sufficient for most testing purposes. + +## `UNITY_INTERNAL_HEAP_SIZE_BYTES` + +When using the built-in memory manager (see `UNITY_EXCLUDE_STDLIB_MALLOC`) this define +allows you to set the heap size this library will use to manage the memory. |