mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-11-18 09:32:40 -05:00
Enable printing of buflib allocations
Change-Id: Ie446177931032d585f69e0651f05ff88ebc6e8ba
This commit is contained in:
parent
e138016256
commit
e7d94323bc
4 changed files with 65 additions and 7 deletions
|
|
@ -1,7 +1,7 @@
|
||||||
FIRMWARE=../..
|
FIRMWARE=../..
|
||||||
|
|
||||||
CC ?= gcc
|
CC ?= gcc
|
||||||
CFLAGS += -g -O2 -DDEBUG -D__PCTOOL__ -std=gnu99 -I$(FIRMWARE)/include -I$(FIRMWARE)/export -I.
|
CFLAGS += -g -O2 -DDEBUG -D__PCTOOL__ -DBUFLIB_DEBUG_BLOCKS -std=gnu99 -I$(FIRMWARE)/include -I$(FIRMWARE)/export -I.
|
||||||
LDFLAGS += -L. -lpthread
|
LDFLAGS += -L. -lpthread
|
||||||
|
|
||||||
.PHONY: clean all
|
.PHONY: clean all
|
||||||
|
|
@ -11,7 +11,9 @@ TARGETS = $(TARGETS_OBJ:.o=)
|
||||||
|
|
||||||
LIB_OBJ = buflib.o \
|
LIB_OBJ = buflib.o \
|
||||||
crc32.o \
|
crc32.o \
|
||||||
strlcpy.o
|
strlcpy.o \
|
||||||
|
util.o
|
||||||
|
|
||||||
LIB_FILE = libbuflib.a
|
LIB_FILE = libbuflib.a
|
||||||
LIB = buflib
|
LIB = buflib
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,7 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include "buflib.h"
|
#include "buflib.h"
|
||||||
|
#include "util.h"
|
||||||
|
|
||||||
#define BUFLIB_BUFFER_SIZE (12<<10)
|
#define BUFLIB_BUFFER_SIZE (12<<10)
|
||||||
static char buflib_buffer[BUFLIB_BUFFER_SIZE];
|
static char buflib_buffer[BUFLIB_BUFFER_SIZE];
|
||||||
|
|
@ -59,16 +60,16 @@ int main(int argc, char **argv)
|
||||||
strncpy(buflib_get_data(&ctx, id3), STR, sizeof STR);
|
strncpy(buflib_get_data(&ctx, id3), STR, sizeof STR);
|
||||||
if (id > 0)
|
if (id > 0)
|
||||||
{
|
{
|
||||||
// buflib_print_allocs(&ctx);
|
buflib_print_allocs(&ctx, &print_handle);
|
||||||
buflib_free(&ctx, id);
|
buflib_free(&ctx, id);
|
||||||
// buflib_print_allocs(&ctx);
|
buflib_print_allocs(&ctx, &print_handle);
|
||||||
buflib_free(&ctx, id2);
|
buflib_free(&ctx, id2);
|
||||||
// buflib_print_allocs(&ctx);
|
buflib_print_allocs(&ctx, &print_handle);
|
||||||
|
|
||||||
id = buflib_alloc_ex(&ctx, 3<<10, "should compact", &ops);
|
id = buflib_alloc_ex(&ctx, 3<<10, "should compact", &ops);
|
||||||
if (id <= 0) printf("compacting alloc failed\n");
|
if (id <= 0) printf("compacting alloc failed\n");
|
||||||
|
|
||||||
// buflib_print_allocs(&ctx);
|
buflib_print_allocs(&ctx, &print_handle);
|
||||||
|
|
||||||
printf("id I: %p\n", buflib_get_data(&ctx, id3));
|
printf("id I: %p\n", buflib_get_data(&ctx, id3));
|
||||||
id2 = buflib_alloc_ex(&ctx, 3<<10, "should fail", &ops);
|
id2 = buflib_alloc_ex(&ctx, 3<<10, "should fail", &ops);
|
||||||
|
|
@ -80,7 +81,7 @@ int main(int argc, char **argv)
|
||||||
buflib_free(&ctx, id);
|
buflib_free(&ctx, id);
|
||||||
|
|
||||||
printf("Check string: \"%s\"\n", buflib_get_data(&ctx, id3));
|
printf("Check string: \"%s\"\n", buflib_get_data(&ctx, id3));
|
||||||
// buflib_print_allocs(&ctx);
|
buflib_print_allocs(&ctx, &print_handle);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
||||||
28
firmware/test/buflib/util.c
Normal file
28
firmware/test/buflib/util.c
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
/***************************************************************************
|
||||||
|
* __________ __ ___.
|
||||||
|
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
||||||
|
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
||||||
|
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
||||||
|
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
||||||
|
* \/ \/ \/ \/ \/
|
||||||
|
* $Id$
|
||||||
|
*
|
||||||
|
* Copyright (C) 2015 Thomas Jarosch
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
* KIND, either express or implied.
|
||||||
|
*
|
||||||
|
****************************************************************************/
|
||||||
|
#include "util.h"
|
||||||
|
#include "stdio.h"
|
||||||
|
|
||||||
|
void print_handle(int handle_num, const char *str)
|
||||||
|
{
|
||||||
|
(void)handle_num;
|
||||||
|
printf("%s\n", str);
|
||||||
|
}
|
||||||
27
firmware/test/buflib/util.h
Normal file
27
firmware/test/buflib/util.h
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
/***************************************************************************
|
||||||
|
* __________ __ ___.
|
||||||
|
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
||||||
|
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
||||||
|
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
||||||
|
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
||||||
|
* \/ \/ \/ \/ \/
|
||||||
|
* $Id$
|
||||||
|
*
|
||||||
|
* Copyright (C) 2015 Thomas Jarosch
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
* KIND, either express or implied.
|
||||||
|
*
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
#ifndef _TEST_UTIL_H
|
||||||
|
#define _TEST_UTIL_H
|
||||||
|
|
||||||
|
void print_handle(int handle_num, const char *string);
|
||||||
|
|
||||||
|
#endif
|
||||||
Loading…
Add table
Add a link
Reference in a new issue