added an x86 test for the ringbuffer
This commit is contained in:
parent
d806f057f9
commit
65eb4d6ce2
18
test/Makefile
Normal file
18
test/Makefile
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
CC=gcc
|
||||||
|
CFLAG= -g -O
|
||||||
|
|
||||||
|
tests= test_ringbuffer.test
|
||||||
|
objects= ../ringbuffer.o
|
||||||
|
|
||||||
|
all: clean $(tests)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
-rm $(objects)
|
||||||
|
-rm $(tests)
|
||||||
|
|
||||||
|
%.test: %.c $(objects)
|
||||||
|
$(CC) $(CFLAG) $(objects) -o $@ $<
|
||||||
|
./$@
|
||||||
|
|
||||||
|
%.o: %.c
|
||||||
|
$(CC) $(CFLAG) -c -o $@ $<
|
33
test/test_ringbuffer.c
Normal file
33
test/test_ringbuffer.c
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
#include <assert.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
#include "../ringbuffer.h"
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
ringbuffer_t buffer = ringbuffer_new(20);
|
||||||
|
|
||||||
|
assert(ringbuffer_nonempty(buffer) == 0);
|
||||||
|
|
||||||
|
assert(ringbuffer_put_char(buffer, 'a') == 0);
|
||||||
|
assert(ringbuffer_nonempty(buffer) == 1);
|
||||||
|
assert(ringbuffer_get_char(buffer) == 'a');
|
||||||
|
assert(ringbuffer_nonempty(buffer) == 0);
|
||||||
|
|
||||||
|
int i;
|
||||||
|
for(i = 0; i < 20; i++)
|
||||||
|
{
|
||||||
|
printf("%d: %c\n", i, 'A' + i);
|
||||||
|
assert(ringbuffer_empty_bytes(buffer) == 20 - i);
|
||||||
|
assert(ringbuffer_put_char(buffer, 'A' + i) == 0);
|
||||||
|
}
|
||||||
|
assert(ringbuffer_nonempty(buffer) == 1);
|
||||||
|
for(i = 0; i < 20; i++)
|
||||||
|
{
|
||||||
|
printf("%d\n", i);
|
||||||
|
assert(ringbuffer_nonempty(buffer) == 1);
|
||||||
|
assert(ringbuffer_get_char(buffer) == 'A' + i);
|
||||||
|
}
|
||||||
|
assert(ringbuffer_nonempty(buffer) == 0);
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user