~jkaivo/mapalloc

49ad475df150584a9e59649b48dec1f3bed2bffb — Jakob Kaivo 2 years ago 3462b7f
add simple realloc() test
3 files changed, 28 insertions(+), 5 deletions(-)

M .gitignore
M Makefile
A test/realloc.c
M .gitignore => .gitignore +1 -0
@@ 1,2 1,3 @@
lib/
obj/
bin/

M Makefile => Makefile +9 -5
@@ 9,9 9,11 @@ TESTDIR=test
CFLAGS=-I$(INCDIR) -Wall -Wextra -Wpedantic -g

OBJECTS=$(OBJDIR)/mapalloc.o
TESTS=$(BINDIR)/overflow $(BINDIR)/underflow $(BINDIR)/zero
TESTS=$(BINDIR)/overflow $(BINDIR)/underflow $(BINDIR)/zero $(BINDIR)/realloc

all: $(LIBDIR)/libmapalloc.a $(LIBDIR)/libmapalloc.so
all: $(LIBDIR)/libmapalloc.a 

#$(LIBDIR)/libmapalloc.so

tests: $(TESTS)



@@ 27,9 29,11 @@ $(LIBDIR)/libmapalloc.so: $(OBJECTS)
	@mkdir -p $(@D)
	$(CC) -o $@ -shared $(OBJECTS)

$(BINDIR)/overflow: $(TESTDIR)/overflow.c $(LIBDIR)/libmapalloc.a
$(BINDIR)/underflow: $(TESTDIR)/underflow.c $(LIBDIR)/libmapalloc.a
$(BINDIR)/zero: $(TESTDIR)/zero.c $(LIBDIR)/libmapalloc.a
$(TESTS): $(LIBDIR)/libmapalloc.a
$(BINDIR)/overflow: $(TESTDIR)/overflow.c
$(BINDIR)/underflow: $(TESTDIR)/underflow.c
$(BINDIR)/zero: $(TESTDIR)/zero.c
$(BINDIR)/realloc: $(TESTDIR)/realloc.c

$(TESTS):
	@mkdir -p $(@D)

A test/realloc.c => test/realloc.c +18 -0
@@ 0,0 1,18 @@
#define _POSIX_C_SOURCE 200809L
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include "mapalloc.h"

int main(void)
{
	const char buf[] = "THIS IS A CONSTANT STRING";

	char *ptr = map_realloc(NULL, sizeof(buf));
	memcpy(ptr, buf, sizeof(buf));
	printf("%p: %s\n", ptr, ptr);

	ptr = map_realloc(ptr, sizeof(buf) * 2);
	memcpy(ptr + sizeof(buf), buf, sizeof(buf));
	printf("%p: %s\n", ptr, ptr);
}