aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_strlen.c
diff options
context:
space:
mode:
authorThomas Vanbesien <tvanbesi@proton.me>2026-02-21 15:49:06 +0100
committerThomas Vanbesien <tvanbesi@proton.me>2026-02-21 15:51:44 +0100
commit671a58519ef6207b54947ff70eea497ff7eb58ae (patch)
tree783a971119bfed965113b84bc306ba941e884663 /tests/test_strlen.c
parentd699849b2360f90c61f645c5d4d4232cd3e1c962 (diff)
downloadLibft-671a58519ef6207b54947ff70eea497ff7eb58ae.tar.gz
Libft-671a58519ef6207b54947ff70eea497ff7eb58ae.zip
Restructure project layout and clean up test suite
Move sources to src/, header to inc/, and tests to tests/src/. Update Makefiles and .gitignore for the new layout. Refactor test harness: add crash-wrapper macros (_S_CRASH, _S_CRASH_I, _S_CRASH_V, _S_CRASH_BUF) replacing 58 hand-written wrappers, add shared _s_test_int_range helper eliminating duplicate _s_test_func, add _S_RAND_ITERS constant, move srand() to main() in all test binaries, and add Doxygen comments to test_utils.h.
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);
-}