From 97e84015b635cf51d32b00000dc3fa25390251b4 Mon Sep 17 00:00:00 2001 From: Charles Date: Sat, 23 Nov 2019 20:57:37 +0100 Subject: Basic test for ft_strcpy.s and ft_strcmp.s --- ft_strcmp_test.c | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) (limited to 'ft_strcmp_test.c') diff --git a/ft_strcmp_test.c b/ft_strcmp_test.c index 8ac0c2d..f0ec048 100644 --- a/ft_strcmp_test.c +++ b/ft_strcmp_test.c @@ -1,7 +1,80 @@ #include "libasm_test.h" +static void +ft_strcmp_test_segfault(void) +{ + TEST_ASM_FUNCTION(ft_strcmp("", "")); + TEST_ASM_FUNCTION(ft_strcmp("bon", "bon")); + TEST_ASM_FUNCTION(ft_strcmp("bonjour", "bonjour")); + TEST_ASM_FUNCTION(ft_strcmp("%c%s%p%x%X%e%f%g", "%c%s%p%x%X%e%f%g")); + TEST_ASM_FUNCTION(ft_strcmp("the\0hidden", "the\0hidden")); + TEST_ASM_FUNCTION(ft_strcmp("Lorem ipsum dolor sit amet, consectetur adipiscing\ +elit. Sed in malesuada purus. Etiam a scelerisque massa. Ut non euismod elit. Aliquam\ +bibendum dolor mi, id fringilla tellus pulvinar eu. Fusce vel fermentum sem. Cras\ +volutpat, eros eget rhoncus rhoncus, diam augue egestas dolor, vitae rutrum nisi\ +felis sed purus. Mauris magna ex, mollis non suscipit eu, lacinia ac turpis. Phasellus\ +ac tortor et lectus fermentum lobortis eu at mauris. Vestibulum sit amet posuere\ +tortor, sit amet consequat amet.", +"Lorem ipsum dolor sit amet, consectetur adipiscing\ +elit. Sed in malesuada purus. Etiam a scelerisque massa. Ut non euismod elit. Aliquam\ +bibendum dolor mi, id fringilla tellus pulvinar eu. Fusce vel fermentum sem. Cras\ +volutpat, eros eget rhoncus rhoncus, diam augue egestas dolor, vitae rutrum nisi\ +felis sed purus. Mauris magna ex, mollis non suscipit eu, lacinia ac turpis. Phasellus\ +ac tortor et lectus fermentum lobortis eu at mauris. Vestibulum sit amet posuere\ +tortor, sit amet consequat amet.")); +} + +#define FT_STRCMP_EXPECT(s1, s2) expect_int(strcmp(s1, s2), ft_strcmp(s1, s2)) + +static void +ft_strcmp_test_compare(void) +{ + FT_STRCMP_EXPECT("", ""); + FT_STRCMP_EXPECT("bon", ""); + FT_STRCMP_EXPECT("bonjour", ""); + FT_STRCMP_EXPECT("%c%s%p%x%X%e%f%g", ""); + FT_STRCMP_EXPECT("the\0hidden", ""); + FT_STRCMP_EXPECT("Lorem ipsum dolor sit amet, consectetur adipiscing\ +elit. Sed in malesuada purus. Etiam a scelerisque massa. Ut non euismod elit. Aliquam\ +bibendum dolor mi, id fringilla tellus pulvinar eu. Fusce vel fermentum sem. Cras\ +volutpat, eros eget rhoncus rhoncus, diam augue egestas dolor, vitae rutrum nisi\ +felis sed purus. Mauris magna ex, mollis non suscipit eu, lacinia ac turpis. Phasellus\ +ac tortor et lectus fermentum lobortis eu at mauris. Vestibulum sit amet posuere\ +tortor, sit amet consequat amet.", ""); + FT_STRCMP_EXPECT("", ""); + FT_STRCMP_EXPECT("bon", "bon"); + FT_STRCMP_EXPECT("bonjour", "bonjour"); + FT_STRCMP_EXPECT("%c%s%p%x%X%e%f%g", "%c%s%p%x%X%e%f%g"); + FT_STRCMP_EXPECT("the\0hidden", "the\0hidden"); + FT_STRCMP_EXPECT("Lorem ipsum dolor sit amet, consectetur adipiscing\ +elit. Sed in malesuada purus. Etiam a scelerisque massa. Ut non euismod elit. Aliquam\ +bibendum dolor mi, id fringilla tellus pulvinar eu. Fusce vel fermentum sem. Cras\ +volutpat, eros eget rhoncus rhoncus, diam augue egestas dolor, vitae rutrum nisi\ +felis sed purus. Mauris magna ex, mollis non suscipit eu, lacinia ac turpis. Phasellus\ +ac tortor et lectus fermentum lobortis eu at mauris. Vestibulum sit amet posuere\ +tortor, sit amet consequat amet.", +"Lorem ipsum dolor sit amet, consectetur adipiscing\ +elit. Sed in malesuada purus. Etiam a scelerisque massa. Ut non euismod elit. Aliquam\ +bibendum dolor mi, id fringilla tellus pulvinar eu. Fusce vel fermentum sem. Cras\ +volutpat, eros eget rhoncus rhoncus, diam augue egestas dolor, vitae rutrum nisi\ +felis sed purus. Mauris magna ex, mollis non suscipit eu, lacinia ac turpis. Phasellus\ +ac tortor et lectus fermentum lobortis eu at mauris. Vestibulum sit amet posuere\ +tortor, sit amet consequat amet."); + + FT_STRCMP_EXPECT("", "asdf"); + FT_STRCMP_EXPECT("bon", "bo"); + FT_STRCMP_EXPECT("bonjour", "onjour"); + FT_STRCMP_EXPECT("%c%s%p%x%X%e%f%g", "%s%p%x%X%e%f%g"); + FT_STRCMP_EXPECT("the\0hidden", "thehidden"); + FT_STRCMP_EXPECT("Lorem ipsum dolor st amet, consectetur adipiscing", "Lodsfsdfasdf"); +} + void ft_strcmp_test(void) { + test_name = "ft_strcmp.s"; + ft_strcmp_test_segfault(); + if (!signaled) + ft_strcmp_test_compare(); } -- cgit