aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_strlen.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_strlen.c')
-rw-r--r--tests/test_strlen.c109
1 files changed, 0 insertions, 109 deletions
diff --git a/tests/test_strlen.c b/tests/test_strlen.c
deleted file mode 100644
index ef569ff..0000000
--- a/tests/test_strlen.c
+++ /dev/null
@@ -1,109 +0,0 @@
-#include "../libft.h"
-#include "test_utils.h"
-
-static void
-_s_call_ft_strlen_null (void)
-{
- _s_sink = ft_strlen (NULL);
-}
-
-static void
-_s_call_strlen_null (void)
-{
- _s_sink = strlen (NULL);
-}
-
-static void
-_s_test_empty (void)
-{
- printf ("-- empty string --\n");
- _s_check_eq ("ft_strlen", ft_strlen (""), 0);
- _s_check_eq ("libc strlen", strlen (""), 0);
-}
-
-static void
-_s_test_null (void)
-{
- int ft_crashed;
- int libc_crashed;
-
- printf ("-- NULL --\n");
- ft_crashed = _s_crashes (_s_call_ft_strlen_null);
- libc_crashed = _s_crashes (_s_call_strlen_null);
- if (ft_crashed && libc_crashed)
- {
- printf (" PASS both crash on NULL\n");
- _s_pass++;
- }
- else if (ft_crashed == libc_crashed)
- {
- printf (" PASS both behave the same on NULL (no crash)\n");
- _s_pass++;
- }
- else
- {
- printf (" FAIL ft_crashed=%d libc_crashed=%d\n", ft_crashed,
- libc_crashed);
- _s_fail++;
- }
-}
-
-static void
-_s_test_random (int n)
-{
- int i;
- int len;
- char *buf;
- char label[64];
-
- printf ("-- %d randomized tests --\n", n);
- for (i = 0; i < n; i++)
- {
- len = rand () % 10000;
- buf = malloc (len + 1);
- if (!buf)
- {
- printf (" FAIL malloc\n");
- _s_fail++;
- return;
- }
- memset (buf, 'A' + (i % 26), len);
- buf[len] = '\0';
- snprintf (label, sizeof (label), "random len=%d", len);
- _s_check_eq (label, ft_strlen (buf), strlen (buf));
- free (buf);
- }
-}
-
-static void
-_s_test_large (void)
-{
- size_t len;
- char *buf;
-
- printf ("-- large string (100 MB) --\n");
- len = 100 * 1024 * 1024;
- buf = malloc (len + 1);
- if (!buf)
- {
- printf (" SKIP could not allocate %zu bytes\n", len);
- return;
- }
- memset (buf, 'X', len);
- buf[len] = '\0';
- _s_check_eq ("100 MB string", ft_strlen (buf), len);
- free (buf);
-}
-
-int
-main (void)
-{
- srand (time (NULL));
- printf ("=== ft_strlen ===\n");
- _s_test_empty ();
- _s_test_null ();
- _s_test_random (100);
- _s_test_large ();
- _s_print_results ();
- return (_s_fail != 0);
-}