aboutsummaryrefslogtreecommitdiff
path: root/external/Unity/extras/fixture/src/unity_fixture_malloc_overrides.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--external/Unity/extras/fixture/src/unity_fixture_malloc_overrides.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/external/Unity/extras/fixture/src/unity_fixture_malloc_overrides.h b/external/Unity/extras/fixture/src/unity_fixture_malloc_overrides.h
new file mode 100644
index 0000000..7daba50
--- /dev/null
+++ b/external/Unity/extras/fixture/src/unity_fixture_malloc_overrides.h
@@ -0,0 +1,47 @@
+/* Copyright (c) 2010 James Grenning and Contributed to Unity Project
+ * ==========================================
+ * Unity Project - A Test Framework for C
+ * Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
+ * [Released under MIT License. Please refer to license.txt for details]
+ * ========================================== */
+
+#ifndef UNITY_FIXTURE_MALLOC_OVERRIDES_H_
+#define UNITY_FIXTURE_MALLOC_OVERRIDES_H_
+
+#include <stddef.h>
+
+#ifdef UNITY_EXCLUDE_STDLIB_MALLOC
+/* Define this macro to remove the use of stdlib.h, malloc, and free.
+ * Many embedded systems do not have a heap or malloc/free by default.
+ * This internal unity_malloc() provides allocated memory deterministically from
+ * the end of an array only, unity_free() only releases from end-of-array,
+ * blocks are not coalesced, and memory not freed in LIFO order is stranded. */
+ #ifndef UNITY_INTERNAL_HEAP_SIZE_BYTES
+ #define UNITY_INTERNAL_HEAP_SIZE_BYTES 256
+ #endif
+#endif
+
+/* These functions are used by the Unity Fixture to allocate and release memory
+ * on the heap and can be overridden with platform-specific implementations.
+ * For example, when using FreeRTOS UNITY_FIXTURE_MALLOC becomes pvPortMalloc()
+ * and UNITY_FIXTURE_FREE becomes vPortFree(). */
+#if !defined(UNITY_FIXTURE_MALLOC) || !defined(UNITY_FIXTURE_FREE)
+ #include <stdlib.h>
+ #define UNITY_FIXTURE_MALLOC(size) malloc(size)
+ #define UNITY_FIXTURE_FREE(ptr) free(ptr)
+#else
+ extern void* UNITY_FIXTURE_MALLOC(size_t size);
+ extern void UNITY_FIXTURE_FREE(void* ptr);
+#endif
+
+#define malloc unity_malloc
+#define calloc unity_calloc
+#define realloc unity_realloc
+#define free unity_free
+
+void* unity_malloc(size_t size);
+void* unity_calloc(size_t num, size_t size);
+void* unity_realloc(void * oldMem, size_t size);
+void unity_free(void * mem);
+
+#endif /* UNITY_FIXTURE_MALLOC_OVERRIDES_H_ */