diff options
| author | Thomas Vanbesien <tvanbesi@proton.me> | 2026-02-21 15:49:06 +0100 |
|---|---|---|
| committer | Thomas Vanbesien <tvanbesi@proton.me> | 2026-02-21 15:51:44 +0100 |
| commit | 671a58519ef6207b54947ff70eea497ff7eb58ae (patch) | |
| tree | 783a971119bfed965113b84bc306ba941e884663 /tests/test_strlen.c | |
| parent | d699849b2360f90c61f645c5d4d4232cd3e1c962 (diff) | |
| download | Libft-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.c | 109 |
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); -} |
