A modern, refactored implementation of the 42 libft project, developed using Test-Driven Development (TDD) principles and the Criterion testing framework.
- Unit Testing: Comprehensive test suite using Criterion.
- Continuous Integration: Automated testing on every push via GitHub Actions.
- Memory Safety: Integrated Valgrind checks to ensure zero memory leaks.
- Code Coverage: Enforced 80%+ line coverage threshold using LCOV.
- Documentation: Professional API documentation generated by Doxygen.
- Modern Tooling: Clean
Makefilewith dedicated rules for testing and reporting.
- A C compiler (
ccorgcc) libcriterion-devvalgrindlcovdoxygen
Compile the library:
makeRun the unit test suite:
make testCheck for memory leaks:
make valgrindGenerate documentation:
make doc- ft_isalpha - [ ] ft_isdigit - [ ] ft_isalnum - [ ] ft_isascii
- ft_isprint - [ ] ft_strlen - [ ] ft_memset - [ ] ft_bzero
- ft_memcpy - [ ] ft_memmove - [ ] ft_strlcpy - [ ] ft_strlcat
- ft_toupper - [ ] ft_tolower - [ ] ft_strchr - [ ] ft_strrchr
- ft_strncmp - [ ] ft_memchr - [ ] ft_memcmp - [ ] ft_strnstr
- ft_atoi - [x] ft_calloc - [ ] ft_strdup
- ft_substr - [ ] ft_strjoin - [ ] ft_strtrim - [x] ft_split
- ft_itoa - [ ] ft_strmapi - [ ] ft_striteri - [x] ft_putchar_fd
- ft_putstr_fd - [x] ft_putendl_fd - [ ] ft_putnbr_fd
- ft_lstnew - [ ] ft_lstadd_front - [ ] ft_lstsize
- ft_lstlast - [ ] ft_lstadd_back - [ ] ft_lstdelone
- ft_lstclear - [ ] ft_lstiter - [ ] ft_lstmap