diff --git a/Makefile b/Makefile index 801b6af..9c63a9c 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ # By: lalgarra +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2025/10/03 18:03:12 by lalgarra #+# #+# # -# Updated: 2025/10/05 14:41:54 by lalgarra ### ########.fr # +# Updated: 2025/10/05 20:42:03 by lalgarra ### ########.fr # # # # **************************************************************************** # @@ -20,13 +20,13 @@ CFLAGS += -Wall -Wextra -Werror -g3 -iquote $(LIBDIR) \ TESTS := ft_isalpha_test ft_isdigit_test ft_isalnum_test ft_isascii_test \ ft_isprint_test ft_toupper_test ft_tolower_test ft_strlen_test \ ft_memset_test ft_bzero_test ft_memcpy_test ft_calloc_test \ - ft_memmove_test ft_strlcpy_test + ft_memmove_test ft_strlcpy_test ft_strlcat_test %_test : %_test.c $(CC) $(CFLAGS) $*_test.c -L$(LIBDIR) -lft -o $*_test %_actual.output : %_test - @./$*_test > ./$*_actual.output ; + @./$*_test 2>&1 > ./$*_actual.output ; %_report : %_test %_actual.output -(diff -a $*_expected.output $*_actual.output \ diff --git a/ft_strlcat_expected.output b/ft_strlcat_expected.output new file mode 100644 index 0000000..3243f83 --- /dev/null +++ b/ft_strlcat_expected.output @@ -0,0 +1,4 @@ +test 1: size:[10], src:[ ips], dest:[Lorem], result:[9], dest:[Lorem ips] +test 2: size:[10], src:[ ipsu], dest:[Lorem], result:[10], dest:[Lorem ips] +test 3: size:[5], src:[XXXXXXXX], dest:[Lorem ip], result:[13], dest:[Lorem ip] +test 4: size:[0], src:[XXXXXXXX], dest:[Lorem ip], result:[8], dest:[Lorem ip] diff --git a/ft_strlcat_test.c b/ft_strlcat_test.c new file mode 100644 index 0000000..890f016 --- /dev/null +++ b/ft_strlcat_test.c @@ -0,0 +1,100 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strlcat_test.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: lalgarra +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2025/10/05 13:21:43 by lalgarra #+# #+# */ +/* Updated: 2025/10/05 21:13:00 by lalgarra ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft.h" +#include +#include + +static void test(char *prefix, char src[], char dest[], size_t size) +{ + size_t res; + int fd; + + fd = STDOUT_FILENO; + ft_putstr_fd(prefix, fd); + ft_putstr_fd("size:[", fd); + ft_putnbr_fd((int) size, fd); + ft_putstr_fd("], src:[", fd); + ft_putstr_fd(src, fd); + ft_putstr_fd("], dest:[", fd); + ft_putstr_fd(dest, fd); + res = ft_strlcat(dest, src, size); + ft_putstr_fd("], result:[", fd); + ft_putnbr_fd((int) res, fd); + ft_putstr_fd("], dest:[", fd); + ft_putstr_fd(dest, fd); + ft_putendl_fd("]", fd); +} + +static void zero(char src[], char dest[]) +{ + bzero(src, 128); + bzero(dest, 128); +} + +static void do_test1(char *prefix, char src[], char dest[]) +{ + size_t size; + + size = 10; + zero(src, dest); + memcpy(dest, "Lorem ipsum dolor sit amet consectetur adipiscing elit.", 5); + memcpy(src, " ipsum dolor sit amet consectetur adipiscing elit.", 4); + test(prefix, src, dest, size); +} + +static void do_test2(char *prefix, char src[], char dest[]) +{ + size_t size; + + zero(src, dest); + size = 10; + memcpy(dest, "Lorem ipsum dolor sit amet consectetur adipiscing elit.", 5); + memcpy(src, " ipsum dolor sit amet consectetur adipiscing elit.", 5); + test(prefix, src, dest, size); +} + +static void do_test3(char *prefix, char src[], char dest[]) +{ + size_t size; + + zero(src, dest); + size = 5; + memcpy(dest, "Lorem ipsum dolor sit amet consectetur adipiscing elit.", + size + 3); + memset(src, 'X', size + 3); + test(prefix, src, dest, size); +} + +static void do_test4(char *prefix, char src[], char dest[]) +{ + size_t size; + + zero(src, dest); + size = 0; + memcpy(dest, "Lorem ipsum dolor sit amet consectetur adipiscing elit.", + 8); + memset(src, 'X', 8); + test(prefix, src, dest, size); +} + +int main(void) +{ + char src[128]; + char dest[128]; + + do_test1("test 1: ", src, dest); + do_test2("test 2: ", src, dest); + do_test3("test 3: ", src, dest); + do_test4("test 4: ", src, dest); + return (0); +} diff --git a/ft_strlcpy_test.c b/ft_strlcpy_test.c index f333a1e..647ebcc 100644 --- a/ft_strlcpy_test.c +++ b/ft_strlcpy_test.c @@ -6,7 +6,7 @@ /* By: lalgarra +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/10/05 13:21:43 by lalgarra #+# #+# */ -/* Updated: 2025/10/05 19:49:14 by lalgarra ### ########.fr */ +/* Updated: 2025/10/05 20:48:01 by lalgarra ### ########.fr */ /* */ /* ************************************************************************** */ @@ -35,7 +35,7 @@ static void test(char *prefix, char src[], char dest[], size_t size) ft_putendl_fd("]", fd); } -static void zero(char src[], char dest[]) +static void zero(char src[], char dest[]) { bzero(src, 128); bzero(dest, 128); @@ -46,7 +46,7 @@ static void do_test1(char *prefix, char src[], char dest[]) size_t size; size = 10; - zero(src, dest); + zero(src, dest); memcpy(src, "Lorem ipsum dolor sit amet consectetur adipiscing elit.", 56); memset(dest, 'X', size + 2); test(prefix, src, dest, size); @@ -56,9 +56,10 @@ static void do_test2(char *prefix, char src[], char dest[]) { size_t size; - zero(src, dest); + zero(src, dest); size = 10; - memcpy(src, "Lorem ipsum dolor sit amet consectetur adipiscing elit.", size - 3); + memcpy(src, "Lorem ipsum dolor sit amet consectetur adipiscing elit.", + size - 3); memset(dest, 'X', size + 2); test(prefix, src, dest, size); } @@ -67,9 +68,10 @@ static void do_test3(char *prefix, char src[], char dest[]) { size_t size; - zero(src, dest); + zero(src, dest); size = 5; - memcpy(src, "Lorem ipsum dolor sit amet consectetur adipiscing elit.", size + 3); + memcpy(src, "Lorem ipsum dolor sit amet consectetur adipiscing elit.", + size + 3); memset(dest, 'X', size + 3); test(prefix, src, dest, size); }