aboutsummaryrefslogtreecommitdiff
path: root/ft_strcmp_test.c
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2019-11-23 20:57:37 +0100
committerCharles <sircharlesaze@gmail.com>2019-11-23 20:57:37 +0100
commit97e84015b635cf51d32b00000dc3fa25390251b4 (patch)
treecb666d88199308bdbe82900e791db777ce573e8b /ft_strcmp_test.c
parent0696a5c7f9abe5451a0baf3170296704714fcce8 (diff)
downloadlibasm_test-97e84015b635cf51d32b00000dc3fa25390251b4.tar.gz
libasm_test-97e84015b635cf51d32b00000dc3fa25390251b4.tar.bz2
libasm_test-97e84015b635cf51d32b00000dc3fa25390251b4.zip
Basic test for ft_strcpy.s and ft_strcmp.s
Diffstat (limited to 'ft_strcmp_test.c')
-rw-r--r--ft_strcmp_test.c73
1 files changed, 73 insertions, 0 deletions
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();
}