diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Makefile | 23 | ||||
-rw-r--r-- | tests/test_strlcpy.c | 15 |
2 files changed, 38 insertions, 0 deletions
diff --git a/tests/Makefile b/tests/Makefile new file mode 100644 index 0000000..af20182 --- /dev/null +++ b/tests/Makefile @@ -0,0 +1,23 @@ +CC := gcc +CFLAGS := -std=c99 -m32 -ffreestanding -O0 -g -Wall -Werror +INCLUDES = -I../src +LD := ld + +all: test + +test_strlcpy: test_strlcpy.o + +test_strlcpy: test_strlcpy.o ../src/string.o + $(CC) -o test_strlcpy test_strlcpy.o ../src/string.o + +test_strlcpy.o: test_strlcpy.c + $(CC) $(CFLAGS) $(INCLUDES) -c -o test_strlcpy.o test_strlcpy.c + +../src/string.o: ../src/string.c + $(CC) $(CFLAGS) -c -o ../src/string.o ../src/string.c + +test: test_strlcpy + ./test_strlcpy + +clean: + -rm -f test_strlcpy *.o diff --git a/tests/test_strlcpy.c b/tests/test_strlcpy.c new file mode 100644 index 0000000..a23a5bc --- /dev/null +++ b/tests/test_strlcpy.c @@ -0,0 +1,15 @@ +#include "string.h" + +int main( void ) +{ + char *s = "test_string"; + char d[8]; + size_t n; + + // copy into too small string + n = strlcpy( d, s, 4 ); + if( n != 11 ) return 1; + if( strcmp( d, "tes" ) ) return 1; + + return 0; +} |