summaryrefslogtreecommitdiff
path: root/firmware/test/buflib/util.c
diff options
context:
space:
mode:
authorThomas Jarosch <tomj@simonv.com>2015-01-03 17:06:21 +0100
committerThomas Jarosch <tomj@simonv.com>2015-01-03 18:17:11 +0100
commit7d5f13300708c0f0ef15150fdebd6158260247d2 (patch)
treeabfe56d7ccd8735e60d0587ce28b13a62580698d /firmware/test/buflib/util.c
parente7d94323bcb481d4fb1e1e77fdd26b23916aca1d (diff)
downloadrockbox-7d5f13300708c0f0ef15150fdebd6158260247d2.zip
rockbox-7d5f13300708c0f0ef15150fdebd6158260247d2.tar.gz
rockbox-7d5f13300708c0f0ef15150fdebd6158260247d2.tar.bz2
rockbox-7d5f13300708c0f0ef15150fdebd6158260247d2.tar.xz
Bring abroad second buflib test
Interfaces with core_alloc_* instead of buflib directly. Provide UT_core_allocator_init() with a fixed buffer size for predictable results. Change-Id: I26a7b3101f7782063547940bded52d8202638394
Diffstat (limited to 'firmware/test/buflib/util.c')
-rw-r--r--firmware/test/buflib/util.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/firmware/test/buflib/util.c b/firmware/test/buflib/util.c
index 934a8be..66a02e8 100644
--- a/firmware/test/buflib/util.c
+++ b/firmware/test/buflib/util.c
@@ -20,9 +20,42 @@
****************************************************************************/
#include "util.h"
#include "stdio.h"
+#include "buflib.h"
+#include "system.h"
+
+void print_simple(const char *str)
+{
+ printf("%s\n", str);
+}
void print_handle(int handle_num, const char *str)
{
(void)handle_num;
printf("%s\n", str);
}
+
+/* fake core_allocator_init() with a fixed 50kb buffer size */
+void UT_core_allocator_init()
+{
+ extern struct buflib_context core_ctx;
+ static char buf[50<<10];
+ unsigned char *raw_start = buf;
+ unsigned char *aligned_start = ALIGN_UP(raw_start, sizeof(intptr_t));
+
+ buflib_init(&core_ctx, aligned_start, sizeof(buf) - (aligned_start - raw_start));
+}
+
+/* TODO: those should be part of core_alloc */
+void core_print_blocks(void (*print)(const char*))
+{
+ (void)print;
+ extern struct buflib_context core_ctx;
+ buflib_print_blocks(&core_ctx, &print_handle);
+}
+
+void core_print_allocs(void (*print)(const char*))
+{
+ (void)print;
+ extern struct buflib_context core_ctx;
+ buflib_print_allocs(&core_ctx, &print_handle);
+}