diff options
| author | Charles Cabergs <me@cacharle.xyz> | 2020-09-18 16:39:52 +0200 |
|---|---|---|
| committer | Charles Cabergs <me@cacharle.xyz> | 2020-09-18 16:39:52 +0200 |
| commit | dd0c485ac4975b7dd6d2e230213be1da50d0a065 (patch) | |
| tree | 5fbd967f8b95c72fbb696bb089c2cc349d28b61f | |
| parent | 3c3f1115f6e9a9b914e2dcbd796501ca7ce85342 (diff) | |
| download | libft-dd0c485ac4975b7dd6d2e230213be1da50d0a065.tar.gz libft-dd0c485ac4975b7dd6d2e230213be1da50d0a065.tar.bz2 libft-dd0c485ac4975b7dd6d2e230213be1da50d0a065.zip | |
Removing unnecessary stuffmalloc
234 files changed, 39 insertions, 12104 deletions
@@ -6,71 +6,44 @@ # By: cacharle <marvin@42.fr> +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2019/10/08 15:45:53 by cacharle #+# #+# # -# Updated: 2020/02/13 04:31:23 by cacharle ### ########.fr # +# Updated: 2020/09/18 16:37:01 by charles ### ########.fr # # # # **************************************************************************** # LIB = ar rcs RM = rm -f -NORM = norminette -MAKE = make -MAKE_ARGS = --no-print-directory -SRC_DIR = src -INCLUDE_DIR = include -OBJ_DIR = obj -SCRIPT_DIR = script -TEST_DIR = test +SRCDIR = src +INCDIR = include +OBJDIR = obj -INCLUDE_DIR = include +INCDIR = include CC = gcc -CCFLAGS = -I$(INCLUDE_DIR) -Wall -Wextra -Werror - -IGNORE_FILE = .libftignore -IGNORE_DEFAULT = ft_printf +CCFLAGS = -I$(INCDIR) -Wall -Wextra -Werror NAME = libft.a -SRC = $(shell sh $(SCRIPT_DIR)/find_src.sh $(IGNORE_FILE)) -OBJ = $(SRC:$(SRC_DIR)/%.c=$(OBJ_DIR)/%.o) - -INCLUDE = $(shell find $(INCLUDE_DIR) -name "*.h") - -# export LIBFT_SRC = $(SRC) +INC = $(INCDIR)/libft.h +SRC = $(shell find $(SRCDIR) -type f -name '*.c') +OBJ = $(SRC:$(SRCDIR)/%.c=$(OBJDIR)/%.o) all: prebuild $(NAME) -.PHONY: test -test: all - @echo "Testing" - @$(MAKE) $(MAKE_ARGS) -C $(TEST_DIR) run - -norm: - @if [ `command -v $(NORM)` ]; \ - then echo "Running norminette"; \ - $(NORM) $(SRC) $(INCLUDE); \ - else echo "$(NORM) not installed"; fi - prebuild: - @for dir in $$(find $(SRC_DIR)/* $(FIND_ARGS) -type d | \ - sed 's_$(SRC_DIR)/_$(OBJ_DIR)/_g'); \ - do \ - if [ ! -d "$$dir" ]; then \ - mkdir -p $$dir; echo "Making build dir: $$dir"; fi \ - done + @mkdir -vp $(OBJDIR) $(NAME): $(OBJ) $(INCLUDE) @echo "Linking: $@" @$(LIB) $@ $(OBJ) -$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c +$(OBJDIR)/%.o: $(SRCDIR)/%.c @echo "Compiling: $@" @$(CC) $(CCFLAGS) -c -o $@ $< clean: @echo "Removing objects" - @$(RM) -r $(OBJ_DIR) + @$(RM) -r $(OBJDIR) fclean: clean @echo "Removing library" diff --git a/include/libft.h b/include/libft.h index 74f074b..8f949f2 100644 --- a/include/libft.h +++ b/include/libft.h @@ -6,7 +6,7 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 09:45:02 by cacharle #+# #+# */ -/* Updated: 2020/02/10 02:19:47 by cacharle ### ########.fr */ +/* Updated: 2020/09/18 16:37:45 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,21 +14,27 @@ # define LIBFT_H # include <unistd.h> -# include <stdarg.h> -# include <stdlib.h> -# include <stddef.h> +# include <stdint.h> # include <limits.h> -# include <errno.h> - -# include "libft_types.h" -# include "libft_ctype.h" -# include "libft_io.h" -# include "libft_mem.h" -# include "libft_str.h" # ifdef __linux__ # include <stdio.h> # define OPEN_MAX FOPEN_MAX # endif +size_t ft_strlen(const char *s); + +void ft_putendl(char *s); +void ft_putchar(char c); +void ft_putstr(char const *s); +void ft_putnbr(int n); +void ft_putchar_fd(char c, int fd); +void ft_putstr_fd(char *s, int fd); +void ft_putendl_fd(char *s, int fd); +void ft_putnbr_fd(int n, int fd); + +void ft_bzero(void *s, size_t n); +void *ft_memset(void *s, int c, size_t n); +void *ft_memcpy(void *dest, const void *src, size_t n); + #endif diff --git a/include/libft_algo.h b/include/libft_algo.h deleted file mode 100644 index 7223e7b..0000000 --- a/include/libft_algo.h +++ /dev/null @@ -1,59 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_algo.h :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/01/19 07:22:57 by cacharle #+# #+# */ -/* Updated: 2020/02/10 05:58:26 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#ifndef LIBFT_ALGO_H -# define LIBFT_ALGO_H - -# include <stdlib.h> -# include <stddef.h> -# include "libft_mem.h" -# include "libft_types.h" - -typedef int (*t_ftcompar_func)(const void*, const void*); - -typedef struct -{ - int lo; - int hi; -} t_ftrange; - -struct s_merge_sorted_arrays -{ - void *base; - void *left; - void *right; -}; - -typedef struct s_ft_search_const -{ - const void *key; - t_ftcompar_func compar; -} t_ftsearch_const; - -t_ftbool ft_is_set(void *base, size_t nel, size_t width, - t_ftcompar_func compar); -int ft_compar_int(const void *a, const void *b); -void ft_qsort(void *base, size_t nel, size_t width, - t_ftcompar_func compar); -int ft_mergesort(void *base, size_t nel, size_t width, - int (*compar)(const void *, const void *)); -int ft_heapsort(void *base, size_t nel, size_t width, - int (*compar)(const void *, const void *)); -void ft_reverse(void *base, size_t nel, size_t width); -void *ft_bsearch(const void *base, size_t nel, size_t width, - t_ftsearch_const *consts); -void *ft_lfind(const void *base, size_t *nelp, size_t width, - t_ftsearch_const *consts); -void *ft_lsearch(const void *base, size_t *nelp, size_t width, - t_ftsearch_const *consts); - -#endif diff --git a/include/libft_bt.h b/include/libft_bt.h deleted file mode 100644 index 6e2cc91..0000000 --- a/include/libft_bt.h +++ /dev/null @@ -1,28 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* libft_bt.h :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/07 21:26:34 by cacharle #+# #+# */ -/* Updated: 2020/02/07 21:34:52 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#ifndef LIBFT_BT_H -# define LIBFT_BT_H - -# include <stdlib.h> - -typedef struct s_ftbtree -{ - void *data; - struct s_ftbtree *left; - struct s_ftbtree *right; -} t_ftbtree; - -t_ftbtree *ft_btnew(void *data); -void ft_btdestroy(t_ftbtree *tree, void (*del)(void *data)); - -#endif diff --git a/include/libft_ctype.h b/include/libft_ctype.h deleted file mode 100644 index ad42c64..0000000 --- a/include/libft_ctype.h +++ /dev/null @@ -1,36 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* libft_ctype.h :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/01/31 10:35:31 by cacharle #+# #+# */ -/* Updated: 2020/02/10 05:18:30 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#ifndef LIBFT_CTYPE_H -# define LIBFT_CTYPE_H - -/* -** assertion -*/ - -int ft_isalpha(int c); -int ft_isdigit(int c); -int ft_isalnum(int c); -int ft_isascii(int c); -int ft_isprint(int c); -int ft_isspace(int c); -int ft_isblank(int c); - -/* -** conversion -*/ - -int ft_toupper(int c); -int ft_tolower(int c); -int ft_todigit(int c); - -#endif diff --git a/include/libft_ht.h b/include/libft_ht.h deleted file mode 100644 index 62f2ee1..0000000 --- a/include/libft_ht.h +++ /dev/null @@ -1,57 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* libft_ht.h :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/01/31 10:36:09 by cacharle #+# #+# */ -/* Updated: 2020/02/19 02:38:28 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#ifndef LIBFT_HT_H -# define LIBFT_HT_H - -# include "libft.h" -# include "libft_lst.h" - -typedef struct s_ftht_content -{ - char *key; - void *value; -} t_ftht_content; - -typedef t_ftlst* t_ftht_entry; - -typedef struct s_ftht -{ - t_ftsize size; - t_ftht_entry *entries; -} t_ftht; - -typedef t_ftuint t_ftht_digest; - -t_ftht_digest ft_hthash(t_ftht *ht, char *key); - -t_ftht *ft_htnew(t_ftsize size); -void ft_htdestroy(t_ftht *ht, void (*del)(t_ftht_content*)); -void ft_htdestroy_all(t_ftht *ht); -void ft_htdestroy_key(t_ftht *ht); -void *ft_htget(t_ftht *ht, char *key); -t_ftht_content *ft_htset(t_ftht *ht, char *key, void *value, - void (*del)(t_ftht_content*)); -void ft_htdelone(t_ftht *ht, char *key, - void (*del)(t_ftht_content*)); -void ft_htdelone_key(t_ftht *ht, char *key); -t_ftht_content *ft_htcontent_new(char *key, void *value); - -/* -** internals -*/ - -void ft_inter_htdelcontent_key(t_ftht_content *content); -int ft_inter_htkey_cmp(const void *ref_key, - const void *content); - -#endif diff --git a/include/libft_io.h b/include/libft_io.h deleted file mode 100644 index 76bce17..0000000 --- a/include/libft_io.h +++ /dev/null @@ -1,46 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* libft_io.h :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/01/31 10:35:43 by cacharle #+# #+# */ -/* Updated: 2020/02/14 02:23:43 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#ifndef LIBFT_IO_H -# define LIBFT_IO_H - -# include <unistd.h> -# include <stdlib.h> -# include <limits.h> -# include "libft.h" - -void ft_putendl(char *s); -void ft_putchar(char c); -void ft_putstr(char const *s); -void ft_putnbr(int n); -void ft_putchar_fd(char c, int fd); -void ft_putstr_fd(char *s, int fd); -void ft_putendl_fd(char *s, int fd); -void ft_putnbr_fd(int n, int fd); - -char ft_getchar(void); - -# ifndef FTNL_BUFFER_SIZE -# define FTNL_BUFFER_SIZE 32 -# endif - -# define FTNL_STATUS_LINE 1 -# define FTNL_STATUS_EOF 0 -# define FTNL_STATUS_ERROR -1 - -/* -** get_next_line.c -*/ - -int ft_next_line(int fd, char **line); - -#endif diff --git a/include/libft_lst.h b/include/libft_lst.h deleted file mode 100644 index a48c1aa..0000000 --- a/include/libft_lst.h +++ /dev/null @@ -1,54 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* libft_lst.h :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/01/31 10:36:39 by cacharle #+# #+# */ -/* Updated: 2020/02/17 03:05:36 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#ifndef LIBFT_LST_H -# define LIBFT_LST_H - -# include <stdlib.h> -# include "libft_types.h" -# include "libft_algo.h" - -typedef struct s_ftlst -{ - void *content; - struct s_ftlst *next; -} t_ftlst; - -typedef void (*t_ftdel_func)(void *); - -t_ftlst *ft_lstnew(void const *content); -void ft_lstadd_front(t_ftlst **alst, t_ftlst *new); -int ft_lstsize(t_ftlst *lst); -t_ftlst *ft_lstlast(t_ftlst *lst); -void ft_lstadd_back(t_ftlst **alst, t_ftlst *new); -void ft_lstdelone(t_ftlst *lst, void (*del)(void *)); -void ft_lstclear(t_ftlst **lst, void (*del)(void *)); -void ft_lstiter(t_ftlst *lst, void (*f)(void *)); -t_ftlst *ft_lstmap(t_ftlst *lst, void *(*f)(void *), - t_ftdel_func del); -void ft_lstpop_front(t_ftlst **lst, void (*del)(void *)); -t_ftlst *ft_lstreverse_ret(t_ftlst *lst); -void ft_lstreverse(t_ftlst **lst); -void ft_lstremove_if(t_ftlst **lst, - t_ftcompar_func cmp, const void *ref, - t_ftdel_func del); -t_ftlst *ft_lstbsearch(t_ftlst *lst, t_ftcompar_func cmp, - const void *ref); -t_ftlst *ft_lstlsearch(t_ftlst *lst, t_ftcompar_func cmp, - const void *ref); -t_ftlst *ft_lstlfind(t_ftlst *lst, t_ftcompar_func cmp, - const void *ref); -void ft_lstsort(t_ftlst **begin_list, t_ftcompar_func cmp); -t_ftlst *ft_lstsorted_merge(t_ftlst *l1, t_ftlst *l2, - t_ftcompar_func cmp); - -#endif diff --git a/include/libft_mem.h b/include/libft_mem.h deleted file mode 100644 index a15c020..0000000 --- a/include/libft_mem.h +++ /dev/null @@ -1,39 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* libft_mem.h :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/01/31 10:35:57 by cacharle #+# #+# */ -/* Updated: 2020/02/13 03:11:09 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#ifndef LIBFT_MEM_H -# define LIBFT_MEM_H - -# include <stddef.h> -# include "libft_types.h" - -void ft_bzero(void *s, size_t n); -void *ft_memset(void *s, int c, size_t n); -void *ft_memcpy(void *dest, const void *src, size_t n); -void *ft_memccpy(void *dest, const void *src, int c, size_t n); -void *ft_memmove(void *dst, const void *src, size_t len); -void *ft_memchr(const void *s, int c, size_t n); -int ft_memcmp(const void *s1, const void *s2, size_t n); -void *ft_calloc(size_t count, size_t size); -void ft_memswap(void *a, void *b, size_t size); -void *ft_memmem(const void *big, size_t big_len, - const void *little, size_t little_len); -void ft_memset_pattern4(void *b, const void *pattern4, - size_t len); - -/* -** bloat ? -*/ - -void ft_memdel(void **ap); - -#endif diff --git a/include/libft_printf.h b/include/libft_printf.h deleted file mode 100644 index 8e64208..0000000 --- a/include/libft_printf.h +++ /dev/null @@ -1,27 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* libft_printf.h :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/01/31 10:36:47 by cacharle #+# #+# */ -/* Updated: 2020/01/31 10:36:51 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#ifndef LIBFT_PRINTF_H -# define LIBFT_PRINTF_H - -int ft_printf(const char *format, ...); -int ft_sprintf(char *str, const char *format, ...); -int ft_snprintf(char *str, size_t size, const char *format, ...); -int ft_asprintf(char **ret, const char *format, ...); -int ft_dprintf(int fd, const char *format, ...); -int ft_vprintf(const char *format, va_list ap); -int ft_vsprintf(char *str, const char *format, va_list ap); -int ft_vsnprintf(char *str, size_t size, const char *format, va_list ap); -int ft_vasprintf(char **ret, const char *format, va_list ap); -int ft_vdprintf(int fd, const char *format, va_list ap); - -#endif diff --git a/include/libft_str.h b/include/libft_str.h deleted file mode 100644 index 582ef00..0000000 --- a/include/libft_str.h +++ /dev/null @@ -1,86 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* libft_str.h :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/01/31 10:39:22 by cacharle #+# #+# */ -/* Updated: 2020/02/14 03:45:15 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#ifndef LIBFT_STR_H -# define LIBFT_STR_H - -# include <stddef.h> -# include "libft_ctype.h" - -typedef enum -{ - FT_STRJOINF_FST, - FT_STRJOINF_SND, - FT_STRJOINF_ALL -} t_ftstrjoinf_tag; - -/* -** std -*/ - -size_t ft_strlen(const char *s); -char *ft_strcpy(char *dest, const char *src); -char *ft_strncpy(char *dest, const char *src, size_t n); -char *ft_strdup(const char *s); -char *ft_strndup(const char *s1, size_t n); -char *ft_strcat(char *dest, const char *src); -char *ft_strncat(char *dest, const char *src, size_t n); -size_t ft_strlcat(char *dst, const char *src, size_t size); -size_t ft_strlcpy(char *dst, const char *src, size_t size); -char *ft_strchr(const char *s, int c); -char *ft_strrchr(const char *s, int c); -char *ft_strstr(const char *haystack, const char *needle); -char *ft_strnstr(const char *haystack, const char *needle, size_t len); -int ft_strcmp(const char *s1, const char *s2); -int ft_strncmp(const char *s1, const char *s2, size_t n); -int ft_atoi(const char *nptr); - -/* -** extra -*/ - -void ft_striter(char *s, void (*f)(char *)); -void ft_striteri(char *s, void (*f)(unsigned int, char *)); -char *ft_substr(char const *s, unsigned int start, size_t len); -char *ft_strjoin(char const *s1, char const *s2); -char *ft_strjoinf(char const *s1, char const *s2, t_ftstrjoinf_tag tag); -char *ft_strtrim(char const *s1, char const *set); -char **ft_split(char const *s, char c); -int ft_strcount(char *str, char c); -char *ft_itoa(int n); -int ft_atoi_strict(const char *s); -long ft_strtol(const char *s, char **endptr, int base); -int ft_strcasecmp(const char *s1, const char *s2); -int ft_strncasecmp(const char *s1, const char *s2, size_t n); -size_t ft_strspn(const char *s, const char *charset); -size_t ft_strcspn(const char *s, const char *charset); -char *ft_strpbrk(const char *s, const char *charset); -char *ft_strsep(char **stringp, const char *delim); -size_t ft_strnlen(const char *s, size_t maxlen); -char *ft_strmap(char const *s, char (*f)(char)); -char *ft_strmapi(char *s, char (*f)(unsigned int, char)); -int ft_strequ(char const *s1, char const *s2); -int ft_strnequ(char const *s1, char const *s2, size_t n); -char *ft_strtolower(char *s); -char *ft_strtoupper(char *s); - -/* -** bloat ? -*/ - -/* -** char *ft_strnew(size_t size); -** void ft_strdel(char **as); -** void ft_strclr(char *s); -*/ - -#endif diff --git a/include/libft_types.h b/include/libft_types.h deleted file mode 100644 index 20fe0f7..0000000 --- a/include/libft_types.h +++ /dev/null @@ -1,30 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* libft_types.h :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/01/31 10:36:56 by cacharle #+# #+# */ -/* Updated: 2020/02/13 03:07:56 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#ifndef LIBFT_TYPES_H -# define LIBFT_TYPES_H - -# define TRUE 1 -# define FALSE 0 - -typedef unsigned char t_ftbyte; -typedef int t_ftbool; -typedef unsigned int t_ftsize; - -typedef char t_ftchar; -typedef unsigned char t_ftuchar; -typedef int t_ftint; -typedef unsigned int t_ftuint; -typedef long int t_ftlong; -typedef unsigned long int t_ftulong; - -#endif diff --git a/script/find_src.sh b/script/find_src.sh deleted file mode 100755 index 511642b..0000000 --- a/script/find_src.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!bin/sh - -if [ $# -ne 1 ]; then - echo "Usage $0 ignore_file" - exit 1 -fi - -IGNORE_FILE=$1 - -if [ ! -e $IGNORE_FILE ]; then - echo "Ignore file doesnt exist" - exit 1 -fi - -SRC_DIR=src - -IGNORE_FIND_ARGS=`sed 's/.*/-not -path "&"/' $IGNORE_FILE | paste -sd " " -` - -sh -c "find $SRC_DIR $IGNORE_FIND_ARGS -name \"*.c\"" -# find $SRC_DIR $IGNORE_FIND_ARGS -name "*.c" diff --git a/script/generate_boilerplate_test.sh b/script/generate_boilerplate_test.sh deleted file mode 100755 index ef6a2cf..0000000 --- a/script/generate_boilerplate_test.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -for f in $@ -do - test_name="test_`basename $f | sed 's/\..*//'`" - - - echo $test_name -done diff --git a/script/generate_rendu.sh b/script/generate_rendu.sh deleted file mode 100755 index 1b68a97..0000000 --- a/script/generate_rendu.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh - -if [ "$(git status --porcelain)" ] -then - echo "Error: Your working directory isn't clean" - exit -fi - -BASE_BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD) -RENDU_BRANCH_NAME="rendu-$BASE_BRANCH_NAME" - -if [ -z $(git show-ref --verify --quiet refs/heads/$RENDU_BRANCH_NAME) ] -then - echo "Error: $RENDU_BRANCH_NAME was already generated" - exit -fi - -git checkout -b $RENDU_BRANCH_NAME -RENDU_IGNORE=$(sed -n 's/RENDU_IGNORE=//p') -make fclean -rm -f $RENDU_IGNORE - -# generate makefile strict src - -git add . -git commit --message "Generated commit: creation of rendu for $BASE_BRANCH_NAME" diff --git a/script/generate_rendu_makefile.sh b/script/generate_rendu_makefile.sh deleted file mode 100644 index 00a9e81..0000000 --- a/script/generate_rendu_makefile.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!bin/sh - -SRC=`sh script/find_src.sh .libftignore` - -sed 's:\#INSERTSRC:'$SRC':g' template.makefile > rendu.makefile diff --git a/script/template.makefile b/script/template.makefile deleted file mode 100644 index b0902ec..0000000 --- a/script/template.makefile +++ /dev/null @@ -1,38 +0,0 @@ -# **************************************************************************** # -# # -# ::: :::::::: # -# Makefile :+: :+: :+: # -# +:+ +:+ +:+ # -# By: cacharle <marvin@42.fr> +#+ +:+ +#+ # -# +#+#+#+#+#+ +#+ # -# Created: 2019/10/08 15:45:53 by cacharle #+# #+# # -# Updated: 2020/01/31 06:51:18 by cacharle ### ########.fr # -# # -# **************************************************************************** # - -RM = rm -f -LIB = ar rcs - -CC = gcc -CCFLAGS = -Iinclude -Wall -Wextra -Werror - -#INSERTSRC - -OBJ = $(SRC:.c=.o) -NAME = libft.a - -all: $(NAME) - -$(NAME): $(OBJ) - $(LIB) $@ $(OBJ) - -%.o: %.c - $(CC) $(CCFLAGS) -c -o $@ $< - -clean: - $(RM) -r $(OBJ_DIR) - -fclean: clean - $(RM) $(NAME) - -re: fclean all diff --git a/script/test.sh b/script/test.sh deleted file mode 100644 index 50a17c9..0000000 --- a/script/test.sh +++ /dev/null @@ -1,14 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(test.sh); - -TEST_SETUP(test.sh); -{} - -TEST_TEAR_DOWN(test.sh); -{} - -TEST(test.sh, basic) -{ - -} diff --git a/src/algo/ft_bsearch.c b/src/algo/ft_bsearch.c deleted file mode 100644 index 5132fa2..0000000 --- a/src/algo/ft_bsearch.c +++ /dev/null @@ -1,32 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_bsearch.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/10 05:29:05 by cacharle #+# #+# */ -/* Updated: 2020/02/13 23:14:48 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_algo.h" - -void *ft_bsearch(const void *base, size_t nel, size_t width, - t_ftsearch_const *consts) -{ - int res; - size_t mid; - - if (nel < 1) - return (NULL); - mid = nel / 2; - res = (consts->compar)(consts->key, base + mid * width); - if (res == 0) - return ((void*)base + mid * width); - if (res < 0) - return (ft_bsearch(base, mid, width, consts)); - else - return (ft_bsearch(base + (mid + 1) * width, nel - mid - 1, - width, consts)); -} diff --git a/src/algo/ft_compar_int.c b/src/algo/ft_compar_int.c deleted file mode 100644 index 848dc71..0000000 --- a/src/algo/ft_compar_int.c +++ /dev/null @@ -1,18 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_compar_int.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/01/19 08:24:43 by cacharle #+# #+# */ -/* Updated: 2020/01/19 08:27:38 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -int ft_compar_int(const void *a, const void *b) -{ - return (*(int*)a - *(int*)b); -} diff --git a/src/algo/ft_heapsort.c b/src/algo/ft_heapsort.c deleted file mode 100644 index d309624..0000000 --- a/src/algo/ft_heapsort.c +++ /dev/null @@ -1,54 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_heapsort.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/10 02:59:22 by cacharle #+# #+# */ -/* Updated: 2020/02/10 04:22:19 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_algo.h" - -/* static void st_build_max_heap(void *base, size_t nel, size_t width, */ -/* int (*compar)(const void *, const void *)) */ -/* { */ -/* int i; */ -/* */ -/* i = 1; */ -/* while (i < nel) */ -/* { */ -/* compar(base + i * width, base + 2 * i * width) */ -/* */ -/* i++; */ -/* } */ -/* } */ -/* */ -/* static void st_heapify(void *base, size_t nel, size_t width, */ -/* int (*compar)(const void *, const void *)) */ -/* { */ -/* */ -/* } */ - -int ft_heapsort(void *base, size_t nel, size_t width, - int (*compar)(const void *, const void *)) -{ - (void)base; - (void)nel; - (void)width; - (void)compar; - /* size_t i; */ - /* */ - /* if (nel < 2) */ - /* return (0); */ - /* st_build_max_heap(base, nel, width, compar); */ - /* i = -1; */ - /* while (++i < nel) */ - /* { */ - /* ft_memswap(base, base + (nel - i - 1) * width); */ - /* st_heapify(base, nel - i - 1, width, compar); */ - /* } */ - return (0); -} diff --git a/src/algo/ft_is_set.c b/src/algo/ft_is_set.c deleted file mode 100644 index 3e7ae31..0000000 --- a/src/algo/ft_is_set.c +++ /dev/null @@ -1,32 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_is_set.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/01/19 07:17:15 by cacharle #+# #+# */ -/* Updated: 2020/02/10 02:51:41 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" -#include "libft_algo.h" - -t_ftbool ft_is_set(void *base, size_t nel, size_t width, - t_ftcompar_func compar) -{ - size_t i; - - if (nel < 2) - return (TRUE); - ft_qsort(base, nel, width, compar); - i = 0; - while (i < nel - 1) - { - if (compar(base + (i * width), base + ((i + 1) * width)) == 0) - return (FALSE); - i++; - } - return (TRUE); -} diff --git a/src/algo/ft_lfind.c b/src/algo/ft_lfind.c deleted file mode 100644 index 8538f50..0000000 --- a/src/algo/ft_lfind.c +++ /dev/null @@ -1,28 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lfind.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/10 05:49:19 by cacharle #+# #+# */ -/* Updated: 2020/02/10 05:58:19 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_algo.h" - -void *ft_lfind(const void *base, size_t *nelp, size_t width, - t_ftsearch_const *consts) -{ - size_t i; - - i = 0; - while (i < *nelp) - { - if ((consts->compar)(consts->key, base + i * width) == 0) - return ((void*)base + i * width); - i++; - } - return (NULL); -} diff --git a/src/algo/ft_lsearch.c b/src/algo/ft_lsearch.c deleted file mode 100644 index 4c77bca..0000000 --- a/src/algo/ft_lsearch.c +++ /dev/null @@ -1,23 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lsearch.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/10 05:53:57 by cacharle #+# #+# */ -/* Updated: 2020/02/10 05:59:33 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_algo.h" - -void *ft_lsearch(const void *base, size_t *nelp, size_t width, - t_ftsearch_const *consts) -{ - void *found; - - if ((found = ft_lfind(base, nelp, width, consts)) != NULL) - return (found); - return (ft_memcpy((void*)base + (*nelp)++ * width, consts->key, width)); -} diff --git a/src/algo/ft_mergesort.c b/src/algo/ft_mergesort.c deleted file mode 100644 index 25b4255..0000000 --- a/src/algo/ft_mergesort.c +++ /dev/null @@ -1,76 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_mergesort.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/10 02:26:41 by cacharle #+# #+# */ -/* Updated: 2020/02/13 23:14:21 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_algo.h" - -static int st_mergesort_error(void *left, void *right) -{ - free(left); - free(right); - return (-1); -} - -static void st_merge_sorted(struct s_merge_sorted_arrays *arrays, size_t nel, - size_t width, int (*compar)(const void *, const void *)) -{ - size_t bi; - size_t li; - size_t ri; - size_t mid; - - mid = nel / 2; - bi = 0; - li = 0; - ri = 0; - while (li < mid && ri < nel - mid) - { - if (compar(arrays->left + li * width, arrays->right + ri * width) < 0) - ft_memcpy(arrays->base + bi * width, - arrays->left + li++ * width, width); - else - ft_memcpy(arrays->base + bi * width, - arrays->right + ri++ * width, width); - bi++; - } - while (li < mid) - ft_memcpy(arrays->base + bi++ * width, - arrays->left + li++ * width, width); - while (ri < nel - mid) - ft_memcpy(arrays->base + bi++ * width, - arrays->right + ri++ * width, width); -} - -int ft_mergesort(void *base, size_t nel, size_t width, - int (*compar)(const void *, const void *)) -{ - size_t mid; - struct s_merge_sorted_arrays arrays; - - if (nel < 2) - return (0); - mid = nel / 2; - if ((arrays.left = malloc(mid * width)) == NULL) - return (-1); - if ((arrays.right = malloc((nel - mid) * width)) == NULL) - return (st_mergesort_error(arrays.left, NULL)); - ft_memcpy(arrays.left, base, mid * width); - ft_memcpy(arrays.right, base + mid * width, (nel - mid) * width); - if (ft_mergesort(arrays.left, mid, width, compar) == -1) - return (st_mergesort_error(arrays.left, arrays.right)); - if (ft_mergesort(arrays.right, nel - mid, width, compar) == -1) - return (st_mergesort_error(arrays.left, arrays.right)); - arrays.base = base; - st_merge_sorted(&arrays, nel, width, compar); - free(arrays.left); - free(arrays.right); - return (0); -} diff --git a/src/algo/ft_qsort.c b/src/algo/ft_qsort.c deleted file mode 100644 index 9bcfcdf..0000000 --- a/src/algo/ft_qsort.c +++ /dev/null @@ -1,64 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_qsort.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/01/19 07:25:51 by cacharle #+# #+# */ -/* Updated: 2020/02/10 02:55:14 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_algo.h" - -static t_ftrange ft_range_new(int lo, int hi) -{ - t_ftrange range; - - range.lo = lo; - range.hi = hi; - return (range); -} - -static int ft_qsort_partition(void *base, t_ftrange range, - size_t width, t_ftcompar_func compar) -{ - void *pivot; - int p; - int i; - - pivot = base + (range.hi * width); - p = range.lo; - i = range.lo - 1; - while (++i < range.hi) - { - if (compar(base + (i * width), pivot) < 0) - { - ft_memswap(base + (i * width), base + (p * width), width); - p++; - } - } - ft_memswap(pivot, base + (p * width), width); - return (p); -} - -static void ft_qsort_rec(void *base, t_ftrange range, - size_t width, t_ftcompar_func compar) -{ - int pivot; - - if (range.lo >= range.hi) - return ; - pivot = ft_qsort_partition(base, range, width, compar); - ft_qsort_rec(base, ft_range_new(range.lo, pivot - 1), width, compar); - ft_qsort_rec(base, ft_range_new(pivot + 1, range.hi), width, compar); -} - -void ft_qsort(void *base, size_t nel, size_t width, - t_ftcompar_func compar) -{ - if (width == 0 || nel < 2) - return ; - ft_qsort_rec(base, ft_range_new(0, nel - 1), width, compar); -} diff --git a/src/algo/ft_reverse.c b/src/algo/ft_reverse.c deleted file mode 100644 index 0bc447f..0000000 --- a/src/algo/ft_reverse.c +++ /dev/null @@ -1,27 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_reverse.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/10 05:07:13 by cacharle #+# #+# */ -/* Updated: 2020/02/10 05:19:22 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_algo.h" - -void ft_reverse(void *base, size_t nel, size_t width) -{ - size_t i; - - i = 0; - nel--; - while (i < nel) - { - ft_memswap(base + i * width, base + nel * width, width); - i++; - nel--; - } -} diff --git a/src/bt/ft_btdestroy.c b/src/bt/ft_btdestroy.c deleted file mode 100644 index c802db0..0000000 --- a/src/bt/ft_btdestroy.c +++ /dev/null @@ -1,23 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_btdestroy.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/07 21:30:53 by cacharle #+# #+# */ -/* Updated: 2020/02/07 21:35:19 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_bt.h" - -void ft_btdestroy(t_ftbtree *tree, void (*del)(void *data)) -{ - if (tree == NULL) - return ; - ft_btdestroy(tree->left, del); - ft_btdestroy(tree->right, del); - (*del)(tree->data); - free(tree); -} diff --git a/src/bt/ft_btnew.c b/src/bt/ft_btnew.c deleted file mode 100644 index 973e1a4..0000000 --- a/src/bt/ft_btnew.c +++ /dev/null @@ -1,25 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_btnew.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/07 21:33:16 by cacharle #+# #+# */ -/* Updated: 2020/02/07 21:34:35 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_bt.h" - -t_ftbtree *ft_btnew(void *data) -{ - t_ftbtree *tree; - - if ((tree = (t_ftbtree*)malloc(sizeof(t_ftbtree))) == NULL) - return (NULL); - tree->data = data; - tree->left = NULL; - tree->right = NULL; - return (tree); -} diff --git a/src/ctype/ft_isalnum.c b/src/ctype/ft_isalnum.c deleted file mode 100644 index 1ee1e0f..0000000 --- a/src/ctype/ft_isalnum.c +++ /dev/null @@ -1,18 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_isalnum.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 09:41:40 by cacharle #+# #+# */ -/* Updated: 2019/10/07 09:41:56 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -int ft_isalnum(int c) -{ - return (ft_isalpha(c) || ft_isdigit(c)); -} diff --git a/src/ctype/ft_isalpha.c b/src/ctype/ft_isalpha.c deleted file mode 100644 index 6f155b4..0000000 --- a/src/ctype/ft_isalpha.c +++ /dev/null @@ -1,16 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_isalpha.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 09:54:52 by cacharle #+# #+# */ -/* Updated: 2019/10/20 13:01:13 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -int ft_isalpha(int c) -{ - return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')); -} diff --git a/src/ctype/ft_isascii.c b/src/ctype/ft_isascii.c deleted file mode 100644 index 12b6849..0000000 --- a/src/ctype/ft_isascii.c +++ /dev/null @@ -1,16 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_isascii.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 09:54:30 by cacharle #+# #+# */ -/* Updated: 2020/02/12 23:01:02 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -int ft_isascii(int c) -{ - return (c >= 00 && c <= 0177); -} diff --git a/src/ctype/ft_isblank.c b/src/ctype/ft_isblank.c deleted file mode 100644 index def106b..0000000 --- a/src/ctype/ft_isblank.c +++ /dev/null @@ -1,16 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_isblank.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/10 05:17:45 by cacharle #+# #+# */ -/* Updated: 2020/02/10 05:18:34 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -int ft_isblank(int c) -{ - return (c == ' ' || c == '\t'); -} diff --git a/src/ctype/ft_isdigit.c b/src/ctype/ft_isdigit.c deleted file mode 100644 index f8a5850..0000000 --- a/src/ctype/ft_isdigit.c +++ /dev/null @@ -1,16 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_isdigit.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 10:41:20 by cacharle #+# #+# */ -/* Updated: 2019/10/07 10:41:25 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -int ft_isdigit(int c) -{ - return (c >= '0' && c <= '9'); -} diff --git a/src/ctype/ft_isprint.c b/src/ctype/ft_isprint.c deleted file mode 100644 index c311709..0000000 --- a/src/ctype/ft_isprint.c +++ /dev/null @@ -1,16 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_isprint.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 09:52:09 by cacharle #+# #+# */ -/* Updated: 2019/10/20 13:03:36 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -int ft_isprint(int c) -{ - return (c >= ' ' && c <= '~'); -} diff --git a/src/ctype/ft_isspace.c b/src/ctype/ft_isspace.c deleted file mode 100644 index 18b6dba..0000000 --- a/src/ctype/ft_isspace.c +++ /dev/null @@ -1,19 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_isspace.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/01/15 11:33:36 by cacharle #+# #+# */ -/* Updated: 2020/01/15 11:35:07 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -int ft_isspace(int c) -{ - return (c == ' ' || c == '\t' || c == '\n' - || c == '\v' || c == '\f' || c == '\r'); -} diff --git a/src/ctype/ft_todigit.c b/src/ctype/ft_todigit.c deleted file mode 100644 index f201470..0000000 --- a/src/ctype/ft_todigit.c +++ /dev/null @@ -1,20 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_todigit.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/01/15 10:37:57 by cacharle #+# #+# */ -/* Updated: 2020/02/12 23:11:55 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -int ft_todigit(int c) -{ - if (!ft_isdigit(c)) - return (-1); - return (c & 0x0F); -} diff --git a/src/ctype/ft_tolower.c b/src/ctype/ft_tolower.c deleted file mode 100644 index 919469f..0000000 --- a/src/ctype/ft_tolower.c +++ /dev/null @@ -1,24 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_tolower.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 10:14:26 by cacharle #+# #+# */ -/* Updated: 2019/11/20 01:04:02 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -/* -** E: 0100 0101 -** e: 0110 0101 -** ^ -*/ - -int ft_tolower(int c) -{ - if (c >= 'A' && c <= 'Z') - return (c | 0b00100000); - return (c); -} diff --git a/src/ctype/ft_toupper.c b/src/ctype/ft_toupper.c deleted file mode 100644 index 8579b91..0000000 --- a/src/ctype/ft_toupper.c +++ /dev/null @@ -1,20 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_toupper.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 10:14:10 by cacharle #+# #+# */ -/* Updated: 2019/11/20 01:04:51 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -int ft_toupper(int c) -{ - if (c >= 'a' && c <= 'z') - return (c ^ 0b00100000); - return (c); -} diff --git a/src/mem/ft_bzero.c b/src/ft_bzero.c index d179af0..d179af0 100644 --- a/src/mem/ft_bzero.c +++ b/src/ft_bzero.c diff --git a/src/mem/ft_memcpy.c b/src/ft_memcpy.c index d0ef008..091910f 100644 --- a/src/mem/ft_memcpy.c +++ b/src/ft_memcpy.c @@ -6,7 +6,7 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 10:00:07 by cacharle #+# #+# */ -/* Updated: 2020/01/17 10:39:04 by cacharle ### ########.fr */ +/* Updated: 2020/09/18 16:38:48 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -22,7 +22,7 @@ void *ft_memcpy(void *dest, const void *src, size_t n) while (n % 8 > 0) { n--; - ((t_ftbyte*)dest)[n] = ((t_ftbyte*)src)[n]; + ((uint8_t*)dest)[n] = ((uint8_t*)src)[n]; } long_dest = dest; long_src = src; diff --git a/src/mem/ft_memset.c b/src/ft_memset.c index 89f53ff..8feb3f5 100644 --- a/src/mem/ft_memset.c +++ b/src/ft_memset.c @@ -6,7 +6,7 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 10:01:23 by cacharle #+# #+# */ -/* Updated: 2020/01/17 10:39:10 by cacharle ### ########.fr */ +/* Updated: 2020/09/18 16:37:18 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -19,7 +19,7 @@ void *ft_memset(void *s, int c, size_t n) c = (unsigned char)c; while (n % 8 > 0) - *((t_ftbyte*)s + --n) = c; + *((uint8_t*)s + --n) = c; buf = (long int)c | (long int)c << 8 | (long int)c << 16 | (long int)c << 24 | (long int)c << 32 | (long int)c << 40 | (long int)c << 48 | (long int)c << 56; diff --git a/src/io/ft_putchar.c b/src/ft_putchar.c index 2838f0a..2838f0a 100644 --- a/src/io/ft_putchar.c +++ b/src/ft_putchar.c diff --git a/src/io/ft_putchar_fd.c b/src/ft_putchar_fd.c index 97d6f7a..97d6f7a 100644 --- a/src/io/ft_putchar_fd.c +++ b/src/ft_putchar_fd.c diff --git a/src/io/ft_putendl.c b/src/ft_putendl.c index 880977e..880977e 100644 --- a/src/io/ft_putendl.c +++ b/src/ft_putendl.c diff --git a/src/io/ft_putendl_fd.c b/src/ft_putendl_fd.c index a8077fc..a8077fc 100644 --- a/src/io/ft_putendl_fd.c +++ b/src/ft_putendl_fd.c diff --git a/src/io/ft_putnbr.c b/src/ft_putnbr.c index 247df40..247df40 100644 --- a/src/io/ft_putnbr.c +++ b/src/ft_putnbr.c diff --git a/src/io/ft_putnbr_fd.c b/src/ft_putnbr_fd.c index 169d1b5..169d1b5 100644 --- a/src/io/ft_putnbr_fd.c +++ b/src/ft_putnbr_fd.c diff --git a/src/io/ft_putstr.c b/src/ft_putstr.c index 14b01a3..14b01a3 100644 --- a/src/io/ft_putstr.c +++ b/src/ft_putstr.c diff --git a/src/io/ft_putstr_fd.c b/src/ft_putstr_fd.c index d0279ab..d0279ab 100644 --- a/src/io/ft_putstr_fd.c +++ b/src/ft_putstr_fd.c diff --git a/src/lst/ft_lstsize.c b/src/ft_strlen.c index 922b581..c484500 100644 --- a/src/lst/ft_lstsize.c +++ b/src/ft_strlen.c @@ -1,27 +1,23 @@ /* ************************************************************************** */ /* */ /* ::: :::::::: */ -/* ft_lstsize_bonus.c :+: :+: :+: */ +/* ft_strlen.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/09 09:04:28 by cacharle #+# #+# */ -/* Updated: 2019/11/20 04:01:44 by cacharle ### ########.fr */ +/* Created: 2019/10/07 10:32:48 by cacharle #+# #+# */ +/* Updated: 2020/09/18 16:38:28 by charles ### ########.fr */ /* */ /* ************************************************************************** */ #include "libft.h" -#include "libft_lst.h" -int ft_lstsize(t_ftlst *lst) +size_t ft_strlen(const char *s) { - int counter; + size_t counter; counter = 0; - while (lst != NULL) - { + while (s[counter] != '\0') counter++; - lst = lst->next; - } return (counter); } diff --git a/src/ht/ft_htcontent_new.c b/src/ht/ft_htcontent_new.c deleted file mode 100644 index 214e125..0000000 --- a/src/ht/ft_htcontent_new.c +++ /dev/null @@ -1,31 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_htcontent_new.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/01/30 08:45:36 by cacharle #+# #+# */ -/* Updated: 2020/02/17 04:09:50 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" -#include "libft_ht.h" - -t_ftht_content *ft_htcontent_new(char *key, void *value) -{ - t_ftht_content *content; - - if (key == NULL) - return (NULL); - if ((content = (t_ftht_content*)malloc(sizeof(t_ftht_content))) == NULL) - return (NULL); - if ((content->key = ft_strdup(key)) == NULL) - { - free(content); - return (NULL); - } - content->value = value; - return (content); -} diff --git a/src/ht/ft_htdelone.c b/src/ht/ft_htdelone.c deleted file mode 100644 index 2c54721..0000000 --- a/src/ht/ft_htdelone.c +++ /dev/null @@ -1,21 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_htdelone.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/01/30 09:27:18 by cacharle #+# #+# */ -/* Updated: 2020/02/19 02:35:06 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" -#include "libft_ht.h" - -void ft_htdelone(t_ftht *ht, char *key, void (*del)(t_ftht_content*)) -{ - ft_lstremove_if(ht->entries + ft_hthash(ht, key), - ft_inter_htkey_cmp, key, - (void (*)(void*))del); -} diff --git a/src/ht/ft_htdestroy.c b/src/ht/ft_htdestroy.c deleted file mode 100644 index e0442c6..0000000 --- a/src/ht/ft_htdestroy.c +++ /dev/null @@ -1,24 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_htdestroy.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/01/30 08:19:06 by cacharle #+# #+# */ -/* Updated: 2020/01/30 08:33:09 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" -#include "libft_ht.h" - -void ft_htdestroy(t_ftht *ht, void (*del)(t_ftht_content*)) -{ - if (ht == NULL) - return ; - while (ht->size-- > 0) - ft_lstclear(ht->entries + ht->size, (void (*)(void*))del); - free(ht->entries); - free(ht); -} diff --git a/src/ht/ft_htget.c b/src/ht/ft_htget.c deleted file mode 100644 index 76e4fb2..0000000 --- a/src/ht/ft_htget.c +++ /dev/null @@ -1,29 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_htget.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/01/30 08:33:21 by cacharle #+# #+# */ -/* Updated: 2020/02/19 01:44:41 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" -#include "libft_ht.h" - -void *ft_htget(t_ftht *ht, char *key) -{ - - t_ftht_digest digest; - t_ftlst *found; - - if (ht == NULL || key == NULL) - return (NULL); - digest = ft_hthash(ht, key); - found = ft_lstlfind(ht->entries[digest], ft_inter_htkey_cmp, key); - if (found == NULL) - return (NULL); - return (((t_ftht_content*)found->content)->value); -} diff --git a/src/ht/ft_hthash.c b/src/ht/ft_hthash.c deleted file mode 100644 index e7e696c..0000000 --- a/src/ht/ft_hthash.c +++ /dev/null @@ -1,28 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_hthash.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/01/30 09:56:01 by cacharle #+# #+# */ -/* Updated: 2020/01/30 10:34:27 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_ht.h" - -t_ftht_digest ft_hthash(t_ftht *ht, char *key) -{ - t_ftht_digest digest; - - if (*key == '\0') - return (0); - digest = *key++ << 7; - while (*key != '\0') - { - digest = ((1000003 * digest) ^ *key) & (1 << 16); - key++; - } - return (digest % ht->size); -} diff --git a/src/ht/ft_htnew.c b/src/ht/ft_htnew.c deleted file mode 100644 index d98a724..0000000 --- a/src/ht/ft_htnew.c +++ /dev/null @@ -1,32 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_htnew.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/01/30 08:19:16 by cacharle #+# #+# */ -/* Updated: 2020/02/10 02:16:20 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" -#include "libft_ht.h" - -t_ftht *ft_htnew(t_ftsize size) -{ - t_ftht *ht; - - if (size == 0) - return (NULL); - if ((ht = (t_ftht*)malloc(sizeof(t_ftht))) == NULL) - return (NULL); - ht->entries = (t_ftht_entry*)ft_calloc(size, sizeof(t_ftht_entry)); - if (ht->entries == NULL) - { - free(ht); - return (NULL); - } - ht->size = size; - return (ht); -} diff --git a/src/ht/ft_htset.c b/src/ht/ft_htset.c deleted file mode 100644 index c7068d5..0000000 --- a/src/ht/ft_htset.c +++ /dev/null @@ -1,45 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_htset.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/01/30 08:41:52 by cacharle #+# #+# */ -/* Updated: 2020/02/19 02:44:10 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" -#include "libft_ht.h" - -t_ftht_content *ft_htset(t_ftht *ht, char *key, void *value, - void (*del)(t_ftht_content*)) -{ - t_ftht_digest digest; - t_ftht_content *content; - t_ftht_entry entry; - t_ftlst *tmp; - - if (ht == NULL || key == NULL) - return (NULL); - if ((content = ft_htcontent_new(key, value)) == NULL) - return (NULL); - digest = ft_hthash(ht, key); - tmp = ft_lstlfind(ht->entries[digest], ft_inter_htkey_cmp, key); - if (tmp != NULL) - { - if (del != NULL) - (*del)(tmp->content); - tmp->content = content; - return ((t_ftht_content*)tmp->content); - } - - if ((entry = ft_lstnew(content)) == NULL) - { - free(content); - return (NULL); - } - ft_lstadd_front(ht->entries + digest, entry); - return (content); -} diff --git a/src/ht/ft_inter_htkey_cmp.c b/src/ht/ft_inter_htkey_cmp.c deleted file mode 100644 index 6f04ecc..0000000 --- a/src/ht/ft_inter_htkey_cmp.c +++ /dev/null @@ -1,21 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_internal_htkey_equal.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/01/30 09:24:39 by cacharle #+# #+# */ -/* Updated: 2020/02/19 02:03:14 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" -#include "libft_ht.h" - -int ft_inter_htkey_cmp(const void *ref_key, const void *content) -{ - if (ref_key == NULL || content == NULL) - return (-1); - return (ft_strcmp((char*)ref_key, ((t_ftht_content*)content)->key)); -} diff --git a/src/io/ft_getchar.c b/src/io/ft_getchar.c deleted file mode 100644 index 9d233c0..0000000 --- a/src/io/ft_getchar.c +++ /dev/null @@ -1,22 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_getchar.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/01/18 10:29:54 by cacharle #+# #+# */ -/* Updated: 2020/02/14 02:24:56 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -char ft_getchar(void) -{ - char c; - - if (read(STDIN_FILENO, &c, 1) < 0) - return (-1); - return (c); -} diff --git a/src/io/ft_next_line.c b/src/io/ft_next_line.c deleted file mode 100644 index 0f4cc2c..0000000 --- a/src/io/ft_next_line.c +++ /dev/null @@ -1,113 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_next_line.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/01/31 10:39:38 by cacharle #+# #+# */ -/* Updated: 2020/02/14 03:38:01 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -static int st_find_newline(char *str) -{ - int i; - - i = -1; - while (str[++i]) - if (str[i] == '\n') - return (i); - return (-1); -} - -static int st_free_return(char **ptr, char **ptr2, int ret) -{ - if (ptr != NULL) - { - free(*ptr); - *ptr = NULL; - } - if (ptr2 != NULL) - { - free(*ptr2); - *ptr2 = NULL; - } - return (ret); -} - -static int st_read_line(int fd, char **line, char *rest) -{ - int ret; - int split_at; - char *buf; - - if ((buf = malloc(sizeof(char) * (FTNL_BUFFER_SIZE + 1))) == NULL) - return (st_free_return(line, NULL, FTNL_STATUS_ERROR)); - while ((ret = read(fd, buf, FTNL_BUFFER_SIZE)) > 0) - { - buf[ret] = '\0'; - if ((split_at = st_find_newline(buf)) != -1) - { - ft_strcpy(rest, buf + split_at + 1); - buf[split_at] = '\0'; - if ((*line = ft_strjoinf(*line, buf, FT_STRJOINF_FST)) == NULL) - return (st_free_return(&buf, NULL, FTNL_STATUS_ERROR)); - return (st_free_return(&buf, NULL, FTNL_STATUS_LINE)); - } - if ((*line = ft_strjoinf(*line, buf, FT_STRJOINF_FST)) == NULL) - return (st_free_return(&buf, NULL, FTNL_STATUS_ERROR)); - } - if (ret == -1) - return (st_free_return(&buf, line, FTNL_STATUS_ERROR)); - return (st_free_return(&buf, NULL, ret)); -} - -/* -** if has rest: -** if rest has newline: -** push rest until newline in line, shift rest -** return LINE_READ -** else: -** push rest in line -** -** while can read fd in buf -** if buf has newline: -** push buf until newline in line -** push buf after newline in rest -** return LINE_READ -** push buf in line -** -** return FTNL_EOF -*/ - -int ft_next_line(int fd, char **line) -{ - int split_at; - static char rest[OPEN_MAX][FTNL_BUFFER_SIZE + 1] = {{0}}; - - if (fd < 0 || fd > OPEN_MAX || line == NULL || FTNL_BUFFER_SIZE <= 0) - return (FTNL_STATUS_ERROR); - if ((*line = ft_strdup("")) == NULL) - return (FTNL_STATUS_ERROR); - if (rest[fd][0] == '\0') - return (st_read_line(fd, line, rest[fd])); - if ((split_at = st_find_newline(rest[fd])) != -1) - { - free(*line); - if ((*line = (char*)malloc(sizeof(char) * (split_at + 1))) == NULL) - return (FTNL_STATUS_ERROR); - ft_strncpy(*line, rest[fd], split_at); - (*line)[split_at] = '\0'; - ft_strcpy(rest[fd], rest[fd] + split_at + 1); - return (FTNL_STATUS_LINE); - } - free(*line); - if (!(*line = (char*)malloc(sizeof(char) * (ft_strlen(rest[fd]) + 1)))) - return (FTNL_STATUS_ERROR); - ft_strcpy(*line, rest[fd]); - rest[fd][0] = '\0'; - return (st_read_line(fd, line, rest[fd])); -} diff --git a/src/io/ft_printf/ft_asprintf.c b/src/io/ft_printf/ft_asprintf.c deleted file mode 100644 index 5eb62d9..0000000 --- a/src/io/ft_printf/ft_asprintf.c +++ /dev/null @@ -1,24 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_asprintf.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/11/21 02:30:33 by cacharle #+# #+# */ -/* Updated: 2019/11/21 03:43:08 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -int ft_asprintf(char **ret, const char *format, ...) -{ - int vret; - va_list ap; - - va_start(ap, format); - vret = ft_vasprintf(ret, format, ap); - va_end(ap); - return (vret); -} diff --git a/src/io/ft_printf/ft_dprintf.c b/src/io/ft_printf/ft_dprintf.c deleted file mode 100644 index 8e60970..0000000 --- a/src/io/ft_printf/ft_dprintf.c +++ /dev/null @@ -1,24 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_dprintf.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/11/21 02:29:11 by cacharle #+# #+# */ -/* Updated: 2019/11/21 03:42:05 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -int ft_dprintf(int fd, const char *format, ...) -{ - int ret; - va_list ap; - - va_start(ap, format); - ret = ft_vdprintf(fd, format, ap); - va_end(ap); - return (ret); -} diff --git a/src/io/ft_printf/ft_printf.c b/src/io/ft_printf/ft_printf.c deleted file mode 100644 index 1b92bb2..0000000 --- a/src/io/ft_printf/ft_printf.c +++ /dev/null @@ -1,24 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_printf.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/11/21 02:31:32 by cacharle #+# #+# */ -/* Updated: 2019/11/21 03:41:54 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -int ft_printf(const char *format, ...) -{ - int ret; - va_list ap; - - va_start(ap, format); - ret = ft_vprintf(format, ap); - va_end(ap); - return (ret); -} diff --git a/src/io/ft_printf/ft_snprintf.c b/src/io/ft_printf/ft_snprintf.c deleted file mode 100644 index e1fdfbd..0000000 --- a/src/io/ft_printf/ft_snprintf.c +++ /dev/null @@ -1,24 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_snprintf.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/11/21 02:27:55 by cacharle #+# #+# */ -/* Updated: 2019/11/21 03:41:49 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -int ft_snprintf(char *str, size_t size, const char *format, ...) -{ - int ret; - va_list ap; - - va_start(ap, format); - ret = ft_vsnprintf(str, size, format, ap); - va_end(ap); - return (ret); -} diff --git a/src/io/ft_printf/ft_sprintf.c b/src/io/ft_printf/ft_sprintf.c deleted file mode 100644 index 31da75e..0000000 --- a/src/io/ft_printf/ft_sprintf.c +++ /dev/null @@ -1,24 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_sprintf.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/11/21 02:17:21 by cacharle #+# #+# */ -/* Updated: 2019/11/21 03:42:28 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -int ft_sprintf(char *str, const char *format, ...) -{ - int ret; - va_list ap; - - va_start(ap, format); - ret = ft_vsprintf(str, format, ap); - va_end(ap); - return (ret); -} diff --git a/src/io/ft_printf/ft_vasprintf.c b/src/io/ft_printf/ft_vasprintf.c deleted file mode 100644 index 85f66bc..0000000 --- a/src/io/ft_printf/ft_vasprintf.c +++ /dev/null @@ -1,21 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_vasprintf.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/11/21 02:49:56 by cacharle #+# #+# */ -/* Updated: 2019/11/21 03:45:39 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -int ft_vasprintf(char **ret, const char *format, va_list ap) -{ - (void)ret; - (void)format; - (void)ap; - return (0); -} diff --git a/src/io/ft_printf/ft_vasprintf.h b/src/io/ft_printf/ft_vasprintf.h deleted file mode 100644 index 2d364c8..0000000 --- a/src/io/ft_printf/ft_vasprintf.h +++ /dev/null @@ -1,155 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* header.h :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/29 00:06:46 by cacharle #+# #+# */ -/* Updated: 2020/01/15 11:39:15 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#ifndef FT_VASPRINTF_H -# define FT_VASPRINTF_H - -# include <unistd.h> -# include <stdlib.h> -# include <stdarg.h> -# include "libft.h" - -# define STATUS_ERROR -1 - -# define SPECIFIERS_STR "nfcspdiuxX%" -# define FLAGS_STR "#0- +'" - -# define IS_STANDALONE_FLAG(c) (ft_strchr(FLAGS_STR, c) != NULL) - -# define FLAG_MINUS (1 << 0) -# define FLAG_ZERO (1 << 1) -# define FLAG_SIGNED (1 << 2) -# define FLAG_SPACE (1 << 3) -# define FLAG_ALTERNATE (1 << 4) -# define FLAG_SHORT (1 << 5) -# define FLAG_SHORT_SHORT (1 << 6) -# define FLAG_LONG (1 << 7) -# define FLAG_LONG_LONG (1 << 8) -# define FLAG_WIDTH_WILDCARD (1 << 9) -# define FLAG_PRECISION_WILDCARD (1 << 10) -# define FLAG_WIDTH_OVERWRITE (1 << 11) - -# define ITOA_HEX_LOW(x) (ft_itoa_unsigned_base(x, "0123456789abcdef")) -# define ITOA_HEX_UP(x) (ft_itoa_unsigned_base(x, "0123456789ABCDEF")) -# define ITOA_DEC(x) (ft_itoa_base(x, "0123456789")) - -typedef int t_bool; -typedef short t_flags; -typedef long long int t_big_int; -typedef long long unsigned int t_big_uint; - -typedef struct -{ - int precision; - int width; - t_flags flags; - char specifier; - int fmt_len; - int size; - long long int *written; -} t_pformat; - -typedef struct s_flist -{ - struct s_flist *next; - t_pformat *content; -} t_flist; - -typedef struct s_printf_status -{ - va_list ap; - t_flist *flist; - const char *format; - char *out; - int out_size; -} t_printf_status; - -/* -** ft_printf.c -*/ - -int ft_printf(const char *format, ...); -const char *add_conversion(t_printf_status *status, - t_pformat *pformat); -const char *add_between(t_printf_status *status); -int destroy_status_error(t_printf_status *status); - -/* -** parse.c -*/ - -int parse(const char *format, t_flist **flist); -t_pformat *parse_reduced(const char *fmt); - -/* -** printer.c -*/ - -char *convert(t_pformat *pformat, va_list ap); -char *convert_specifier(va_list ap, t_pformat *pformat); -char *handle_width(t_pformat *pformat, char *str); -char *handle_precision(t_pformat *pformat, char *str); - -/* -** utils.c -*/ - -char *ft_itoa_base(long long int n, char *base); -char *ft_itoa_unsigned_base(long long unsigned int n, - char *base); -void *ft_memjoin_free(void *dst, int dst_size, void *src, - int src_size); - -/* -** extract.c -*/ - -const char *extract_flags(t_pformat *pformat, const char *fmt); -const char *extract_width(t_pformat *pformat, const char *fmt); -const char *extract_precision(t_pformat *pformat, const char *fmt); -const char *extract_length_modifier(t_pformat *pformat, - const char *fmt); - -/* -** list.c -*/ - -t_flist *list_new(t_pformat *content); -void *list_destroy(t_flist **lst); -void list_push_front(t_flist **lst, t_flist *new); -void list_pop_front(t_flist **lst); -t_flist *list_reverse(t_flist *lst); - -/* -** convert_*.c -*/ - -char *convert_char(va_list ap, t_pformat *pformat); -char *convert_str(va_list ap, t_pformat *pformat); -char *convert_ptr(va_list ap, t_pformat *pformat); -char *convert_int(va_list ap, t_pformat *pformat); -char *convert_uint(va_list ap, t_pformat *pformat); -char *convert_hex(va_list ap, t_pformat *pformat); -char *convert_percent(va_list ap, t_pformat *pformat); -char *convert_written(va_list ap, t_pformat *pformat); -char *convert_double(va_list ap, t_pformat *pformat); -char *convert_none(va_list ap, t_pformat *pformat); - -/* -** length_modifier.c -*/ - -t_big_uint length_modifier_unsigned_int( - va_list ap, t_pformat *pformat); -t_big_int length_modifier_int(va_list ap, t_pformat *pformat); - -#endif diff --git a/src/io/ft_printf/ft_vdprintf.c b/src/io/ft_printf/ft_vdprintf.c deleted file mode 100644 index a5e5ebf..0000000 --- a/src/io/ft_printf/ft_vdprintf.c +++ /dev/null @@ -1,24 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_vdprintf.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/11/21 02:40:03 by cacharle #+# #+# */ -/* Updated: 2019/11/21 03:46:00 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -int ft_vdprintf(int fd, const char *format, va_list ap) -{ - int out_len; - char *out; - - if ((out_len = ft_vasprintf(&out, format, ap)) == -1) - return (-1); - write(fd, out, out_len); - return (out_len); -} diff --git a/src/io/ft_printf/ft_vprintf.c b/src/io/ft_printf/ft_vprintf.c deleted file mode 100644 index b98670b..0000000 --- a/src/io/ft_printf/ft_vprintf.c +++ /dev/null @@ -1,18 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_vprintf.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/11/21 02:32:44 by cacharle #+# #+# */ -/* Updated: 2019/11/21 03:44:11 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -int ft_vprintf(const char *format, va_list ap) -{ - return (ft_vdprintf(STDOUT_FILENO, format, ap)); -} diff --git a/src/io/ft_printf/ft_vsnprintf.c b/src/io/ft_printf/ft_vsnprintf.c deleted file mode 100644 index 7db988c..0000000 --- a/src/io/ft_printf/ft_vsnprintf.c +++ /dev/null @@ -1,26 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_vsnprintf.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/11/21 02:36:32 by cacharle #+# #+# */ -/* Updated: 2019/11/21 03:45:14 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -int ft_vsnprintf(char *str, size_t size, const char *format, va_list ap) -{ - int ret; - int full_out_len; - char *full_out; - - full_out_len = ft_vasprintf(&full_out, format, ap); - ft_strncpy(str, full_out, size); - ret = MIN((size_t)full_out_len, size); - free(full_out); - return (ret); -} diff --git a/src/io/ft_printf/ft_vsprintf.c b/src/io/ft_printf/ft_vsprintf.c deleted file mode 100644 index 91b4815..0000000 --- a/src/io/ft_printf/ft_vsprintf.c +++ /dev/null @@ -1,18 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_vsprintf.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/11/21 02:34:17 by cacharle #+# #+# */ -/* Updated: 2019/11/21 03:44:24 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -int ft_vsprintf(char *str, const char *format, va_list ap) -{ - return (ft_vsnprintf(str, INT_MAX + 1, format, ap)); -} diff --git a/src/io/ft_printf/internals/convert.c b/src/io/ft_printf/internals/convert.c deleted file mode 100644 index 398c754..0000000 --- a/src/io/ft_printf/internals/convert.c +++ /dev/null @@ -1,122 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* printer.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/28 23:19:24 by cacharle #+# #+# */ -/* Updated: 2019/11/14 10:22:04 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include <unistd.h> -#include <stdlib.h> -#include <stdarg.h> -#include "libft.h" -#include "ft_vasprintf.h" - -char *convert(t_pformat *pformat, va_list ap) -{ - char *str; - - if (pformat == NULL) - return (NULL); - if (pformat->flags & FLAG_WIDTH_WILDCARD) - { - if (pformat->flags & FLAG_WIDTH_OVERWRITE) - (void)va_arg(ap, int); - else - pformat->width = va_arg(ap, int); - if (pformat->width < 0) - { - pformat->flags |= FLAG_MINUS; - pformat->width *= -1; - } - } - if (pformat->flags & FLAG_PRECISION_WILDCARD) - pformat->precision = va_arg(ap, int); - if ((str = convert_specifier(ap, pformat)) == NULL) - return (NULL); - return (str); -} - -char *convert_specifier(va_list ap, t_pformat *pformat) -{ - if (pformat->specifier == 'c') - return (convert_char(ap, pformat)); - if (pformat->specifier == 's') - return (convert_str(ap, pformat)); - if (pformat->specifier == 'p') - return (convert_ptr(ap, pformat)); - if (pformat->specifier == 'd' || pformat->specifier == 'i') - return (convert_int(ap, pformat)); - if (pformat->specifier == 'u') - return (convert_uint(ap, pformat)); - if (pformat->specifier == 'x') - return (convert_hex(ap, pformat)); - if (pformat->specifier == 'X') - return (convert_hex(ap, pformat)); - if (pformat->specifier == '%') - return (convert_percent(ap, pformat)); - if (pformat->specifier == 'n') - return (convert_written(ap, pformat)); - else - return (convert_none(ap, pformat)); - return (NULL); -} - -char *handle_width(t_pformat *pformat, char *str) -{ - char *tmp; - int len; - int i; - - if ((len = ft_strlen(str)) >= pformat->width) - return (str); - if ((tmp = (char*)malloc(sizeof(char) * (pformat->width + 1))) == NULL) - return (NULL); - if (pformat->flags & FLAG_MINUS) - { - i = len; - ft_strcpy(tmp, str); - while (i < pformat->width) - tmp[i++] = ' '; - tmp[i] = 0; - } - else - { - i = 0; - while (i <= pformat->width - len) - tmp[i++] = pformat->flags & FLAG_ZERO ? '0' : ' '; - ft_strcpy(tmp + i - 1, str); - } - free(str); - return (tmp); -} - -char *handle_precision(t_pformat *pformat, char *str) -{ - int len; - char *tmp; - - if (pformat == NULL || str == NULL) - return (NULL); - if (ft_strchr("diuxX", pformat->specifier) && pformat->precision >= 0) - pformat->flags &= ~FLAG_ZERO; - len = ft_strlen(str); - if (pformat->precision == 0 && str[0] == '0') - { - free(str); - return (ft_strdup("")); - } - if (!ft_strchr("diuxXp", pformat->specifier) || len >= pformat->precision) - return (str); - if ((tmp = (char*)malloc(sizeof(char) * (pformat->precision + 1))) == NULL) - return (NULL); - ft_strcpy(tmp + pformat->precision - len, str); - while (pformat->precision-- > len) - tmp[pformat->precision - len] = '0'; - free(str); - return (tmp); -} diff --git a/src/io/ft_printf/internals/convert_char.c b/src/io/ft_printf/internals/convert_char.c deleted file mode 100644 index c5f3a93..0000000 --- a/src/io/ft_printf/internals/convert_char.c +++ /dev/null @@ -1,53 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* convert_char.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/30 23:22:29 by cacharle #+# #+# */ -/* Updated: 2019/11/05 23:44:42 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "ft_vasprintf.h" - -static char *handle_width_char(t_pformat *pformat, char *str) -{ - char *tmp; - int i; - - pformat->size = 1; - if (1 >= pformat->width) - return (str); - if ((tmp = (char*)malloc(sizeof(char) * (pformat->width + 1))) == NULL) - return (NULL); - if (pformat->flags & FLAG_MINUS) - { - ft_memcpy(tmp, str, (i = 1) + 1); - while (i < pformat->width) - tmp[i++] = ' '; - tmp[i] = 0; - } - else - { - i = 0; - while (i <= pformat->width - 1) - tmp[i++] = pformat->flags & FLAG_ZERO ? '0' : ' '; - ft_memcpy(tmp + i - 1, str, 2); - } - free(str); - pformat->size = pformat->width; - return (tmp); -} - -char *convert_char(va_list ap, t_pformat *pformat) -{ - char *str; - - if ((str = ft_strnew(2)) == NULL) - return (NULL); - str[0] = va_arg(ap, int); - str[1] = '\0'; - return (handle_width_char(pformat, str)); -} diff --git a/src/io/ft_printf/internals/convert_hex.c b/src/io/ft_printf/internals/convert_hex.c deleted file mode 100644 index 0464dc7..0000000 --- a/src/io/ft_printf/internals/convert_hex.c +++ /dev/null @@ -1,34 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* convert_hex.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/30 23:23:06 by cacharle #+# #+# */ -/* Updated: 2019/11/05 23:58:59 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "ft_vasprintf.h" - -char *convert_hex(va_list ap, t_pformat *pformat) -{ - char *str; - long long unsigned int n; - - n = length_modifier_unsigned_int(ap, pformat); - str = pformat->specifier == 'x' ? ITOA_HEX_LOW(n) : ITOA_HEX_UP(n); - str = handle_precision(pformat, str); - if (pformat->flags & FLAG_ZERO) - { - if (pformat->flags & FLAG_ALTERNATE && n != 0) - pformat->width -= 2; - str = handle_width(pformat, str); - } - if (pformat->flags & FLAG_ALTERNATE && n != 0) - str = ft_strjoin_free_snd(pformat->specifier == 'X' ? "0X" : "0x", str); - if (!(pformat->flags & FLAG_ZERO)) - str = handle_width(pformat, str); - return (str); -} diff --git a/src/io/ft_printf/internals/convert_int.c b/src/io/ft_printf/internals/convert_int.c deleted file mode 100644 index 2345f76..0000000 --- a/src/io/ft_printf/internals/convert_int.c +++ /dev/null @@ -1,40 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* convert_int.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/30 23:29:53 by cacharle #+# #+# */ -/* Updated: 2019/11/06 00:00:09 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "ft_vasprintf.h" - -char *convert_int(va_list ap, t_pformat *pformat) -{ - int is_neg; - long long int n; - char *str; - - n = length_modifier_int(ap, pformat); - is_neg = n < 0; - str = ITOA_DEC(n); - if (is_neg) - ft_strcpy(str, str + 1); - str = handle_precision(pformat, str); - if (pformat->flags & FLAG_ZERO) - { - if (is_neg || pformat->flags & (FLAG_SIGNED | FLAG_SPACE)) - pformat->width--; - str = handle_width(pformat, str); - } - if (is_neg) - str = ft_strjoin_free_snd("-", str); - else if (pformat->flags & (FLAG_SIGNED | FLAG_SPACE)) - str = ft_strjoin_free_snd(pformat->flags & FLAG_SPACE ? " " : "+", str); - if (!(pformat->flags & FLAG_ZERO)) - str = handle_width(pformat, str); - return (str); -} diff --git a/src/io/ft_printf/internals/convert_none.c b/src/io/ft_printf/internals/convert_none.c deleted file mode 100644 index 358ef1b..0000000 --- a/src/io/ft_printf/internals/convert_none.c +++ /dev/null @@ -1,25 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* convert_none.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/11/04 19:30:25 by cacharle #+# #+# */ -/* Updated: 2019/11/05 23:44:13 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "ft_vasprintf.h" - -char *convert_none(va_list ap, t_pformat *pformat) -{ - char *str; - - (void)ap; - if ((str = ft_strdup("")) == NULL) - return (NULL); - str = handle_precision(pformat, str); - str = handle_width(pformat, str); - return (str); -} diff --git a/src/io/ft_printf/internals/convert_percent.c b/src/io/ft_printf/internals/convert_percent.c deleted file mode 100644 index 813bb77..0000000 --- a/src/io/ft_printf/internals/convert_percent.c +++ /dev/null @@ -1,23 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* convert_percent.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/30 23:23:27 by cacharle #+# #+# */ -/* Updated: 2019/11/05 23:44:07 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "ft_vasprintf.h" - -char *convert_percent(va_list ap, t_pformat *pformat) -{ - char *str; - - (void)ap; - str = ft_strdup("%"); - str = handle_width(pformat, str); - return (str); -} diff --git a/src/io/ft_printf/internals/convert_ptr.c b/src/io/ft_printf/internals/convert_ptr.c deleted file mode 100644 index 63babb9..0000000 --- a/src/io/ft_printf/internals/convert_ptr.c +++ /dev/null @@ -1,29 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* convert_ptr.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/30 23:24:08 by cacharle #+# #+# */ -/* Updated: 2019/11/05 23:43:45 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "ft_vasprintf.h" - -char *convert_ptr(va_list ap, t_pformat *pformat) -{ - char *str; - - str = ITOA_HEX_LOW((long long unsigned int)va_arg(ap, void*)); - str = handle_precision(pformat, str); - if (!(pformat->flags & FLAG_ZERO)) - str = ft_strjoin_free_snd("0x", str); - if (pformat->flags & FLAG_ZERO) - pformat->width -= 2; - str = handle_width(pformat, str); - if (pformat->flags & FLAG_ZERO) - str = ft_strjoin_free_snd("0x", str); - return (str); -} diff --git a/src/io/ft_printf/internals/convert_str.c b/src/io/ft_printf/internals/convert_str.c deleted file mode 100644 index 7d51a5e..0000000 --- a/src/io/ft_printf/internals/convert_str.c +++ /dev/null @@ -1,25 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* convert_str.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/30 23:22:25 by cacharle #+# #+# */ -/* Updated: 2019/11/09 01:07:24 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "ft_vasprintf.h" - -char *convert_str(va_list ap, t_pformat *pformat) -{ - char *str; - - str = va_arg(ap, char*); - str = str == NULL ? ft_strdup("(null)") : ft_strdup(str); - if (pformat->precision >= 0 && pformat->precision < (int)ft_strlen(str)) - str[pformat->precision] = '\0'; - str = handle_width(pformat, str); - return (str); -} diff --git a/src/io/ft_printf/internals/convert_uint.c b/src/io/ft_printf/internals/convert_uint.c deleted file mode 100644 index 4207165..0000000 --- a/src/io/ft_printf/internals/convert_uint.c +++ /dev/null @@ -1,34 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* convert_uint.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/30 23:25:40 by cacharle #+# #+# */ -/* Updated: 2019/11/05 23:44:19 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "ft_vasprintf.h" - -char *convert_uint(va_list ap, t_pformat *pformat) -{ - char *str; - long long unsigned int n; - - if (pformat->flags & FLAG_SHORT) - n = (unsigned short)va_arg(ap, int); - else if (pformat->flags & FLAG_SHORT_SHORT) - n = (unsigned char)va_arg(ap, int); - else if (pformat->flags & FLAG_LONG) - n = va_arg(ap, long unsigned int); - else if (pformat->flags & FLAG_LONG_LONG) - n = va_arg(ap, long long unsigned int); - else - n = va_arg(ap, unsigned int); - str = ft_itoa_unsigned_base(n, "0123456789"); - str = handle_precision(pformat, str); - str = handle_width(pformat, str); - return (str); -} diff --git a/src/io/ft_printf/internals/convert_written.c b/src/io/ft_printf/internals/convert_written.c deleted file mode 100644 index 4beeaef..0000000 --- a/src/io/ft_printf/internals/convert_written.c +++ /dev/null @@ -1,28 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* convert_written.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/30 23:38:28 by cacharle #+# #+# */ -/* Updated: 2019/11/05 23:59:24 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "ft_vasprintf.h" - -char *convert_written(va_list ap, t_pformat *pformat) -{ - if (pformat->flags & FLAG_SHORT) - pformat->written = (long long int*)va_arg(ap, signed char*); - if (pformat->flags & FLAG_SHORT_SHORT) - pformat->written = (long long int*)va_arg(ap, short*); - if (pformat->flags & FLAG_LONG) - pformat->written = (long long int*)va_arg(ap, long int*); - if (pformat->flags & FLAG_LONG_LONG) - pformat->written = va_arg(ap, long long int*); - else - pformat->written = (long long int*)va_arg(ap, int*); - return (NULL); -} diff --git a/src/io/ft_printf/internals/extract.c b/src/io/ft_printf/internals/extract.c deleted file mode 100644 index c56a777..0000000 --- a/src/io/ft_printf/internals/extract.c +++ /dev/null @@ -1,98 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* extract.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/29 00:10:36 by cacharle #+# #+# */ -/* Updated: 2019/11/10 10:33:33 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "ft_vasprintf.h" - -const char *extract_flags(t_pformat *pformat, const char *fmt) -{ - if (*fmt == '\0') - return (fmt); - while (ft_strchr(FLAGS_STR, *fmt) != NULL) - { - if (*fmt == '0') - pformat->flags |= FLAG_ZERO; - if (*fmt == '-') - pformat->flags |= FLAG_MINUS; - if (*fmt == '+') - pformat->flags |= FLAG_SIGNED; - if (*fmt == ' ') - pformat->flags |= FLAG_SPACE; - if (*fmt == '#') - pformat->flags |= FLAG_ALTERNATE; - if (*fmt == '\'') - ; - fmt++; - } - if (pformat->flags & FLAG_SIGNED) - pformat->flags &= ~FLAG_SPACE; - return (fmt); -} - -const char *extract_width(t_pformat *pformat, const char *fmt) -{ - if (*fmt == '\0') - return (fmt); - if (*fmt == '*') - { - pformat->flags |= FLAG_WIDTH_WILDCARD; - fmt++; - } - if (!ft_isdigit(*fmt)) - return (fmt); - pformat->width = ft_atoi(fmt); - while (*fmt && ft_isdigit(*fmt)) - fmt++; - if (pformat->flags & FLAG_WIDTH_WILDCARD) - pformat->flags |= FLAG_WIDTH_OVERWRITE; - return (fmt); -} - -const char *extract_precision(t_pformat *pformat, const char *fmt) -{ - if (*fmt == '\0' || *fmt != '.') - return (fmt); - fmt++; - if (*fmt == '*') - { - pformat->flags |= FLAG_PRECISION_WILDCARD; - fmt++; - } - pformat->precision = ft_atoi(fmt); - while (*fmt && ft_isdigit(*fmt)) - fmt++; - return (fmt); -} - -const char *extract_length_modifier(t_pformat *pformat, const char *fmt) -{ - if (fmt[0] && fmt[0] == 'l') - { - if (fmt[1] && fmt[1] == 'l') - { - pformat->flags |= FLAG_LONG_LONG; - return (fmt + 2); - } - pformat->flags |= FLAG_LONG; - return (fmt + 1); - } - if (fmt[0] && fmt[0] == 'h') - { - if (fmt[1] && fmt[1] == 'h') - { - pformat->flags |= FLAG_SHORT_SHORT; - return (fmt + 2); - } - pformat->flags |= FLAG_SHORT; - return (fmt + 1); - } - return (fmt); -} diff --git a/src/io/ft_printf/internals/length_modifier.c b/src/io/ft_printf/internals/length_modifier.c deleted file mode 100644 index 88226da..0000000 --- a/src/io/ft_printf/internals/length_modifier.c +++ /dev/null @@ -1,39 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* length_modifier.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/11/05 23:56:07 by cacharle #+# #+# */ -/* Updated: 2019/11/09 00:50:06 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "ft_vasprintf.h" - -t_big_uint length_modifier_unsigned_int(va_list ap, t_pformat *pformat) -{ - if (pformat->flags & FLAG_SHORT) - return ((unsigned short)va_arg(ap, int)); - else if (pformat->flags & FLAG_SHORT_SHORT) - return ((unsigned char)va_arg(ap, int)); - else if (pformat->flags & FLAG_LONG) - return (va_arg(ap, long unsigned int)); - else if (pformat->flags & FLAG_LONG_LONG) - return (va_arg(ap, long long unsigned int)); - return (va_arg(ap, unsigned int)); -} - -t_big_int length_modifier_int(va_list ap, t_pformat *pformat) -{ - if (pformat->flags & FLAG_SHORT) - return ((short)va_arg(ap, int)); - else if (pformat->flags & FLAG_SHORT_SHORT) - return ((signed char)va_arg(ap, int)); - else if (pformat->flags & FLAG_LONG) - return (va_arg(ap, long int)); - else if (pformat->flags & FLAG_LONG_LONG) - return (va_arg(ap, long long int)); - return (va_arg(ap, int)); -} diff --git a/src/io/ft_printf/internals/list.c b/src/io/ft_printf/internals/list.c deleted file mode 100644 index 99491f4..0000000 --- a/src/io/ft_printf/internals/list.c +++ /dev/null @@ -1,67 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* list.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/29 00:14:50 by cacharle #+# #+# */ -/* Updated: 2019/11/05 23:45:42 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "ft_vasprintf.h" - -t_flist *list_new(t_pformat *content) -{ - t_flist *lst; - - if ((lst = (t_flist*)malloc(sizeof(t_flist))) == NULL) - return (NULL); - lst->content = content; - lst->next = NULL; - return (lst); -} - -void *list_destroy(t_flist **lst) -{ - if (lst == NULL) - return (NULL); - while (*lst != NULL) - list_pop_front(lst); - return (NULL); -} - -void list_push_front(t_flist **lst, t_flist *new) -{ - if (lst == NULL || new == NULL) - return ; - new->next = *lst; - *lst = new; -} - -void list_pop_front(t_flist **lst) -{ - t_flist *tmp; - - if (lst == NULL || *lst == NULL) - return ; - tmp = (*lst)->next; - free((*lst)->content); - free(*lst); - *lst = tmp; -} - -t_flist *list_reverse(t_flist *lst) -{ - t_flist *tmp; - - if (lst == NULL) - return (NULL); - if (lst->next == NULL) - return (lst); - tmp = list_reverse(lst->next); - lst->next->next = lst; - lst->next = NULL; - return (tmp); -} diff --git a/src/io/ft_printf/internals/parse.c b/src/io/ft_printf/internals/parse.c deleted file mode 100644 index 33928a0..0000000 --- a/src/io/ft_printf/internals/parse.c +++ /dev/null @@ -1,61 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* parse.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/29 00:11:33 by cacharle #+# #+# */ -/* Updated: 2019/11/13 08:13:02 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "ft_vasprintf.h" - -int parse(const char *format, t_flist **flist) -{ - t_flist *tmp; - t_pformat *parsed; - - *flist = NULL; - while (*format) - { - format++; - if (format[-1] != '%') - continue; - if ((parsed = parse_reduced(format)) == NULL) - return ((int)list_destroy(flist)); - if ((tmp = list_new(parsed)) == NULL) - return ((int)list_destroy(flist)); - list_push_front(flist, tmp); - format += (*flist)->content->fmt_len; - } - *flist = list_reverse(*flist); - return (1); -} - -t_pformat *parse_reduced(const char *fmt) -{ - t_pformat *pformat; - const char *start; - - if ((pformat = (t_pformat*)malloc(sizeof(t_pformat))) == NULL) - return (NULL); - pformat->precision = -1; - pformat->width = -1; - pformat->flags = 0; - start = fmt; - fmt = extract_flags(pformat, fmt); - fmt = extract_width(pformat, fmt); - fmt = extract_precision(pformat, fmt); - fmt = extract_length_modifier(pformat, fmt); - pformat->fmt_len = fmt - start + 1; - if (*fmt == '\0' || ft_strchr(SPECIFIERS_STR, *fmt) == NULL) - { - pformat->fmt_len--; - pformat->specifier = '_'; - } - else - pformat->specifier = *ft_strchr(SPECIFIERS_STR, *fmt); - return (pformat); -} diff --git a/src/io/ft_printf/internals/utils.c b/src/io/ft_printf/internals/utils.c deleted file mode 100644 index ad44980..0000000 --- a/src/io/ft_printf/internals/utils.c +++ /dev/null @@ -1,115 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* utils.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/29 00:12:40 by cacharle #+# #+# */ -/* Updated: 2019/11/13 08:49:58 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "ft_vasprintf.h" - -static int nbrlen_radix(long long int nbr, int radix) -{ - int counter; - long long unsigned int u_nbr; - - if (nbr == 0) - return (1); - counter = 0; - u_nbr = nbr; - if (nbr < 0) - { - counter++; - u_nbr = -nbr; - } - while (u_nbr > 0) - { - u_nbr /= radix; - counter++; - } - return (counter); -} - -char *ft_itoa_base(long long int n, char *base) -{ - char *str; - int len; - int radix; - long long unsigned int u_nbr; - - radix = ft_strlen(base); - len = nbrlen_radix(n, radix); - if ((str = (char*)malloc(sizeof(char) * (len + 1))) == NULL) - return (NULL); - str[len] = '\0'; - u_nbr = n < 0 ? -n : n; - if (n < 0) - str[0] = '-'; - while (--len >= (n < 0 ? 1 : 0)) - { - str[len] = base[u_nbr % radix]; - u_nbr /= radix; - } - return (str); -} - -static int nbrlen_unsigned_radix(long long unsigned int nbr, int radix) -{ - int counter; - - if (nbr == 0) - return (1); - counter = 0; - while (nbr > 0) - { - nbr /= radix; - counter++; - } - return (counter); -} - -char *ft_itoa_unsigned_base(long long unsigned int n, char *base) -{ - char *str; - int len; - int radix; - - radix = ft_strlen(base); - len = nbrlen_unsigned_radix(n, radix); - if ((str = (char*)malloc(sizeof(char) * (len + 1))) == NULL) - return (NULL); - str[len] = '\0'; - while (--len >= 0) - { - str[len] = base[n % radix]; - n /= radix; - } - return (str); -} - -void *ft_memjoin_free(void *dst, int dst_size, void *src, int src_size) -{ - void *clone; - - if (dst == NULL) - { - if ((dst = malloc(src_size)) == NULL) - return (NULL); - ft_memcpy(dst, src, src_size); - return (dst); - } - if ((clone = malloc(dst_size)) == NULL) - return (NULL); - ft_memcpy(clone, dst, dst_size); - free(dst); - if ((dst = malloc(dst_size + src_size)) == NULL) - return (NULL); - ft_memcpy(dst, clone, dst_size); - free(clone); - ft_memcpy(dst + dst_size, src, src_size); - return (dst); -} diff --git a/src/lst/ft_lstadd_back.c b/src/lst/ft_lstadd_back.c deleted file mode 100644 index 8f39a75..0000000 --- a/src/lst/ft_lstadd_back.c +++ /dev/null @@ -1,26 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lstadd_back_bonus.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/09 09:02:03 by cacharle #+# #+# */ -/* Updated: 2019/11/20 04:01:26 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" -#include "libft_lst.h" - -void ft_lstadd_back(t_ftlst **alst, t_ftlst *new) -{ - if (alst == NULL) - return ; - if (*alst == NULL) - { - *alst = new; - return ; - } - ft_lstlast(*alst)->next = new; -} diff --git a/src/lst/ft_lstadd_front.c b/src/lst/ft_lstadd_front.c deleted file mode 100644 index bcd5ad9..0000000 --- a/src/lst/ft_lstadd_front.c +++ /dev/null @@ -1,22 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lstadd_front_bonus.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/09 09:02:25 by cacharle #+# #+# */ -/* Updated: 2019/10/18 12:16:06 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" -#include "libft_lst.h" - -void ft_lstadd_front(t_ftlst **alst, t_ftlst *new) -{ - if (alst == NULL || new == NULL) - return ; - new->next = *alst; - *alst = new; -} diff --git a/src/lst/ft_lstbsearch.c b/src/lst/ft_lstbsearch.c deleted file mode 100644 index d694209..0000000 --- a/src/lst/ft_lstbsearch.c +++ /dev/null @@ -1,65 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lstbsearch.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/01/30 09:17:51 by cacharle #+# #+# */ -/* Updated: 2020/02/17 03:03:21 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" -#include "libft_lst.h" - -static t_ftlst *st_lstmiddle(t_ftlst *lst, t_ftlst *last) -{ - t_ftlst *slow; - t_ftlst *fast; - - if (lst == NULL) - return (NULL); - slow = lst; - fast = lst; - while (fast != last) - { - fast = fast->next; - if (fast == last) - break ; - slow = slow->next; - fast = fast->next; - } - return (slow); -} - -static t_ftlst *st_lstbsearch_rec(t_ftlst *lst, t_ftlst *last, - t_ftcompar_func cmp, const void *ref) -{ - int res; - t_ftlst *mid; - - if (lst == NULL) - return (NULL); - mid = st_lstmiddle(lst, last); - if (mid == NULL) - return (NULL); - if (mid->next == NULL) - { - if (cmp(ref, mid->content) == 0) - return (mid); - return (NULL); - } - res = cmp(ref, mid->next->content); - if (res < 0) - return (st_lstbsearch_rec(lst, mid, cmp, ref)); - else if (res > 0) - return (st_lstbsearch_rec(mid->next->next, NULL, cmp, ref)); - return (mid->next); -} - -t_ftlst *ft_lstbsearch(t_ftlst *lst, t_ftcompar_func cmp, - const void *ref) -{ - return (st_lstbsearch_rec(lst, NULL, cmp, ref)); -} diff --git a/src/lst/ft_lstclear.c b/src/lst/ft_lstclear.c deleted file mode 100644 index 0bacb4f..0000000 --- a/src/lst/ft_lstclear.c +++ /dev/null @@ -1,25 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lstclear_bonus.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/09 09:02:39 by cacharle #+# #+# */ -/* Updated: 2019/11/20 04:02:37 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" -#include "libft_lst.h" - -void ft_lstclear(t_ftlst **lst, void (*del)(void *)) -{ - if (lst == NULL) - return ; - if (*lst == NULL) - return ; - ft_lstclear(&((*lst)->next), del); - ft_lstdelone(*lst, del); - *lst = NULL; -} diff --git a/src/lst/ft_lstdelone.c b/src/lst/ft_lstdelone.c deleted file mode 100644 index 63dcc35..0000000 --- a/src/lst/ft_lstdelone.c +++ /dev/null @@ -1,23 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lstdelone_bonus.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/09 09:03:02 by cacharle #+# #+# */ -/* Updated: 2019/11/20 04:02:31 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" -#include "libft_lst.h" - -void ft_lstdelone(t_ftlst *lst, void (*del)(void *)) -{ - if (lst == NULL) - return ; - if (del != NULL) - (*del)(lst->content); - free(lst); -} diff --git a/src/lst/ft_lstiter.c b/src/lst/ft_lstiter.c deleted file mode 100644 index 9b2895b..0000000 --- a/src/lst/ft_lstiter.c +++ /dev/null @@ -1,25 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lstiter_bonus.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/09 09:03:22 by cacharle #+# #+# */ -/* Updated: 2019/11/20 04:01:39 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" -#include "libft_lst.h" - -void ft_lstiter(t_ftlst *lst, void (*f)(void *)) -{ - if (f == NULL) - return ; - while (lst != NULL) - { - (*f)(lst->content); - lst = lst->next; - } -} diff --git a/src/lst/ft_lstlast.c b/src/lst/ft_lstlast.c deleted file mode 100644 index 728cbf2..0000000 --- a/src/lst/ft_lstlast.c +++ /dev/null @@ -1,23 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lstlast_bonus.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/09 09:03:40 by cacharle #+# #+# */ -/* Updated: 2019/11/20 04:02:26 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" -#include "libft_lst.h" - -t_ftlst *ft_lstlast(t_ftlst *lst) -{ - if (lst == NULL) - return (NULL); - while (lst->next != NULL) - lst = lst->next; - return (lst); -} diff --git a/src/lst/ft_lstlfind.c b/src/lst/ft_lstlfind.c deleted file mode 100644 index 92d37d8..0000000 --- a/src/lst/ft_lstlfind.c +++ /dev/null @@ -1,22 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lstlfind.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/17 03:04:52 by cacharle #+# #+# */ -/* Updated: 2020/02/19 02:03:11 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_lst.h" - -t_ftlst *ft_lstlfind(t_ftlst *lst, t_ftcompar_func cmp, const void *ref) -{ - if (lst == NULL) - return (NULL); - if (cmp(ref, lst->content) == 0) - return (lst); - return (ft_lstlfind(lst->next, cmp, ref)); -} diff --git a/src/lst/ft_lstlsearch.c b/src/lst/ft_lstlsearch.c deleted file mode 100644 index 8d2acc8..0000000 --- a/src/lst/ft_lstlsearch.c +++ /dev/null @@ -1,27 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lstlsearch.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/17 02:57:12 by cacharle #+# #+# */ -/* Updated: 2020/02/17 03:35:45 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_lst.h" - -t_ftlst *ft_lstlsearch(t_ftlst *lst, t_ftcompar_func cmp, const void *ref) -{ - if (lst == NULL) - return (ft_lstnew(ref)); - if (cmp(ref, lst->content) == 0) - return (lst); - if (lst->next == NULL) - { - lst->next = ft_lstnew(ref); - return (lst->next); - } - return (ft_lstlsearch(lst->next, cmp, ref)); -} diff --git a/src/lst/ft_lstmap.c b/src/lst/ft_lstmap.c deleted file mode 100644 index dda15de..0000000 --- a/src/lst/ft_lstmap.c +++ /dev/null @@ -1,49 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lstmap_bonus.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/09 09:03:57 by cacharle #+# #+# */ -/* Updated: 2020/02/15 23:11:42 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" -#include "libft_lst.h" - -t_ftlst *ft_lstmap(t_ftlst *lst, void *(*f)(void *), void (*del)(void *)) -{ - t_ftlst *mapped; - t_ftlst *tmp; - - if (lst == NULL || f == NULL) - return (NULL); - mapped = NULL; - while (lst != NULL) - { - if ((tmp = ft_lstnew((*f)(lst->content))) == NULL) - { - ft_lstclear(&mapped, del); - return (NULL); - } - ft_lstadd_back(&mapped, tmp); - lst = lst->next; - } - return (mapped); -} - -/* -** Rest in peace, my beautiful recursion. -** -** t_ftlst *tmp; -** -** if (lst == NULL) -** return (NULL); -** if ((tmp = ft_lstnew(lst->content)) == NULL) -** return (NULL); -** tmp->content = (*f)(tmp->content); -** tmp->next = ft_lstmap(lst->next, f); -** return (tmp); -*/ diff --git a/src/lst/ft_lstnew.c b/src/lst/ft_lstnew.c deleted file mode 100644 index 11cf223..0000000 --- a/src/lst/ft_lstnew.c +++ /dev/null @@ -1,25 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lstnew_bonus.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/09 09:01:16 by cacharle #+# #+# */ -/* Updated: 2019/11/20 04:01:35 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" -#include "libft_lst.h" - -t_ftlst *ft_lstnew(void const *content) -{ - t_ftlst *elem; - - if ((elem = (t_ftlst*)malloc(sizeof(t_ftlst))) == NULL) - return (NULL); - elem->content = (void*)content; - elem->next = NULL; - return (elem); -} diff --git a/src/lst/ft_lstpop_front.c b/src/lst/ft_lstpop_front.c deleted file mode 100644 index ff386f9..0000000 --- a/src/lst/ft_lstpop_front.c +++ /dev/null @@ -1,25 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lstpop_front_bonus.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/25 03:32:51 by cacharle #+# #+# */ -/* Updated: 2020/01/15 12:46:28 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" -#include "libft_lst.h" - -void ft_lstpop_front(t_ftlst **lst, void (*del)(void *)) -{ - t_ftlst *tmp; - - if (lst == NULL || *lst == NULL) - return ; - tmp = (*lst)->next; - ft_lstdelone(*lst, del); - *lst = tmp; -} diff --git a/src/lst/ft_lstremove_if.c b/src/lst/ft_lstremove_if.c deleted file mode 100644 index 5221ae4..0000000 --- a/src/lst/ft_lstremove_if.c +++ /dev/null @@ -1,32 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lstremove_if.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/01/30 09:36:49 by cacharle #+# #+# */ -/* Updated: 2020/02/19 02:06:22 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" -#include "libft_lst.h" - -void ft_lstremove_if(t_ftlst **lst, t_ftcompar_func cmp, - const void *ref, t_ftdel_func del) -{ - t_ftlst *saved_next; - - if (lst == NULL || *lst == NULL) - return ; - if (cmp(ref, (*lst)->content) == 0) - { - saved_next = (*lst)->next; - ft_lstdelone(*lst, del); - *lst = saved_next; - ft_lstremove_if(lst, cmp, ref, del); - return ; - } - ft_lstremove_if(&(*lst)->next, cmp, ref, del); -} diff --git a/src/lst/ft_lstreverse.c b/src/lst/ft_lstreverse.c deleted file mode 100644 index 61c9daf..0000000 --- a/src/lst/ft_lstreverse.c +++ /dev/null @@ -1,19 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lstreverse.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/01/15 12:49:14 by cacharle #+# #+# */ -/* Updated: 2020/02/15 22:53:23 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" -#include "libft_lst.h" - -void ft_lstreverse(t_ftlst **lst) -{ - *lst = ft_lstreverse_ret(*lst); -} diff --git a/src/lst/ft_lstreverse_ret.c b/src/lst/ft_lstreverse_ret.c deleted file mode 100644 index c115ac5..0000000 --- a/src/lst/ft_lstreverse_ret.c +++ /dev/null @@ -1,28 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lstreverse_ret.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/01/15 12:51:15 by cacharle #+# #+# */ -/* Updated: 2020/02/10 02:20:21 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" -#include "libft_lst.h" - -t_ftlst *ft_lstreverse_ret(t_ftlst *lst) -{ - t_ftlst *tmp; - - if (lst == NULL) - return (NULL); - if (lst->next == NULL) - return (lst); - tmp = ft_lstreverse_ret(lst->next); - lst->next->next = lst; - lst->next = NULL; - return (tmp); -} diff --git a/src/lst/ft_lstsort.c b/src/lst/ft_lstsort.c deleted file mode 100644 index e1c9913..0000000 --- a/src/lst/ft_lstsort.c +++ /dev/null @@ -1,40 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lstsort.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/10 01:53:55 by cacharle #+# #+# */ -/* Updated: 2020/02/16 02:18:05 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_lst.h" - -void ft_lstsort(t_ftlst **begin_list, t_ftcompar_func cmp) -{ - t_ftlst *fast; - t_ftlst *slow; - t_ftlst *middle; - - if (begin_list == NULL || *begin_list == NULL - || (*begin_list)->next == NULL) - return ; - fast = (*begin_list)->next; - slow = *begin_list; - while (fast != NULL) - { - fast = fast->next; - if (fast != NULL) - { - fast = fast->next; - slow = slow->next; - } - } - middle = slow->next; - slow->next = NULL; - ft_lstsort(begin_list, cmp); - ft_lstsort(&middle, cmp); - *begin_list = ft_lstsorted_merge(*begin_list, middle, cmp); -} diff --git a/src/lst/ft_lstsorted_merge.c b/src/lst/ft_lstsorted_merge.c deleted file mode 100644 index 4f5332c..0000000 --- a/src/lst/ft_lstsorted_merge.c +++ /dev/null @@ -1,35 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lstsorted_merge.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/10 01:58:52 by cacharle #+# #+# */ -/* Updated: 2020/02/16 02:18:11 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_lst.h" - -t_ftlst *ft_lstsorted_merge(t_ftlst *l1, t_ftlst *l2, t_ftcompar_func cmp) -{ - t_ftlst *merged; - - merged = NULL; - if (l1 == NULL) - return (l2); - if (l2 == NULL) - return (l1); - if (cmp(l1->content, l2->content) < 0) - { - merged = l1; - merged->next = ft_lstsorted_merge(l1->next, l2, cmp); - } - else - { - merged = l2; - merged->next = ft_lstsorted_merge(l1, l2->next, cmp); - } - return (merged); -} diff --git a/src/mem/ft_calloc.c b/src/mem/ft_calloc.c deleted file mode 100644 index 24501bf..0000000 --- a/src/mem/ft_calloc.c +++ /dev/null @@ -1,23 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_calloc.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 12:45:37 by cacharle #+# #+# */ -/* Updated: 2019/11/21 01:05:53 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -void *ft_calloc(size_t count, size_t size) -{ - void *mem; - - if ((mem = malloc(count * size)) == NULL) - return (NULL); - ft_bzero(mem, count * size); - return (mem); -} diff --git a/src/mem/ft_memalloc.c b/src/mem/ft_memalloc.c deleted file mode 100644 index 5aab2ec..0000000 --- a/src/mem/ft_memalloc.c +++ /dev/null @@ -1,18 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_memalloc.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 10:07:14 by cacharle #+# #+# */ -/* Updated: 2019/11/20 03:28:56 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -void *ft_memalloc(size_t size) -{ - return (ft_calloc(size, 1)); -} diff --git a/src/mem/ft_memccpy.c b/src/mem/ft_memccpy.c deleted file mode 100644 index 8ce656a..0000000 --- a/src/mem/ft_memccpy.c +++ /dev/null @@ -1,31 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_memccpy.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 10:01:53 by cacharle #+# #+# */ -/* Updated: 2020/01/17 10:54:03 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -void *ft_memccpy(void *dest, const void *src, int c, size_t n) -{ - size_t i; - t_ftbyte *cast_dest; - t_ftbyte *cast_src; - - cast_dest = (t_ftbyte*)dest; - cast_src = (t_ftbyte*)src; - i = -1; - while (++i < n) - { - cast_dest[i] = cast_src[i]; - if (cast_dest[i] == (unsigned char)c) - return (cast_dest + i + 1); - } - return (NULL); -} diff --git a/src/mem/ft_memchr.c b/src/mem/ft_memchr.c deleted file mode 100644 index 4fd8689..0000000 --- a/src/mem/ft_memchr.c +++ /dev/null @@ -1,26 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_memchr.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 09:55:31 by cacharle #+# #+# */ -/* Updated: 2020/02/13 04:28:00 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -void *ft_memchr(const void *s, int c, size_t n) -{ - size_t i; - t_ftbyte *cast_s; - - cast_s = (t_ftbyte*)s; - i = -1; - while (++i < n) - if (cast_s[i] == (unsigned char)c) - return (cast_s + i); - return (NULL); -} diff --git a/src/mem/ft_memcmp.c b/src/mem/ft_memcmp.c deleted file mode 100644 index 233d796..0000000 --- a/src/mem/ft_memcmp.c +++ /dev/null @@ -1,30 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_memcmp.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 09:56:44 by cacharle #+# #+# */ -/* Updated: 2020/01/17 10:54:15 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -int ft_memcmp(const void *s1, const void *s2, size_t n) -{ - size_t i; - t_ftbyte *cast_s1; - t_ftbyte *cast_s2; - - cast_s1 = (t_ftbyte*)s1; - cast_s2 = (t_ftbyte*)s2; - if (n == 0) - return (0); - i = -1; - while (++i < n) - if (cast_s1[i] != cast_s2[i]) - return (cast_s1[i] - cast_s2[i]); - return (0); -} diff --git a/src/mem/ft_memdel.c b/src/mem/ft_memdel.c deleted file mode 100644 index 2b21f33..0000000 --- a/src/mem/ft_memdel.c +++ /dev/null @@ -1,21 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_memdel.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 10:00:56 by cacharle #+# #+# */ -/* Updated: 2019/11/20 03:22:41 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -void ft_memdel(void **ap) -{ - if (ap == NULL) - return ; - free(*ap); - *ap = NULL; -} diff --git a/src/mem/ft_memmem.c b/src/mem/ft_memmem.c deleted file mode 100644 index fa1446c..0000000 --- a/src/mem/ft_memmem.c +++ /dev/null @@ -1,58 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_memmem.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/13 01:54:55 by cacharle #+# #+# */ -/* Updated: 2020/02/13 21:04:46 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_mem.h" - -#define BAD_TABLE_SIZE 256 - -static void st_bad_table_init(size_t bad_table[BAD_TABLE_SIZE], - const char *little, size_t little_len) -{ - size_t i; - - i = 0; - while (i < BAD_TABLE_SIZE) - bad_table[i++] = little_len; - i = 0; - while (i < little_len - 1) - { - bad_table[(int)little[i]] = little_len - i - 1; - i++; - } -} - -static int st_memcmp_end(const void *s1, const void *s2, size_t n) -{ - while (n-- > 0) - if (*(t_ftbyte*)(s1 + n) != *(t_ftbyte*)(s2 + n)) - return (*(t_ftbyte*)(s1 + n) - *(t_ftbyte*)(s2 + n)); - return (0); -} - -void *ft_memmem(const void *big, size_t big_len, - const void *little, size_t little_len) -{ - size_t i; - size_t bad_table[BAD_TABLE_SIZE]; - - if (big_len < little_len || little_len == 0 || big_len == 0) - return (NULL); - st_bad_table_init(bad_table, little, little_len); - i = 0; - while (i <= big_len - little_len) - { - if (st_memcmp_end(big + i, little, little_len) == 0) - return ((void*)big + i); - i += bad_table[*(t_ftbyte*)(big + i + little_len - 1)]; - } - return (NULL); -} diff --git a/src/mem/ft_memmove.c b/src/mem/ft_memmove.c deleted file mode 100644 index 2f794fd..0000000 --- a/src/mem/ft_memmove.c +++ /dev/null @@ -1,35 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_memmove.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 10:03:21 by cacharle #+# #+# */ -/* Updated: 2020/01/17 10:39:26 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -void *ft_memmove(void *dst, const void *src, size_t len) -{ - long int *long_dst; - const long int *long_src; - void *dst_copy; - - if (dst >= src) - return (ft_memcpy(dst, src, len)); - dst_copy = dst; - while (len % 8 > 0) - { - len--; - *(t_ftbyte*)dst++ = *(t_ftbyte*)src++; - } - long_dst = dst; - long_src = src; - len /= 8; - while (len-- > 0) - *long_dst++ = *long_src++; - return (dst_copy); -} diff --git a/src/mem/ft_memset_pattern4.c b/src/mem/ft_memset_pattern4.c deleted file mode 100644 index 112ce6d..0000000 --- a/src/mem/ft_memset_pattern4.c +++ /dev/null @@ -1,26 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_memset_pattern4.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/13 03:06:41 by cacharle #+# #+# */ -/* Updated: 2020/02/13 19:58:10 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_mem.h" - -void ft_memset_pattern4(void *b, const void *pattern4, size_t len) -{ - int i; - - i = len / 4; - while (i-- > 0) - ((int*)b)[i] = *(int*)pattern4; - i = len % 4; - len -= len % 4; - while (i-- > 0) - ((t_ftbyte*)b)[len + i] = ((t_ftbyte*)pattern4)[i]; -} diff --git a/src/mem/ft_memswap.c b/src/mem/ft_memswap.c deleted file mode 100644 index 8661fda..0000000 --- a/src/mem/ft_memswap.c +++ /dev/null @@ -1,29 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_memswap.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/01/19 07:56:43 by cacharle #+# #+# */ -/* Updated: 2020/02/10 02:55:52 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -void ft_memswap(void *a, void *b, size_t size) -{ - t_ftbyte tmp; - t_ftbyte *cast_a; - t_ftbyte *cast_b; - - cast_a = (t_ftbyte*)a; - cast_b = (t_ftbyte*)b; - while (size-- > 0) - { - tmp = cast_a[size]; - cast_a[size] = cast_b[size]; - cast_b[size] = tmp; - } -} diff --git a/src/str/ft_atoi.c b/src/str/ft_atoi.c deleted file mode 100644 index fa31407..0000000 --- a/src/str/ft_atoi.c +++ /dev/null @@ -1,18 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_atoi.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 09:46:16 by cacharle #+# #+# */ -/* Updated: 2020/01/15 10:56:06 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -int ft_atoi(const char *str) -{ - return ((int)ft_strtol(str, (char**)NULL, 10)); -} diff --git a/src/str/ft_atoi_strict.c b/src/str/ft_atoi_strict.c deleted file mode 100644 index 8be4c4b..0000000 --- a/src/str/ft_atoi_strict.c +++ /dev/null @@ -1,38 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strict_atoi.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/01/15 10:06:29 by cacharle #+# #+# */ -/* Updated: 2020/02/14 02:46:43 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -int ft_atoi_strict(const char *s) -{ - char *end; - long ret; - - if (*s != '-' && !ft_isdigit(*s)) - { - errno = EINVAL; - return (0); - } - errno = 0; - ret = ft_strtol(s, &end, 10); - if (errno == ERANGE || ret > INT_MAX || ret < INT_MIN) - { - errno = ERANGE; - return (0); - } - if (*end != '\0') - { - errno = EINVAL; - return (0); - } - return (ret); -} diff --git a/src/str/ft_itoa.c b/src/str/ft_itoa.c deleted file mode 100644 index 39b6e12..0000000 --- a/src/str/ft_itoa.c +++ /dev/null @@ -1,40 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_itoa.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 10:19:56 by cacharle #+# #+# */ -/* Updated: 2020/02/14 03:39:11 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -char *ft_itoa(int n) -{ - char *str; - int len; - unsigned int u_nbr; - - len = n < 0 || n == 0 ? 1 : 0; - u_nbr = n < 0 ? -n : n; - while (u_nbr > 0) - { - u_nbr /= 10; - len++; - } - if ((str = (char*)malloc(sizeof(char) * (len + 1))) == NULL) - return (NULL); - str[len] = '\0'; - u_nbr = n < 0 ? -n : n; - if (n < 0) - str[0] = '-'; - while (--len >= (n < 0 ? 1 : 0)) - { - str[len] = (u_nbr % 10) | 0x30; - u_nbr /= 10; - } - return (str); -} diff --git a/src/str/ft_split.c b/src/str/ft_split.c deleted file mode 100644 index 6fb5964..0000000 --- a/src/str/ft_split.c +++ /dev/null @@ -1,73 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_split.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/17 08:29:02 by cacharle #+# #+# */ -/* Updated: 2019/11/20 04:08:27 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -static size_t count_segment(char const *s, char c) -{ - size_t counter; - int i; - - counter = 0; - i = 0; - while (s[i]) - { - if (s[i] == c) - { - i++; - continue ; - } - counter++; - while (s[i] && s[i] != c) - i++; - } - return (counter); -} - -static void *destroy_strs(char **strs) -{ - if (strs == NULL) - return (NULL); - while (*strs != NULL) - free(*strs++); - free(strs); - return (NULL); -} - -char **ft_split(char const *s, char c) -{ - char **strs; - size_t tab_counter; - size_t i; - size_t j; - - if (s == NULL) - return (NULL); - tab_counter = count_segment(s, c); - if ((strs = (char**)malloc(sizeof(char*) * (tab_counter + 1))) == NULL) - return (NULL); - tab_counter = 0; - j = -1; - while (s[++j]) - { - if (s[j] == c) - continue ; - i = 0; - while (s[j + i] && s[j + i] != c) - i++; - if ((strs[tab_counter++] = ft_strndup(&s[j], i)) == NULL) - return (destroy_strs(strs)); - j += i - 1; - } - strs[tab_counter] = NULL; - return (strs); -} diff --git a/src/str/ft_strcasecmp.c b/src/str/ft_strcasecmp.c deleted file mode 100644 index 044e6de..0000000 --- a/src/str/ft_strcasecmp.c +++ /dev/null @@ -1,24 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strcasecmp.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/10 04:08:38 by cacharle #+# #+# */ -/* Updated: 2020/02/10 04:31:33 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_str.h" -#include "libft_types.h" - -int ft_strcasecmp(const char *s1, const char *s2) -{ - while (*s1 && *s2 && ft_tolower(*s1) == ft_tolower(*s2)) - { - s1++; - s2++; - } - return ((t_ftuchar)ft_tolower(*s1) - (t_ftuchar)ft_tolower(*s2)); -} diff --git a/src/str/ft_strcat.c b/src/str/ft_strcat.c deleted file mode 100644 index d5bc7e0..0000000 --- a/src/str/ft_strcat.c +++ /dev/null @@ -1,19 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strcat.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 10:09:41 by cacharle #+# #+# */ -/* Updated: 2019/11/21 01:03:38 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -char *ft_strcat(char *dest, const char *src) -{ - ft_memcpy(dest + ft_strlen(dest), src, ft_strlen(src) + 1); - return (dest); -} diff --git a/src/str/ft_strchr.c b/src/str/ft_strchr.c deleted file mode 100644 index 50bfc0a..0000000 --- a/src/str/ft_strchr.c +++ /dev/null @@ -1,18 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strchr.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 10:14:47 by cacharle #+# #+# */ -/* Updated: 2019/11/21 01:04:52 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -char *ft_strchr(const char *s, int c) -{ - return (ft_memchr(s, c, ft_strlen(s) + 1)); -} diff --git a/src/str/ft_strclr.c b/src/str/ft_strclr.c deleted file mode 100644 index 7e412fe..0000000 --- a/src/str/ft_strclr.c +++ /dev/null @@ -1,20 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strclr.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 10:15:18 by cacharle #+# #+# */ -/* Updated: 2019/11/21 01:11:51 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -void ft_strclr(char *s) -{ - if (s == NULL) - return ; - ft_bzero(s, ft_strlen(s)); -} diff --git a/src/str/ft_strcmp.c b/src/str/ft_strcmp.c deleted file mode 100644 index aced711..0000000 --- a/src/str/ft_strcmp.c +++ /dev/null @@ -1,23 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strcmp.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 10:16:07 by cacharle #+# #+# */ -/* Updated: 2020/02/10 04:18:11 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -int ft_strcmp(const char *s1, const char *s2) -{ - while (*s1 && *s2 && *s1 == *s2) - { - s1++; - s2++; - } - return (*s1 - *s2); -} diff --git a/src/str/ft_strcount.c b/src/str/ft_strcount.c deleted file mode 100644 index 87e756d..0000000 --- a/src/str/ft_strcount.c +++ /dev/null @@ -1,24 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strcount.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/11/15 09:17:48 by cacharle #+# #+# */ -/* Updated: 2019/11/15 09:19:36 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -int ft_strcount(char *str, char c) -{ - int counter; - - if (c == '\0') - return (1); - counter = 0; - while (*str) - if (*str++ == c) - counter++; - return (counter); -} diff --git a/src/str/ft_strcpy.c b/src/str/ft_strcpy.c deleted file mode 100644 index ee6ff0d..0000000 --- a/src/str/ft_strcpy.c +++ /dev/null @@ -1,18 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strcpy.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 10:38:36 by cacharle #+# #+# */ -/* Updated: 2020/01/17 11:36:19 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -char *ft_strcpy(char *dest, const char *src) -{ - return (ft_memcpy(dest, src, ft_strlen(src) + 1)); -} diff --git a/src/str/ft_strcspn.c b/src/str/ft_strcspn.c deleted file mode 100644 index 7cc06a5..0000000 --- a/src/str/ft_strcspn.c +++ /dev/null @@ -1,23 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strcspn.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/10 04:30:59 by cacharle #+# #+# */ -/* Updated: 2020/02/10 04:32:15 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_str.h" - -size_t ft_strcspn(const char *s, const char *charset) -{ - int i; - - i = 0; - while (ft_strchr(charset, s[i]) == NULL) - i++; - return (i); -} diff --git a/src/str/ft_strdel.c b/src/str/ft_strdel.c deleted file mode 100644 index 05cf064..0000000 --- a/src/str/ft_strdel.c +++ /dev/null @@ -1,18 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strdel.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 10:39:14 by cacharle #+# #+# */ -/* Updated: 2019/11/20 01:58:27 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -void ft_strdel(char **as) -{ - ft_memdel((void*)as); -} diff --git a/src/str/ft_strdup.c b/src/str/ft_strdup.c deleted file mode 100644 index b248272..0000000 --- a/src/str/ft_strdup.c +++ /dev/null @@ -1,22 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strdup.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 10:18:07 by cacharle #+# #+# */ -/* Updated: 2020/02/14 03:39:56 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -char *ft_strdup(const char *s) -{ - char *clone; - - if ((clone = (char*)malloc(sizeof(char) * (ft_strlen(s) + 1))) == NULL) - return (NULL); - return (ft_strcpy(clone, s)); -} diff --git a/src/str/ft_strequ.c b/src/str/ft_strequ.c deleted file mode 100644 index 75ccb81..0000000 --- a/src/str/ft_strequ.c +++ /dev/null @@ -1,20 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strequ.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 10:18:34 by cacharle #+# #+# */ -/* Updated: 2019/11/20 02:00:22 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -int ft_strequ(char const *s1, char const *s2) -{ - if (s1 == NULL || s2 == NULL) - return (0); - return (ft_strcmp(s1, s2) == 0); -} diff --git a/src/str/ft_striter.c b/src/str/ft_striter.c deleted file mode 100644 index f410d24..0000000 --- a/src/str/ft_striter.c +++ /dev/null @@ -1,21 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_striter.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 10:38:16 by cacharle #+# #+# */ -/* Updated: 2019/11/20 02:01:32 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -void ft_striter(char *s, void (*f)(char *)) -{ - if (s == NULL || f == NULL) - return ; - while (*s) - (*f)(s++); -} diff --git a/src/str/ft_striteri.c b/src/str/ft_striteri.c deleted file mode 100644 index 05f15d4..0000000 --- a/src/str/ft_striteri.c +++ /dev/null @@ -1,27 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_striteri.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 10:33:09 by cacharle #+# #+# */ -/* Updated: 2019/11/20 02:01:41 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -void ft_striteri(char *s, void (*f)(unsigned int, char *)) -{ - unsigned int i; - - if (s == NULL || f == NULL) - return ; - i = 0; - while (s[i]) - { - (*f)(i, &s[i]); - i++; - } -} diff --git a/src/str/ft_strjoin.c b/src/str/ft_strjoin.c deleted file mode 100644 index b65eaa2..0000000 --- a/src/str/ft_strjoin.c +++ /dev/null @@ -1,25 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strjoin.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 10:35:26 by cacharle #+# #+# */ -/* Updated: 2020/02/14 03:40:39 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -char *ft_strjoin(char const *s1, char const *s2) -{ - char *joined; - - if (s1 == NULL || s2 == NULL) - return (NULL); - if ((joined = (char*)malloc(sizeof(char) - * (ft_strlen(s1) + ft_strlen(s2) + 1))) == NULL) - return (NULL); - return (ft_strcat(ft_strcpy(joined, s1), s2)); -} diff --git a/src/str/ft_strjoinf.c b/src/str/ft_strjoinf.c deleted file mode 100644 index 228a963..0000000 --- a/src/str/ft_strjoinf.c +++ /dev/null @@ -1,35 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strjoinf.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/14 03:41:07 by cacharle #+# #+# */ -/* Updated: 2020/02/14 03:41:25 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include <stdlib.h> -#include "libft.h" -#include "libft_str.h" - -char *ft_strjoinf(char const *s1, char const *s2, t_ftstrjoinf_tag tag) -{ - char *joined; - - if (s1 == NULL || s2 == NULL) - return (NULL); - if ((joined = ft_strjoin(s1, s2)) == NULL) - return (NULL); - if (tag == FT_STRJOINF_FST) - free((void*)s1); - else if (tag == FT_STRJOINF_SND) - free((void*)s2); - else if (tag == FT_STRJOINF_ALL) - { - free((void*)s1); - free((void*)s2); - } - return (joined); -} diff --git a/src/str/ft_strlcat.c b/src/str/ft_strlcat.c deleted file mode 100644 index ce7fa0b..0000000 --- a/src/str/ft_strlcat.c +++ /dev/null @@ -1,32 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strlcat.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 10:31:37 by cacharle #+# #+# */ -/* Updated: 2019/11/20 03:31:08 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -size_t ft_strlcat(char *dst, const char *src, size_t size) -{ - size_t i; - size_t j; - size_t dst_len; - size_t src_len; - - dst_len = ft_strlen(dst); - src_len = ft_strlen(src); - if (size <= dst_len) - return (src_len + size); - i = 0; - j = dst_len; - while (src[i] && j < size - 1) - dst[j++] = src[i++]; - dst[j] = '\0'; - return (dst_len + src_len); -} diff --git a/src/str/ft_strlcpy.c b/src/str/ft_strlcpy.c deleted file mode 100644 index 6afb8f5..0000000 --- a/src/str/ft_strlcpy.c +++ /dev/null @@ -1,28 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strlcpy.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 12:28:47 by cacharle #+# #+# */ -/* Updated: 2019/11/20 03:31:16 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -size_t ft_strlcpy(char *dst, const char *src, size_t size) -{ - unsigned int i; - - if (dst == NULL || src == NULL) - return (0); - if (size == 0) - return (ft_strlen(src)); - i = -1; - while (++i < size - 1 && src[i] != '\0') - dst[i] = src[i]; - dst[i] = '\0'; - return (ft_strlen(src)); -} diff --git a/src/str/ft_strlen.c b/src/str/ft_strlen.c deleted file mode 100644 index 0d593e1..0000000 --- a/src/str/ft_strlen.c +++ /dev/null @@ -1,41 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strlen.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 10:32:48 by cacharle #+# #+# */ -/* Updated: 2020/01/17 11:13:43 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -size_t ft_strlen(const char *s) -{ - unsigned long int *ptr; - const char *cpy; - - ptr = (unsigned long int*)s; - while (TRUE) - { - cpy = (const char*)ptr++; - if (cpy[0] == '\0') - return (cpy - s); - if (cpy[1] == '\0') - return (cpy + 1 - s); - if (cpy[2] == '\0') - return (cpy + 2 - s); - if (cpy[3] == '\0') - return (cpy + 3 - s); - if (cpy[4] == '\0') - return (cpy + 4 - s); - if (cpy[5] == '\0') - return (cpy + 5 - s); - if (cpy[6] == '\0') - return (cpy + 6 - s); - if (cpy[7] == '\0') - return (cpy + 7 - s); - } -} diff --git a/src/str/ft_strmap.c b/src/str/ft_strmap.c deleted file mode 100644 index 61d16f1..0000000 --- a/src/str/ft_strmap.c +++ /dev/null @@ -1,34 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strmap.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 10:29:52 by cacharle #+# #+# */ -/* Updated: 2019/11/20 04:02:11 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -char *ft_strmap(char const *s, char (*f)(char)) -{ - size_t i; - size_t len; - char *mapped; - - if (s == NULL || f == NULL) - return (NULL); - len = ft_strlen(s); - if ((mapped = (char*)malloc(sizeof(char) * (len + 1))) == NULL) - return (NULL); - i = 0; - while (i < len) - { - mapped[i] = (*f)(s[i]); - i++; - } - mapped[i] = '\0'; - return (mapped); -} diff --git a/src/str/ft_strmapi.c b/src/str/ft_strmapi.c deleted file mode 100644 index 71d77e4..0000000 --- a/src/str/ft_strmapi.c +++ /dev/null @@ -1,34 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strmapi.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 10:29:32 by cacharle #+# #+# */ -/* Updated: 2019/11/20 04:02:15 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -char *ft_strmapi(char *s, char (*f)(unsigned int, char)) -{ - size_t i; - size_t len; - char *mapped; - - if (s == NULL || f == NULL) - return (NULL); - len = ft_strlen(s); - if ((mapped = (char*)malloc(sizeof(char) * (len + 1))) == NULL) - return (NULL); - i = 0; - while (i < len) - { - mapped[i] = (*f)((unsigned int)i, s[i]); - i++; - } - mapped[i] = '\0'; - return (mapped); -} diff --git a/src/str/ft_strncasecmp.c b/src/str/ft_strncasecmp.c deleted file mode 100644 index aafdc8c..0000000 --- a/src/str/ft_strncasecmp.c +++ /dev/null @@ -1,26 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strncasecmp.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/10 04:18:36 by cacharle #+# #+# */ -/* Updated: 2020/02/10 04:31:38 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" -#include "libft_types.h" - -int ft_strncasecmp(const char *s1, const char *s2, size_t n) -{ - size_t i; - - if (n == 0) - return (0); - i = 0; - while (i + 1 < n && s1[i] && ft_tolower(s1[i]) == ft_tolower(s2[i])) - i++; - return ((t_ftuchar)ft_tolower(s1[i]) - (t_ftuchar)ft_tolower(s2[i])); -} diff --git a/src/str/ft_strncat.c b/src/str/ft_strncat.c deleted file mode 100644 index d68db0a..0000000 --- a/src/str/ft_strncat.c +++ /dev/null @@ -1,29 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strncat.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 10:28:37 by cacharle #+# #+# */ -/* Updated: 2019/11/20 03:33:22 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -char *ft_strncat(char *dest, const char *src, size_t n) -{ - size_t i; - size_t j; - - i = ft_strlen(dest); - j = 0; - while (j < n && src[j]) - { - dest[i + j] = src[j]; - j++; - } - dest[i + j] = '\0'; - return (dest); -} diff --git a/src/str/ft_strncmp.c b/src/str/ft_strncmp.c deleted file mode 100644 index caa052b..0000000 --- a/src/str/ft_strncmp.c +++ /dev/null @@ -1,26 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strncmp.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 10:27:34 by cacharle #+# #+# */ -/* Updated: 2020/02/10 04:17:50 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" -#include "libft_types.h" - -int ft_strncmp(const char *s1, const char *s2, size_t n) -{ - size_t i; - - if (n == 0) - return (0); - i = 0; - while (i + 1 < n && s1[i] == s2[i] && s1[i]) - i++; - return ((t_ftuchar)s1[i] - (t_ftuchar)s2[i]); -} diff --git a/src/str/ft_strncpy.c b/src/str/ft_strncpy.c deleted file mode 100644 index 07a4927..0000000 --- a/src/str/ft_strncpy.c +++ /dev/null @@ -1,24 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strncpy.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 10:26:59 by cacharle #+# #+# */ -/* Updated: 2020/01/17 10:40:21 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -char *ft_strncpy(char *dest, const char *src, size_t n) -{ - size_t len; - - len = ft_strlen(src); - ft_memcpy(dest, src, n < len ? n : len); - if (len < n) - ft_bzero(dest + len, n - len); - return (dest); -} diff --git a/src/str/ft_strndup.c b/src/str/ft_strndup.c deleted file mode 100644 index 894ea4e..0000000 --- a/src/str/ft_strndup.c +++ /dev/null @@ -1,23 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strndup.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/25 03:28:52 by cacharle #+# #+# */ -/* Updated: 2020/02/14 03:43:55 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -char *ft_strndup(const char *s1, size_t n) -{ - char *clone; - - if ((clone = (char*)malloc(sizeof(char) * (n + 1))) == NULL) - return (NULL); - clone[n] = '\0'; - return (ft_strncpy(clone, s1, n)); -} diff --git a/src/str/ft_strnequ.c b/src/str/ft_strnequ.c deleted file mode 100644 index e242ee7..0000000 --- a/src/str/ft_strnequ.c +++ /dev/null @@ -1,20 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strnequ.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 10:30:27 by cacharle #+# #+# */ -/* Updated: 2019/11/20 02:00:42 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -int ft_strnequ(char const *s1, char const *s2, size_t n) -{ - if (s1 == NULL || s2 == NULL) - return (0); - return (ft_strncmp(s1, s2, n) == 0); -} diff --git a/src/str/ft_strnew.c b/src/str/ft_strnew.c deleted file mode 100644 index 1bca6d5..0000000 --- a/src/str/ft_strnew.c +++ /dev/null @@ -1,18 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strnew.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 10:17:34 by cacharle #+# #+# */ -/* Updated: 2019/11/20 03:16:14 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -char *ft_strnew(size_t size) -{ - return ((char*)ft_calloc(size + 1, sizeof(char))); -} diff --git a/src/str/ft_strnlen.c b/src/str/ft_strnlen.c deleted file mode 100644 index 5e1569c..0000000 --- a/src/str/ft_strnlen.c +++ /dev/null @@ -1,25 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strnlen.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/10 05:21:04 by cacharle #+# #+# */ -/* Updated: 2020/02/10 05:23:23 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_str.h" - -/* -** wrong implementation since it scans beyond maxlen -*/ - -size_t ft_strnlen(const char *s, size_t maxlen) -{ - size_t len; - - len = ft_strlen(s); - return (len > maxlen ? maxlen : len); -} diff --git a/src/str/ft_strnstr.c b/src/str/ft_strnstr.c deleted file mode 100644 index 4995637..0000000 --- a/src/str/ft_strnstr.c +++ /dev/null @@ -1,29 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strnstr.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 10:25:13 by cacharle #+# #+# */ -/* Updated: 2019/11/20 03:58:42 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -char *ft_strnstr(const char *haystack, const char *needle, size_t len) -{ - size_t needle_len; - - needle_len = ft_strlen(needle); - if (needle_len == 0) - return ((char*)haystack); - while (*haystack && len-- >= needle_len) - { - if (ft_strnequ(haystack, needle, needle_len)) - return ((char*)haystack); - haystack++; - } - return (NULL); -} diff --git a/src/str/ft_strpbrk.c b/src/str/ft_strpbrk.c deleted file mode 100644 index 753e4d9..0000000 --- a/src/str/ft_strpbrk.c +++ /dev/null @@ -1,24 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strpbrk.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/10 04:39:29 by cacharle #+# #+# */ -/* Updated: 2020/02/10 04:54:13 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_str.h" - -char *ft_strpbrk(const char *s, const char *charset) -{ - if (s == NULL || charset == NULL) - return (NULL); - while (*s && ft_strchr(charset, *s) == NULL) - s++; - if (*s == '\0') - return (NULL); - return ((char*)s); -} diff --git a/src/str/ft_strrchr.c b/src/str/ft_strrchr.c deleted file mode 100644 index 4cedb76..0000000 --- a/src/str/ft_strrchr.c +++ /dev/null @@ -1,24 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strrchr.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 10:26:24 by cacharle #+# #+# */ -/* Updated: 2019/11/21 18:46:27 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -char *ft_strrchr(const char *s, int c) -{ - size_t i; - - i = ft_strlen(s) + 1; - while (s[--i] != (char)c) - if (i == 0) - return (NULL); - return ((char*)s + i); -} diff --git a/src/str/ft_strsep.c b/src/str/ft_strsep.c deleted file mode 100644 index 2000706..0000000 --- a/src/str/ft_strsep.c +++ /dev/null @@ -1,27 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strsep.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/10 04:44:11 by cacharle #+# #+# */ -/* Updated: 2020/02/10 04:51:15 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_str.h" - -char *ft_strsep(char **stringp, const char *delim) -{ - char *tmp; - - if (stringp == NULL || *stringp == NULL || delim == NULL) - return (NULL); - tmp = ft_strpbrk(*stringp, delim); - if (tmp == NULL) - return (NULL); - *tmp = '\0'; - *stringp = tmp; - return (tmp); -} diff --git a/src/str/ft_strspn.c b/src/str/ft_strspn.c deleted file mode 100644 index 81814e5..0000000 --- a/src/str/ft_strspn.c +++ /dev/null @@ -1,23 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strspn.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/10 04:29:13 by cacharle #+# #+# */ -/* Updated: 2020/02/10 04:33:11 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_str.h" - -size_t ft_strspn(const char *s, const char *charset) -{ - int i; - - i = 0; - while (ft_strchr(charset, s[i]) != NULL) - i++; - return (i); -} diff --git a/src/str/ft_strstr.c b/src/str/ft_strstr.c deleted file mode 100644 index 4d4d403..0000000 --- a/src/str/ft_strstr.c +++ /dev/null @@ -1,29 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strstr.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 10:15:29 by cacharle #+# #+# */ -/* Updated: 2019/11/20 03:58:32 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -char *ft_strstr(const char *haystack, const char *needle) -{ - size_t needle_len; - - needle_len = ft_strlen(needle); - if (needle_len == 0) - return ((char*)haystack); - while (*haystack) - { - if (ft_strnequ(haystack, needle, needle_len)) - return ((char*)haystack); - haystack++; - } - return (NULL); -} diff --git a/src/str/ft_strtol.c b/src/str/ft_strtol.c deleted file mode 100644 index 82276d8..0000000 --- a/src/str/ft_strtol.c +++ /dev/null @@ -1,80 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strtol.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/01/15 10:26:45 by cacharle #+# #+# */ -/* Updated: 2020/02/10 02:21:16 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -#define STRTOL_STD_BASE "0123456789abcdefghijklmnopqrstuvwxyz" - -static int st_strtol_handle_base(int base, const char **str) -{ - if (base > 36) - return (-1); - if (base != 16 && base != 0) - return (base); - if (base == 16 && **str == '0' && (*str)[1] == 'x') - { - *str += 2; - return (base); - } - if (**str == '0') - { - (*str)++; - if (**str == 'x') - { - (*str)++; - return (16); - } - else - return (8); - } - return (10); -} - -static long st_errno_return(int err) -{ - errno = err; - return (0); -} - -/* -** If there is no digits doesn't put str in endptr like the original, -** instead it puts the address of the char after spaces and sign. -** Too much lines and annoyance, I can't be bothered. -*/ - -long ft_strtol(const char *str, char **endptr, int base) -{ - t_ftbool is_negative; - long long nb; - char base_str[37]; - - while (ft_isspace(*str)) - str++; - is_negative = *str == '-' ? TRUE : FALSE; - if (*str == '-' || *str == '+') - str++; - if ((base = st_strtol_handle_base(base, &str)) == -1) - return (st_errno_return(EINVAL)); - ft_strncpy(base_str, STRTOL_STD_BASE, base); - base_str[base] = '\0'; - nb = 0; - while (*str != '\0' && ft_strchr(base_str, *str) != NULL) - { - nb *= base; - nb += ft_strchr(base_str, ft_tolower(*str++)) - base_str; - if (((long)nb ^ (long)(nb / base)) < 0) - errno = ERANGE; - } - if (endptr != NULL) - *endptr = (char*)str; - return (is_negative ? -nb : nb); -} diff --git a/src/str/ft_strtolower.c b/src/str/ft_strtolower.c deleted file mode 100644 index 2eb34c2..0000000 --- a/src/str/ft_strtolower.c +++ /dev/null @@ -1,26 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strtolower.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/10 04:10:01 by cacharle #+# #+# */ -/* Updated: 2020/02/10 04:12:21 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_str.h" -#include "libft_ctype.h" - -char *ft_strtolower(char *s) -{ - int i; - - if (s == NULL) - return (NULL); - i = -1; - while (s[i]) - s[i] = ft_tolower(s[i]); - return (s); -} diff --git a/src/str/ft_strtoupper.c b/src/str/ft_strtoupper.c deleted file mode 100644 index 4a751d3..0000000 --- a/src/str/ft_strtoupper.c +++ /dev/null @@ -1,26 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strtoupper.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/10 04:12:04 by cacharle #+# #+# */ -/* Updated: 2020/02/14 02:49:35 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_str.h" -#include "libft_ctype.h" - -char *ft_strtoupper(char *s) -{ - int i; - - if (s == NULL) - return (NULL); - i = -1; - while (s[i]) - s[i] = ft_toupper(s[i]); - return (s); -} diff --git a/src/str/ft_strtrim.c b/src/str/ft_strtrim.c deleted file mode 100644 index aa48826..0000000 --- a/src/str/ft_strtrim.c +++ /dev/null @@ -1,31 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strtrim.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/07 10:24:16 by cacharle #+# #+# */ -/* Updated: 2019/11/20 03:52:58 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -char *ft_strtrim(char const *s1, char const *set) -{ - size_t start; - size_t len; - - if (s1 == NULL || set == NULL) - return (NULL); - start = 0; - while (s1[start] && ft_strchr(set, s1[start]) != NULL) - start++; - len = ft_strlen(&s1[start]); - if (len != 0) - while (s1[start + len - 1] - && ft_strchr(set, s1[start + len - 1]) != NULL) - len--; - return (ft_substr(s1, start, len)); -} diff --git a/src/str/ft_substr.c b/src/str/ft_substr.c deleted file mode 100644 index ad9c706..0000000 --- a/src/str/ft_substr.c +++ /dev/null @@ -1,26 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_substr.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/10/17 08:28:49 by cacharle #+# #+# */ -/* Updated: 2020/02/14 03:44:42 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -char *ft_substr(char const *s, unsigned int start, size_t len) -{ - char *sub; - - if (s == NULL) - return (NULL); - if ((sub = (char*)malloc(sizeof(char) * (len + 1))) == NULL) - return (NULL); - if (start > ft_strlen(s)) - return (sub); - return (ft_strncpy(sub, s + start, len)); -} diff --git a/test/Makefile b/test/Makefile deleted file mode 100644 index 5835c1c..0000000 --- a/test/Makefile +++ /dev/null @@ -1,79 +0,0 @@ -# **************************************************************************** # -# # -# ::: :::::::: # -# Makefile :+: :+: :+: # -# +:+ +:+ +:+ # -# By: cacharle <marvin@42.fr> +#+ +:+ +#+ # -# +#+#+#+#+#+ +#+ # -# Created: 2020/02/15 04:35:44 by cacharle #+# #+# # -# Updated: 2020/02/15 22:46:20 by cacharle ### ########.fr # -# # -# **************************************************************************** # - -MAKE = make -MAKE_ARGS = --no-print-directory - -UNITY_DIR = ../vendor/_unity -LIBFT_DIR = .. - -SRC_DIR = src -INCLUDE_DIR = include - -CC = gcc -CCFLAGS = -I$(INCLUDE_DIR) -I$(UNITY_DIR)/include -I$(LIBFT_DIR)/include -Wall -Wextra #-Werror -LDFLAGS = -L$(UNITY_DIR) -lunity -L$(LIBFT_DIR) -lft - -NAME = libft_test - -INCLUDE = $(shell find $(INCLUDE_DIR) -type f -name "*.h") -SRC = $(shell find $(SRC_DIR) -type f -name "*.c") -OBJ = $(SRC:.c=.o) - - -all: unity_all $(NAME) - -run: all - @echo "Test: Running" - @./$(NAME) - -run_v: all - @echo "Test: Running" - @./$(NAME) -v - -run_s: all - @echo "Test: Running" - @./$(NAME) -s - -$(NAME): libft_all $(OBJ) - @echo "Test: Linking: $@" - @$(CC) -o $@ $(OBJ) $(LDFLAGS) - -%.o: %.c $(INCLUDE) $(LIBFT_SRC) - @echo "Test: Compiling: $@" - @$(CC) $(CCFLAGS) -c -o $@ $< - -clean: - @echo "Test: Removing object" - @$(RM) $(OBJ) - -clean_dep: unity_fclean libft_fclean - -fclean: clean - @echo "Test: Removing executable" - @$(RM) $(NAME) - -re: fclean all - -re_dep: clean_dep fclean all - -unity_all: - @$(MAKE) $(MAKE_ARGS) -s -C $(UNITY_DIR) all - -unity_fclean: - @$(MAKE) $(MAKE_ARGS) -s -C $(UNITY_DIR) fclean - -libft_all: - @$(MAKE) $(MAKE_ARGS) -s -C $(LIBFT_DIR) all - -libft_fclean: - @$(MAKE) $(MAKE_ARGS) -s -C $(LIBFT_DIR) fclean diff --git a/test/include/helper/helper_segfault.h b/test/include/helper/helper_segfault.h deleted file mode 100644 index d638a70..0000000 --- a/test/include/helper/helper_segfault.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef HELPER_SEGFAULT_H -# define HELPER_SEGFAULT_H - -extern int helper_segfault_pid; - -# define TEST_ASSERT_SEGFAULT(code) do { \ - fflush(stdout); \ - if ((helper_segfault_pid = fork()) < 0) \ - exit(EXIT_FAILURE); \ - if (helper_segfault_pid == 0) \ - { \ - do { code; } while (0); \ - exit(EXIT_FAILURE); \ - } \ - wait(&helper_segfault_pid); \ - if (WIFSIGNALED(helper_segfault_pid)) \ - TEST_FAIL_MESSAGE("Segfault"); \ -} while (0) - -#endif diff --git a/test/include/libft_test.h b/test/include/libft_test.h deleted file mode 100644 index 23c39c3..0000000 --- a/test/include/libft_test.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef LIBFT_TEST_H -# define LIBFT_TEST_H - -# include <string.h> -# include <ctype.h> -# include <sys/wait.h> -# ifdef __APPLE__ -# include <malloc/malloc.h> -# endif - -# include "unity.h" -# include "unity_fixture.h" - -# undef free -# undef malloc - -# include <stdlib.h> - -# include "libft.h" -# include "libft_algo.h" -# include "libft_ht.h" - -# include "helper/helper_segfault.h" - - -#endif diff --git a/test/src/algo/test_ft_bsearch.c b/test/src/algo/test_ft_bsearch.c deleted file mode 100644 index 27858ee..0000000 --- a/test/src/algo/test_ft_bsearch.c +++ /dev/null @@ -1,55 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_bsearch); - -TEST_SETUP(ft_bsearch) -{} - -TEST_TEAR_DOWN(ft_bsearch) -{} - -TEST(ft_bsearch, basic) -{ - int arr[] = {3, 4, 1, 2, 7, 189, -1, -134, 7, 1, 34}; - t_ftsearch_const consts; - - int a = 189; - consts.key = &a; - consts.compar = ft_compar_int; - - size_t nelp = sizeof(arr) / sizeof(int); - qsort(arr, nelp, sizeof(int), ft_compar_int); - - void *ptr = ft_bsearch(arr, nelp, sizeof(int), &consts); - TEST_ASSERT_EQUAL_PTR(bsearch(consts.key, arr, nelp, sizeof(int), consts.compar), ptr); - - int b = 123; - consts.key = &b; - ptr = ft_bsearch(arr, nelp, sizeof(int), &consts); - TEST_ASSERT_NULL(ptr); - - int c = -134; - consts.key = &c; - ptr = ft_bsearch(arr, nelp, sizeof(int), &consts); - TEST_ASSERT_EQUAL_PTR(bsearch(consts.key, arr, nelp, sizeof(int), consts.compar), ptr); - - int e = 1; - consts.key = &e; - ptr = ft_bsearch(arr, nelp, sizeof(int), &consts); - TEST_ASSERT_EQUAL_PTR(bsearch(consts.key, arr, nelp, sizeof(int), consts.compar), ptr); - - int d = -1; - consts.key = &d; - ptr = ft_bsearch(arr, nelp, sizeof(int), &consts); - TEST_ASSERT_EQUAL_PTR(bsearch(consts.key, arr, nelp, sizeof(int), consts.compar), ptr); - - int f = 34; - consts.key = &f; - ptr = ft_bsearch(arr, nelp, sizeof(int), &consts); - TEST_ASSERT_EQUAL_PTR(bsearch(consts.key, arr, nelp, sizeof(int), consts.compar), ptr); - - int g = 7; - consts.key = &g; - ptr = ft_bsearch(arr, nelp, sizeof(int), &consts); - TEST_ASSERT_EQUAL_PTR(bsearch(consts.key, arr, nelp, sizeof(int), consts.compar), ptr); -} diff --git a/test/src/algo/test_ft_compar_int.c b/test/src/algo/test_ft_compar_int.c deleted file mode 100644 index 39cc322..0000000 --- a/test/src/algo/test_ft_compar_int.c +++ /dev/null @@ -1,20 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_compar_int); - -TEST_SETUP(ft_compar_int) -{} - -TEST_TEAR_DOWN(ft_compar_int) -{} - -TEST(ft_compar_int, basic) -{ - int a = 4; - int b = 3; - - TEST_ASSERT_GREATER_THAN(0, ft_compar_int(&a, &b)); - TEST_ASSERT_LESS_THAN(0, ft_compar_int(&b, &a)); - TEST_ASSERT_EQUAL(0, ft_compar_int(&a, &a)); - TEST_ASSERT_EQUAL(0, ft_compar_int(&b, &b)); -} diff --git a/test/src/algo/test_ft_heapsort.c b/test/src/algo/test_ft_heapsort.c deleted file mode 100644 index 6c2c3fb..0000000 --- a/test/src/algo/test_ft_heapsort.c +++ /dev/null @@ -1,27 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_heapsort); - -TEST_SETUP(ft_heapsort) -{} - -TEST_TEAR_DOWN(ft_heapsort) -{} - -static int compar(const void *a, const void *b) -{ - return *(int*)a - *(int*)b; -} - -TEST(ft_heapsort, basic) -{ - TEST_IGNORE(); - int arr[] = {3, 4, 1, 2, 7, 189, -1, -134, 7, 1, 34}; - int sorted_arr[sizeof(arr)]; - - memcpy(sorted_arr, arr, sizeof(arr)); - qsort(sorted_arr, sizeof(arr) / sizeof(int), sizeof(int), compar); - - ft_heapsort(arr, sizeof(arr) / sizeof(int), sizeof(int), compar); - TEST_ASSERT_EQUAL_INT_ARRAY(sorted_arr, arr, sizeof(arr) / sizeof(int)); -} diff --git a/test/src/algo/test_ft_is_set.c b/test/src/algo/test_ft_is_set.c deleted file mode 100644 index 604ec53..0000000 --- a/test/src/algo/test_ft_is_set.c +++ /dev/null @@ -1,23 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_is_set); - -TEST_SETUP(ft_is_set) -{} - -TEST_TEAR_DOWN(ft_is_set) -{} - -static int compar(const void *a, const void *b) -{ - return *(int*)a - *(int*)b; -} - -TEST(ft_is_set, basic) -{ - int arr[] = {3, 4, 1, 2, 7, 189, -1, -134, 7, 1, 34}; - int unique_arr[] = {3, 4, 2, 189, -1, -134, 7, 1, 34}; - - TEST_ASSERT_FALSE(ft_is_set(arr, sizeof(arr) / sizeof(int), sizeof(int), compar)); - TEST_ASSERT_TRUE(ft_is_set(unique_arr, sizeof(unique_arr) / sizeof(int), sizeof(int), compar)); -} diff --git a/test/src/algo/test_ft_lfind.c b/test/src/algo/test_ft_lfind.c deleted file mode 100644 index 0080d55..0000000 --- a/test/src/algo/test_ft_lfind.c +++ /dev/null @@ -1,38 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_lfind); - -TEST_SETUP(ft_lfind) -{} - -TEST_TEAR_DOWN(ft_lfind) -{} - -TEST(ft_lfind, basic) -{ - int arr[] = {3, 4, 1, 2, 7, 189, -1, -134, 7, 1, 34}; - t_ftsearch_const consts; - - int a = 189; - consts.key = &a; - consts.compar = ft_compar_int; - - size_t nelp = sizeof(arr) / sizeof(int); - void *ptr = ft_lfind(arr, &nelp, sizeof(int), &consts); - TEST_ASSERT_EQUAL_PTR(arr + 5, ptr); - - int b = 123; - consts.key = &b; - ptr = ft_lfind(arr, &nelp, sizeof(int), &consts); - TEST_ASSERT_NULL(ptr); - - int c = 34; - consts.key = &c; - ptr = ft_lfind(arr, &nelp, sizeof(int), &consts); - TEST_ASSERT_EQUAL_PTR(arr + 10, ptr); - - int d = 3; - consts.key = &d; - ptr = ft_lfind(arr, &nelp, sizeof(int), &consts); - TEST_ASSERT_EQUAL_PTR(arr, ptr); -} diff --git a/test/src/algo/test_ft_lsearch.c b/test/src/algo/test_ft_lsearch.c deleted file mode 100644 index 13fae13..0000000 --- a/test/src/algo/test_ft_lsearch.c +++ /dev/null @@ -1,52 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_lsearch); - -TEST_SETUP(ft_lsearch) -{} - -TEST_TEAR_DOWN(ft_lsearch) -{} - -TEST(ft_lsearch, basic) -{ - int arr[32] = {3, 4, 1, 2, 7, 189, -1, -134, 7, 1, 34}; - t_ftsearch_const consts; - - int a = 189; - consts.key = &a; - consts.compar = ft_compar_int; - - size_t nelp = 11; - void *ptr = ft_lsearch(arr, &nelp, sizeof(int), &consts); - TEST_ASSERT_EQUAL_PTR(arr + 5, ptr); - - int c = 34; - consts.key = &c; - ptr = ft_lsearch(arr, &nelp, sizeof(int), &consts); - TEST_ASSERT_EQUAL_PTR(arr + 10, ptr); - - int d = 3; - consts.key = &d; - ptr = ft_lsearch(arr, &nelp, sizeof(int), &consts); - TEST_ASSERT_EQUAL_PTR(arr, ptr); - - int b = 123; - consts.key = &b; - ptr = ft_lsearch(arr, &nelp, sizeof(int), &consts); - TEST_ASSERT_EQUAL(12, nelp); - TEST_ASSERT_EQUAL(123, arr[11]); - TEST_ASSERT_EQUAL_PTR(arr + 11, ptr); - - ptr = ft_lsearch(arr, &nelp, sizeof(int), &consts); - TEST_ASSERT_EQUAL(12, nelp); - TEST_ASSERT_EQUAL(123, arr[11]); - TEST_ASSERT_EQUAL_PTR(arr + 11, ptr); - - int e = 1234; - consts.key = &e; - ptr = ft_lsearch(arr, &nelp, sizeof(int), &consts); - TEST_ASSERT_EQUAL(13, nelp); - TEST_ASSERT_EQUAL(1234, arr[12]); - TEST_ASSERT_EQUAL_PTR(arr + 12, ptr); -} diff --git a/test/src/algo/test_ft_mergesort.c b/test/src/algo/test_ft_mergesort.c deleted file mode 100644 index 567e31d..0000000 --- a/test/src/algo/test_ft_mergesort.c +++ /dev/null @@ -1,26 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_mergesort); - -TEST_SETUP(ft_mergesort) -{} - -TEST_TEAR_DOWN(ft_mergesort) -{} - -static int compar(const void *a, const void *b) -{ - return *(int*)a - *(int*)b; -} - -TEST(ft_mergesort, basic) -{ - int arr[] = {3, 4, 1, 2, 7, 189, -1, -134, 7, 1, 34}; - int sorted_arr[sizeof(arr)]; - - memcpy(sorted_arr, arr, sizeof(arr)); - qsort(sorted_arr, sizeof(arr) / sizeof(int), sizeof(int), compar); - - ft_mergesort(arr, sizeof(arr) / sizeof(int), sizeof(int), compar); - TEST_ASSERT_EQUAL_INT_ARRAY(sorted_arr, arr, sizeof(arr) / sizeof(int)); -} diff --git a/test/src/algo/test_ft_qsort.c b/test/src/algo/test_ft_qsort.c deleted file mode 100644 index 25a5ef6..0000000 --- a/test/src/algo/test_ft_qsort.c +++ /dev/null @@ -1,26 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_qsort); - -TEST_SETUP(ft_qsort) -{} - -TEST_TEAR_DOWN(ft_qsort) -{} - -static int compar(const void *a, const void *b) -{ - return *(int*)a - *(int*)b; -} - -TEST(ft_qsort, basic) -{ - int arr[] = {3, 4, 1, 2, 7, 189, -1, -134, 7, 1, 34}; - int sorted_arr[sizeof(arr)]; - - memcpy(sorted_arr, arr, sizeof(arr)); - qsort(sorted_arr, sizeof(arr) / sizeof(int), sizeof(int), compar); - - ft_qsort(arr, sizeof(arr) / sizeof(int), sizeof(int), compar); - TEST_ASSERT_EQUAL_INT_ARRAY(sorted_arr, arr, sizeof(arr) / sizeof(int)); -} diff --git a/test/src/algo/test_ft_reverse.c b/test/src/algo/test_ft_reverse.c deleted file mode 100644 index feca520..0000000 --- a/test/src/algo/test_ft_reverse.c +++ /dev/null @@ -1,19 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_reverse); - -TEST_SETUP(ft_reverse) -{} - -TEST_TEAR_DOWN(ft_reverse) -{} - -TEST(ft_reverse, basic) -{ - int arr[] = {3, 4, 1, 2, 7, 189, -1, -134, 7, 1, 34}; - int rev_arr[] = {34, 1, 7, -134, -1, 189, 7, 2, 1, 4, 3}; - - ft_reverse(arr, sizeof(arr) / sizeof(int), sizeof(int)); - TEST_ASSERT_EQUAL_INT_ARRAY(rev_arr, arr, sizeof(arr) / sizeof(int)); - -} diff --git a/test/src/ctype/test_ft_isalnum.c b/test/src/ctype/test_ft_isalnum.c deleted file mode 100644 index 0019a03..0000000 --- a/test/src/ctype/test_ft_isalnum.c +++ /dev/null @@ -1,15 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_isalnum); - -TEST_SETUP(ft_isalnum) -{} - -TEST_TEAR_DOWN(ft_isalnum) -{} - -TEST(ft_isalnum, base) -{ - for (int i = 0; i <= UCHAR_MAX; i++) - TEST_ASSERT_EQUAL(!!isalnum(i), !!ft_isalnum(i)); -} diff --git a/test/src/ctype/test_ft_isalpha.c b/test/src/ctype/test_ft_isalpha.c deleted file mode 100644 index 9846985..0000000 --- a/test/src/ctype/test_ft_isalpha.c +++ /dev/null @@ -1,15 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_isalpha); - -TEST_SETUP(ft_isalpha) -{} - -TEST_TEAR_DOWN(ft_isalpha) -{} - -TEST(ft_isalpha, base) -{ - for (int i = 0; i <= UCHAR_MAX; i++) - TEST_ASSERT_EQUAL(!!isalpha(i), !!ft_isalpha(i)); -} diff --git a/test/src/ctype/test_ft_isascii.c b/test/src/ctype/test_ft_isascii.c deleted file mode 100644 index c052571..0000000 --- a/test/src/ctype/test_ft_isascii.c +++ /dev/null @@ -1,15 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_isascii); - -TEST_SETUP(ft_isascii) -{} - -TEST_TEAR_DOWN(ft_isascii) -{} - -TEST(ft_isascii, base) -{ - for (int i = 0; i < UCHAR_MAX; i++) - TEST_ASSERT_EQUAL(!!isascii(i), !!ft_isascii(i)); -} diff --git a/test/src/ctype/test_ft_isblank.c b/test/src/ctype/test_ft_isblank.c deleted file mode 100644 index 3c8460f..0000000 --- a/test/src/ctype/test_ft_isblank.c +++ /dev/null @@ -1,15 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_isblank); - -TEST_SETUP(ft_isblank) -{} - -TEST_TEAR_DOWN(ft_isblank) -{} - -TEST(ft_isblank, base) -{ - for (int i = 0; i <= UCHAR_MAX; i++) - TEST_ASSERT_EQUAL(!!isblank(i), !!ft_isblank(i)); -} diff --git a/test/src/ctype/test_ft_isdigit.c b/test/src/ctype/test_ft_isdigit.c deleted file mode 100644 index 74c210b..0000000 --- a/test/src/ctype/test_ft_isdigit.c +++ /dev/null @@ -1,15 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_isdigit); - -TEST_SETUP(ft_isdigit) -{} - -TEST_TEAR_DOWN(ft_isdigit) -{} - -TEST(ft_isdigit, base) -{ - for (int i = 0; i <= UCHAR_MAX; i++) - TEST_ASSERT_EQUAL(!!isdigit(i), !!ft_isdigit(i)); -} diff --git a/test/src/ctype/test_ft_isprint.c b/test/src/ctype/test_ft_isprint.c deleted file mode 100644 index 0f15661..0000000 --- a/test/src/ctype/test_ft_isprint.c +++ /dev/null @@ -1,15 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_isprint); - -TEST_SETUP(ft_isprint) -{} - -TEST_TEAR_DOWN(ft_isprint) -{} - -TEST(ft_isprint, base) -{ - for (int i = 0; i <= UCHAR_MAX; i++) - TEST_ASSERT_EQUAL(!!isprint(i), !!ft_isprint(i)); -} diff --git a/test/src/ctype/test_ft_isspace.c b/test/src/ctype/test_ft_isspace.c deleted file mode 100644 index f94a1ea..0000000 --- a/test/src/ctype/test_ft_isspace.c +++ /dev/null @@ -1,15 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_isspace); - -TEST_SETUP(ft_isspace) -{} - -TEST_TEAR_DOWN(ft_isspace) -{} - -TEST(ft_isspace, base) -{ - for (int i = 0; i <= UCHAR_MAX; i++) - TEST_ASSERT_EQUAL(!!isspace(i), !!ft_isspace(i)); -} diff --git a/test/src/ctype/test_ft_todigit.c b/test/src/ctype/test_ft_todigit.c deleted file mode 100644 index cd8d9f3..0000000 --- a/test/src/ctype/test_ft_todigit.c +++ /dev/null @@ -1,20 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_todigit); - -TEST_SETUP(ft_todigit) -{} - -TEST_TEAR_DOWN(ft_todigit) -{} - -TEST(ft_todigit, base) -{ - for (int i = 0; i <= UCHAR_MAX; i++) - { - if (isdigit(i)) - TEST_ASSERT_EQUAL(i - '0', ft_todigit(i)); - else - TEST_ASSERT_EQUAL(-1, ft_todigit(i)); - } -} diff --git a/test/src/ctype/test_ft_tolower.c b/test/src/ctype/test_ft_tolower.c deleted file mode 100644 index 9465544..0000000 --- a/test/src/ctype/test_ft_tolower.c +++ /dev/null @@ -1,15 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_tolower); - -TEST_SETUP(ft_tolower) -{} - -TEST_TEAR_DOWN(ft_tolower) -{} - -TEST(ft_tolower, base) -{ - for (int i = 0; i <= UCHAR_MAX; i++) - TEST_ASSERT_EQUAL(tolower(i), ft_tolower(i)); -} diff --git a/test/src/ctype/test_ft_toupper.c b/test/src/ctype/test_ft_toupper.c deleted file mode 100644 index b23c08b..0000000 --- a/test/src/ctype/test_ft_toupper.c +++ /dev/null @@ -1,15 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_toupper); - -TEST_SETUP(ft_toupper) -{} - -TEST_TEAR_DOWN(ft_toupper) -{} - -TEST(ft_toupper, base) -{ - for (int i = 0; i <= UCHAR_MAX; i++) - TEST_ASSERT_EQUAL(toupper(i), ft_toupper(i)); -} diff --git a/test/src/ht/test_ft_htcontent_new.c b/test/src/ht/test_ft_htcontent_new.c deleted file mode 100644 index 6993581..0000000 --- a/test/src/ht/test_ft_htcontent_new.c +++ /dev/null @@ -1,43 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* test_ft_htcontent_new.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/17 04:07:04 by cacharle #+# #+# */ -/* Updated: 2020/02/17 04:15:39 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_test.h" - -TEST_GROUP(ft_htcontent_new); - -TEST_SETUP(ft_htcontent_new) -{} - -TEST_TEAR_DOWN(ft_htcontent_new) -{} - -TEST(ft_htcontent_new, basic) -{ - t_ftht_content *c = NULL; - - char *k = "bonjour"; - c = ft_htcontent_new(k, NULL); - TEST_ASSERT_NOT_NULL(c); - TEST_ASSERT(k != c->key); - TEST_ASSERT_EQUAL_STRING(k, c->key); - TEST_ASSERT_NULL(c->value); - - c = ft_htcontent_new(k, k); - TEST_ASSERT_NOT_NULL(c); - TEST_ASSERT(k != c->key); - TEST_ASSERT_EQUAL_STRING(k, c->key); - TEST_ASSERT_EQUAL_PTR(k, c->value); - TEST_ASSERT_EQUAL_STRING(k, (char*)c->value); - - /* free(c->key); */ - /* free(c); */ -} diff --git a/test/src/ht/test_ft_htdelone.c b/test/src/ht/test_ft_htdelone.c deleted file mode 100644 index 3bc0922..0000000 --- a/test/src/ht/test_ft_htdelone.c +++ /dev/null @@ -1,68 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* test_ft_htdelone.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/19 02:08:00 by cacharle #+# #+# */ -/* Updated: 2020/02/19 02:46:10 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_test.h" - -TEST_GROUP(ft_htdelone); - -TEST_SETUP(ft_htdelone) -{} - -TEST_TEAR_DOWN(ft_htdelone) -{} - -static void st_del(t_ftht_content *v) -{ - free(v->key); - free(v); -} - -TEST(ft_htdelone, basic) -{ - t_ftht *ht = ft_htnew(3); - - ft_htset(ht, "bonjour", "je", st_del); - ft_htset(ht, "a", "yay", st_del); - ft_htset(ht, "b", "aasdf", st_del); - ft_htset(ht, "c", "a", st_del); - ft_htset(ht, "d", "dd", st_del); - - ft_htdelone(ht, "bonjour", st_del); - void *ptr = ft_htget(ht, "bonjour"); - TEST_ASSERT_NULL(ptr); - TEST_ASSERT_NOT_NULL(ft_htget(ht, "a")); - TEST_ASSERT_NOT_NULL(ft_htget(ht, "b")); - TEST_ASSERT_NOT_NULL(ft_htget(ht, "c")); - TEST_ASSERT_NOT_NULL(ft_htget(ht, "d")); - - ft_htdelone(ht, "a", st_del); - ptr = ft_htget(ht, "a"); - TEST_ASSERT_NULL(ptr); - TEST_ASSERT_NOT_NULL(ft_htget(ht, "b")); - TEST_ASSERT_NOT_NULL(ft_htget(ht, "c")); - TEST_ASSERT_NOT_NULL(ft_htget(ht, "d")); - - ft_htdelone(ht, "b", st_del); - ptr = ft_htget(ht, "b"); - TEST_ASSERT_NULL(ptr); - TEST_ASSERT_NOT_NULL(ft_htget(ht, "c")); - TEST_ASSERT_NOT_NULL(ft_htget(ht, "d")); - - ft_htdelone(ht, "c", st_del); - ptr = ft_htget(ht, "c"); - TEST_ASSERT_NULL(ptr); - TEST_ASSERT_NOT_NULL(ft_htget(ht, "d")); - - ft_htdelone(ht, "d", st_del); - ptr = ft_htget(ht, "d"); - TEST_ASSERT_NULL(ptr); -} diff --git a/test/src/ht/test_ft_htdestroy.c b/test/src/ht/test_ft_htdestroy.c deleted file mode 100644 index 360a7a0..0000000 --- a/test/src/ht/test_ft_htdestroy.c +++ /dev/null @@ -1,38 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* test_ft_htdestroy.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/19 02:45:27 by cacharle #+# #+# */ -/* Updated: 2020/02/19 02:49:36 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_test.h" - -TEST_GROUP(ft_htdestroy); - -TEST_SETUP(ft_htdestroy) -{} - -TEST_TEAR_DOWN(ft_htdestroy) -{} - -static void st_del(t_ftht_content *v) -{ - free(v->key); - free(v); -} - -TEST(ft_htdestroy, basic) -{ - t_ftht *ht = ft_htnew(2); - - ft_htset(ht, "a", "1", st_del); - ft_htset(ht, "b", "2", st_del); - ft_htset(ht, "c", "3", st_del); - ft_htset(ht, "d", "4", st_del); - ft_htdestroy(ht, st_del); -} diff --git a/test/src/ht/test_ft_htget.c b/test/src/ht/test_ft_htget.c deleted file mode 100644 index 5db06b7..0000000 --- a/test/src/ht/test_ft_htget.c +++ /dev/null @@ -1,114 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_htget); - -static t_ftht *ht; - -TEST_SETUP(ft_htget) -{ - ht = ft_htnew(10); -} - -TEST_TEAR_DOWN(ft_htget) -{ - /* ft_htdestroy_key(ht); */ -} - -int helper_segfault_pid; - -static void st_del(t_ftht_content *c) -{ - free(c->key); - free(c); -} - -TEST(ft_htget, segfault) -{ - TEST_ASSERT_SEGFAULT(ft_htget((t_ftht*)NULL, "")); - TEST_ASSERT_SEGFAULT(ft_htget(ft_htnew(1), (char*)NULL)); - TEST_ASSERT_SEGFAULT(ft_htget(ft_htnew(1), "")); - TEST_ASSERT_SEGFAULT(ft_htget(ft_htnew(1), "asdkfhjaklsdfhahjsdfk")); -} - -TEST(ft_htget, error_null) -{ - TEST_ASSERT_NULL(ft_htget(NULL, NULL)); - TEST_ASSERT_NULL(ft_htget(ht, NULL)); - TEST_ASSERT_NULL(ft_htget(NULL, "")); - TEST_ASSERT_NULL(ft_htget(ht, "")); - TEST_ASSERT_NULL(ft_htget(ht, "hi")); - TEST_ASSERT_NULL(ft_htget(ht, "asdfkasdflk")); - TEST_ASSERT_NULL(ft_htget(ht, "asdhfalsdhflahsdfhjasklehjfklwhjekrlanklshasdfkasdflk")); -} - -TEST(ft_htget, basic) -{ - ft_htset(ht, strdup("a"), strdup("data1"), st_del); - ft_htset(ht, strdup("b"), strdup("data2"), st_del); - ft_htset(ht, strdup("c"), strdup("data3"), st_del); - - char *s = ft_htget(ht, "a"); - TEST_ASSERT_NOT_NULL(s); - TEST_ASSERT_EQUAL_STRING(s, "data1"); - - s = ft_htget(ht, "b"); - TEST_ASSERT_NOT_NULL(s); - TEST_ASSERT_EQUAL_STRING(s, "data2"); - - s = ft_htget(ht, "c"); - TEST_ASSERT_NOT_NULL(s); - TEST_ASSERT_EQUAL_STRING(s, "data3"); - - ft_htset(ht, strdup("a"), strdup("bonjour1"), st_del); - ft_htset(ht, strdup("b"), strdup("bonjour2"), st_del); - ft_htset(ht, strdup("c"), strdup("bonjour3"), st_del); - - s = ft_htget(ht, "a"); - TEST_ASSERT_NOT_NULL(s); - TEST_ASSERT_EQUAL_STRING(s, "bonjour1"); - - s = ft_htget(ht, "b"); - TEST_ASSERT_NOT_NULL(s); - TEST_ASSERT_EQUAL_STRING(s, "bonjour2"); - - s = ft_htget(ht, "c"); - TEST_ASSERT_NOT_NULL(s); - TEST_ASSERT_EQUAL_STRING(s, "bonjour3"); -} - -TEST(ft_htget, collision) -{ - t_ftht *small = ft_htnew(1); - - ft_htset(small, strdup("a"), strdup("data1"), st_del); - ft_htset(small, strdup("b"), strdup("data2"), st_del); - ft_htset(small, strdup("c"), strdup("data3"), st_del); - - char *s = ft_htget(small, "a"); - TEST_ASSERT_NOT_NULL(s); - TEST_ASSERT_EQUAL_STRING(s, "data1"); - - s = ft_htget(small, "b"); - TEST_ASSERT_NOT_NULL(s); - TEST_ASSERT_EQUAL_STRING(s, "data2"); - - s = ft_htget(small, "c"); - TEST_ASSERT_NOT_NULL(s); - TEST_ASSERT_EQUAL_STRING(s, "data3"); - - ft_htset(small, strdup("a"), strdup("bonjour1"), st_del); - ft_htset(small, strdup("b"), strdup("bonjour2"), st_del); - ft_htset(small, strdup("c"), strdup("bonjour3"), st_del); - - s = ft_htget(small, "a"); - TEST_ASSERT_NOT_NULL(s); - TEST_ASSERT_EQUAL_STRING(s, "bonjour1"); - - s = ft_htget(small, "b"); - TEST_ASSERT_NOT_NULL(s); - TEST_ASSERT_EQUAL_STRING(s, "bonjour2"); - - s = ft_htget(small, "c"); - TEST_ASSERT_NOT_NULL(s); - TEST_ASSERT_EQUAL_STRING(s, "bonjour3"); -} diff --git a/test/src/ht/test_ft_hthash.c b/test/src/ht/test_ft_hthash.c deleted file mode 100644 index e69de29..0000000 --- a/test/src/ht/test_ft_hthash.c +++ /dev/null diff --git a/test/src/ht/test_ft_htnew.c b/test/src/ht/test_ft_htnew.c deleted file mode 100644 index 6b90f03..0000000 --- a/test/src/ht/test_ft_htnew.c +++ /dev/null @@ -1,48 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* test_ft_htnew.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/12 22:30:06 by cacharle #+# #+# */ -/* Updated: 2020/02/17 04:18:20 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_test.h" - -TEST_GROUP(ft_htnew); - -TEST_SETUP(ft_htnew) -{} - -TEST_TEAR_DOWN(ft_htnew) -{} - -int helper_segfault_pid; - -TEST(ft_htnew, segfault) -{ - TEST_ASSERT_SEGFAULT(ft_htnew(10)); - TEST_ASSERT_SEGFAULT(ft_htnew(0)); - TEST_ASSERT_SEGFAULT(ft_htnew((1 << 14) + 1)); -} - -TEST(ft_htnew, error_null) -{ - TEST_ASSERT_NOT_NULL(ft_htnew(10)); - TEST_ASSERT_NULL(ft_htnew(0)); -} - -TEST(ft_htnew, happy_path) -{ - t_ftht *ht; - - ht = ft_htnew(10); - TEST_ASSERT_NOT_NULL(ht); - TEST_ASSERT_EQUAL(10, ht->size); - TEST_ASSERT_NOT_NULL(ht->entries); - for (t_ftsize i = 0; i < ht->size; i++) - TEST_ASSERT_NULL(ht->entries[i]); -} diff --git a/test/src/ht/test_ft_htset.c b/test/src/ht/test_ft_htset.c deleted file mode 100644 index f161206..0000000 --- a/test/src/ht/test_ft_htset.c +++ /dev/null @@ -1,100 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_htset); - -static t_ftht *ht; - -TEST_SETUP(ft_htset) -{ - ht = ft_htnew(10); -} - -TEST_TEAR_DOWN(ft_htset) -{ - /* ft_htdestroy_key(ht); */ -} - -static void st_del(t_ftht_content *c) -{ - free(c->key); - free(c); -} - -TEST(ft_htset, segfault) -{ - TEST_ASSERT_SEGFAULT(ft_htset(NULL, "", strdup(""), NULL)); - TEST_ASSERT_SEGFAULT(ft_htset(ft_htnew(1), NULL, strdup(""), NULL)); - TEST_ASSERT_SEGFAULT(ft_htset(ft_htnew(1), "", NULL, NULL)); - TEST_ASSERT_SEGFAULT(ft_htset(ft_htnew(1), "", strdup(""), NULL)); - TEST_ASSERT_SEGFAULT(ft_htset(ft_htnew(1), "hi", strdup(""), NULL)); - TEST_ASSERT_SEGFAULT(ft_htset(ft_htnew(1), "asdfasdfasdc", strdup(""), NULL)); -} - -TEST(ft_htset, error_null) -{ - TEST_ASSERT_NULL(ft_htset(NULL, "", strdup("1"), NULL)); - TEST_ASSERT_NULL(ft_htset(ht, NULL, strdup("2"), NULL)); - TEST_ASSERT_NOT_NULL(ft_htset(ht, "", strdup("3"), NULL)); - TEST_ASSERT_NOT_NULL(ft_htset(ht, "a", strdup("4"), NULL)); - TEST_ASSERT_NOT_NULL(ft_htset(ht, "b", strdup("5"), NULL)); - TEST_ASSERT_NOT_NULL(ft_htset(ht, "c", strdup("6"), NULL)); - TEST_ASSERT_NOT_NULL(ft_htset(ht, "d", strdup("7"), NULL)); -} - -TEST(ft_htset, happy_path) -{ - t_ftht_content *content = ft_htset(ht, "bonjour", strdup("content"), NULL); - TEST_ASSERT_NOT_NULL(content); - TEST_ASSERT_NOT_NULL(content->key); - TEST_ASSERT_NOT_NULL(content->value); - TEST_ASSERT_EQUAL_STRING(content->key, "bonjour"); - TEST_ASSERT_EQUAL_STRING(content->value, "content"); -} - -TEST(ft_htset, reset) -{ - t_ftht *small = NULL; - - small = ft_htnew(3); - - t_ftht_content *content = ft_htset(small, "bonjour", ft_strdup("content"), st_del); - TEST_ASSERT_NOT_NULL(content); - TEST_ASSERT_NOT_NULL(content->key); - TEST_ASSERT_NOT_NULL(content->value); - TEST_ASSERT_EQUAL_STRING(content->key, "bonjour"); - TEST_ASSERT_EQUAL_STRING(content->value, "content"); - - t_ftht_content *content_re = ft_htset(small, "bonjour", ft_strdup("yo"), st_del); - TEST_ASSERT_NOT_NULL(content_re); - TEST_ASSERT_NOT_NULL(content_re->key); - TEST_ASSERT_NOT_NULL(content_re->value); - TEST_ASSERT_EQUAL_STRING("bonjour", content_re->key); - TEST_ASSERT_EQUAL_STRING("yo", content_re->value); -} - -TEST(ft_htset, collision) -{ - t_ftht *small = NULL; - small = ft_htnew(1); - - t_ftht_content *content1 = ft_htset(ht, "bonjour", strdup("content1"), st_del); - TEST_ASSERT_NOT_NULL(content1); - TEST_ASSERT_NOT_NULL(content1->key); - TEST_ASSERT_NOT_NULL(content1->value); - TEST_ASSERT_EQUAL_STRING(content1->key, "bonjour"); - TEST_ASSERT_EQUAL_STRING(content1->value, "content1"); - - t_ftht_content *content2 = ft_htset(ht, "aurevoir", strdup("content2"), st_del); - TEST_ASSERT_NOT_NULL(content2); - TEST_ASSERT_NOT_NULL(content2->key); - TEST_ASSERT_NOT_NULL(content2->value); - TEST_ASSERT_EQUAL_STRING(content2->key, "aurevoir"); - TEST_ASSERT_EQUAL_STRING(content2->value, "content2"); - - t_ftht_content *content3 = ft_htset(ht, "aloa", strdup("content3"), st_del); - TEST_ASSERT_NOT_NULL(content3); - TEST_ASSERT_NOT_NULL(content3->key); - TEST_ASSERT_NOT_NULL(content3->value); - TEST_ASSERT_EQUAL_STRING(content3->key, "aloa"); - TEST_ASSERT_EQUAL_STRING(content3->value, "content3"); -} diff --git a/test/src/lst/test_ft_lstadd_back.c b/test/src/lst/test_ft_lstadd_back.c deleted file mode 100644 index 42e749c..0000000 --- a/test/src/lst/test_ft_lstadd_back.c +++ /dev/null @@ -1,41 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_lstadd_back); - -TEST_SETUP(ft_lstadd_back) -{} - -TEST_TEAR_DOWN(ft_lstadd_back) -{} - -TEST(ft_lstadd_back, basic) -{ - t_ftlst *lst; - int a = 1; - int b = 2; - int c = 2; - - lst = ft_lstnew(&a); - TEST_ASSERT_NOT_NULL(lst); - - ft_lstadd_back(&lst, ft_lstnew(&b)); - TEST_ASSERT_NOT_NULL(lst); - TEST_ASSERT_EQUAL_PTR(&a, lst->content); - TEST_ASSERT_EQUAL(a, *(int*)lst->content); - TEST_ASSERT_NOT_NULL(lst->next); - TEST_ASSERT_EQUAL_PTR(&b, lst->next->content); - TEST_ASSERT_EQUAL(b, *(int*)lst->next->content); - - ft_lstadd_back(&lst, ft_lstnew(&c)); - TEST_ASSERT_NOT_NULL(lst); - TEST_ASSERT_EQUAL_PTR(&a, lst->content); - TEST_ASSERT_EQUAL(a, *(int*)lst->content); - TEST_ASSERT_NOT_NULL(lst->next); - TEST_ASSERT_EQUAL_PTR(&b, lst->next->content); - TEST_ASSERT_EQUAL(b, *(int*)lst->next->content); - TEST_ASSERT_NOT_NULL(lst->next->next); - TEST_ASSERT_EQUAL_PTR(&c, lst->next->next->content); - TEST_ASSERT_EQUAL(c, *(int*)lst->next->next->content); - - ft_lstclear(&lst, NULL); -} diff --git a/test/src/lst/test_ft_lstadd_front.c b/test/src/lst/test_ft_lstadd_front.c deleted file mode 100644 index 21b7617..0000000 --- a/test/src/lst/test_ft_lstadd_front.c +++ /dev/null @@ -1,41 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_lstadd_front); - -TEST_SETUP(ft_lstadd_front) -{} - -TEST_TEAR_DOWN(ft_lstadd_front) -{} - -TEST(ft_lstadd_front, basic) -{ - t_ftlst *lst; - int a = 1; - int b = 2; - int c = 2; - - lst = ft_lstnew(&a); - TEST_ASSERT_NOT_NULL(lst); - - ft_lstadd_front(&lst, ft_lstnew(&b)); - TEST_ASSERT_NOT_NULL(lst); - TEST_ASSERT_EQUAL_PTR(&b, lst->content); - TEST_ASSERT_EQUAL(b, *(int*)lst->content); - TEST_ASSERT_NOT_NULL(lst->next); - TEST_ASSERT_EQUAL_PTR(&a, lst->next->content); - TEST_ASSERT_EQUAL(a, *(int*)lst->next->content); - - ft_lstadd_front(&lst, ft_lstnew(&c)); - TEST_ASSERT_NOT_NULL(lst); - TEST_ASSERT_EQUAL_PTR(&c, lst->content); - TEST_ASSERT_EQUAL(c, *(int*)lst->content); - TEST_ASSERT_NOT_NULL(lst->next); - TEST_ASSERT_EQUAL_PTR(&b, lst->next->content); - TEST_ASSERT_EQUAL(b, *(int*)lst->next->content); - TEST_ASSERT_NOT_NULL(lst->next->next); - TEST_ASSERT_EQUAL_PTR(&a, lst->next->next->content); - TEST_ASSERT_EQUAL(a, *(int*)lst->next->next->content); - - ft_lstclear(&lst, NULL); -} diff --git a/test/src/lst/test_ft_lstbsearch.c b/test/src/lst/test_ft_lstbsearch.c deleted file mode 100644 index 218f0bf..0000000 --- a/test/src/lst/test_ft_lstbsearch.c +++ /dev/null @@ -1,37 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_lstbsearch); - -TEST_SETUP(ft_lstbsearch) -{} - -TEST_TEAR_DOWN(ft_lstbsearch) -{} - -TEST(ft_lstbsearch, basic) -{ - t_ftlst *found = NULL; - t_ftlst *lst = NULL; - int a = 1; - int b = 2; - int c = 3; - int d = 4; - - ft_lstadd_front(&lst, ft_lstnew(&c)); - ft_lstadd_front(&lst, ft_lstnew(&b)); - ft_lstadd_front(&lst, ft_lstnew(&a)); - ft_lstadd_front(&lst, ft_lstnew(&a)); - - found = ft_lstbsearch(lst, ft_compar_int, &c); - TEST_ASSERT_NOT_NULL(found); - found = ft_lstbsearch(lst, ft_compar_int, &c); - TEST_ASSERT_NOT_NULL(found); - found = ft_lstbsearch(lst, ft_compar_int, &b); - TEST_ASSERT_NOT_NULL(found); - found = ft_lstbsearch(lst, ft_compar_int, &a); - TEST_ASSERT_NOT_NULL(found); - found = ft_lstbsearch(lst, ft_compar_int, &d); - TEST_ASSERT_NULL(found); - - ft_lstclear(&lst, NULL); -} diff --git a/test/src/lst/test_ft_lstclear.c b/test/src/lst/test_ft_lstclear.c deleted file mode 100644 index acffb17..0000000 --- a/test/src/lst/test_ft_lstclear.c +++ /dev/null @@ -1,14 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_lstclear); - -TEST_SETUP(ft_lstclear) -{} - -TEST_TEAR_DOWN(ft_lstclear) -{} - -TEST(ft_lstclear, basic) -{ - TEST_PASS(); // how to test free? -} diff --git a/test/src/lst/test_ft_lstdelone.c b/test/src/lst/test_ft_lstdelone.c deleted file mode 100644 index 881a93b..0000000 --- a/test/src/lst/test_ft_lstdelone.c +++ /dev/null @@ -1,26 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* test_ft_lstdelone.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/19 02:01:33 by cacharle #+# #+# */ -/* Updated: 2020/02/19 02:07:27 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_test.h" - -TEST_GROUP(ft_lstdelone); - -TEST_SETUP(ft_lstdelone) -{} - -TEST_TEAR_DOWN(ft_lstdelone) -{} - -TEST(ft_lstdelone, basic) -{ - TEST_PASS(); // how to test free? -} diff --git a/test/src/lst/test_ft_lstiter.c b/test/src/lst/test_ft_lstiter.c deleted file mode 100644 index c8bf90d..0000000 --- a/test/src/lst/test_ft_lstiter.c +++ /dev/null @@ -1,52 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_lstiter); - -TEST_SETUP(ft_lstiter) -{} - -TEST_TEAR_DOWN(ft_lstiter) -{} - -static void square_iter_func(void *data) -{ - int *d = (int*)data; - - *d = *d * *d; -} - -TEST(ft_lstiter, basic) -{ - t_ftlst *lst = NULL; - int a = 2; - int b = 3; - int c = 4; - int d = 5; - - ft_lstiter(lst, square_iter_func); - TEST_ASSERT_NULL(lst); - - ft_lstadd_front(&lst, ft_lstnew(&a)); - ft_lstiter(lst, square_iter_func); - TEST_ASSERT_EQUAL(4, *(int*)lst->content); - - ft_lstadd_front(&lst, ft_lstnew(&b)); - ft_lstiter(lst, square_iter_func); - TEST_ASSERT_EQUAL(9, *(int*)lst->content); - TEST_ASSERT_EQUAL(16, *(int*)lst->next->content); - - ft_lstadd_front(&lst, ft_lstnew(&c)); - ft_lstiter(lst, square_iter_func); - TEST_ASSERT_EQUAL(16, *(int*)lst->content); - TEST_ASSERT_EQUAL(81, *(int*)lst->next->content); - TEST_ASSERT_EQUAL(256, *(int*)lst->next->next->content); - - ft_lstadd_front(&lst, ft_lstnew(&d)); - ft_lstiter(lst, square_iter_func); - TEST_ASSERT_EQUAL(25, *(int*)lst->content); - TEST_ASSERT_EQUAL(256, *(int*)lst->next->content); - TEST_ASSERT_EQUAL(81 * 81, *(int*)lst->next->next->content); - TEST_ASSERT_EQUAL(256 * 256, *(int*)lst->next->next->next->content); - - ft_lstclear(&lst, NULL); -} diff --git a/test/src/lst/test_ft_lstlast.c b/test/src/lst/test_ft_lstlast.c deleted file mode 100644 index 6b44c28..0000000 --- a/test/src/lst/test_ft_lstlast.c +++ /dev/null @@ -1,29 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_lstlast); - -TEST_SETUP(ft_lstlast) -{} - -TEST_TEAR_DOWN(ft_lstlast) -{} - -TEST(ft_lstlast, basic) -{ - t_ftlst *lst = NULL; - int a = 1; - int b = 2; - int c = 3; - int d = 4; - - ft_lstadd_front(&lst, ft_lstnew(&a)); - TEST_ASSERT_EQUAL_PTR(lst, ft_lstlast(lst)); - ft_lstadd_front(&lst, ft_lstnew(&b)); - TEST_ASSERT_EQUAL_PTR(lst->next, ft_lstlast(lst)); - ft_lstadd_front(&lst, ft_lstnew(&c)); - TEST_ASSERT_EQUAL_PTR(lst->next->next, ft_lstlast(lst)); - ft_lstadd_front(&lst, ft_lstnew(&d)); - TEST_ASSERT_EQUAL_PTR(lst->next->next->next, ft_lstlast(lst)); - - ft_lstclear(&lst, NULL); -} diff --git a/test/src/lst/test_ft_lstlfind.c b/test/src/lst/test_ft_lstlfind.c deleted file mode 100644 index 493a8ad..0000000 --- a/test/src/lst/test_ft_lstlfind.c +++ /dev/null @@ -1,55 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* test_ft_lstlfind.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/17 03:08:15 by cacharle #+# #+# */ -/* Updated: 2020/02/17 03:34:40 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_test.h" - -TEST_GROUP(ft_lstlfind); - -TEST_SETUP(ft_lstlfind) -{} - -TEST_TEAR_DOWN(ft_lstlfind) -{} - -TEST(ft_lstlfind, basic) -{ - t_ftlst *found = NULL; - t_ftlst *lst = NULL; - int a = 1; - int b = 2; - int c = 3; - int d = 4; - - ft_lstadd_front(&lst, ft_lstnew(&c)); - ft_lstadd_front(&lst, ft_lstnew(&c)); - ft_lstadd_front(&lst, ft_lstnew(&a)); - ft_lstadd_front(&lst, ft_lstnew(&c)); - ft_lstadd_front(&lst, ft_lstnew(&b)); - ft_lstadd_front(&lst, ft_lstnew(&a)); - ft_lstadd_front(&lst, ft_lstnew(&a)); - - found = ft_lstlfind(lst, ft_compar_int, &c); - TEST_ASSERT_EQUAL_PTR(lst->next->next->next, found); - found = ft_lstlfind(lst, ft_compar_int, &c); - TEST_ASSERT_EQUAL_PTR(lst->next->next->next, found); - - found = ft_lstlfind(lst, ft_compar_int, &b); - TEST_ASSERT_EQUAL_PTR(lst->next->next, found); - - found = ft_lstlfind(lst, ft_compar_int, &a); - TEST_ASSERT_EQUAL_PTR(lst, found); - - found = ft_lstlfind(lst, ft_compar_int, &d); - TEST_ASSERT_NULL(found); - - ft_lstclear(&lst, NULL); -} diff --git a/test/src/lst/test_ft_lstlsearch.c b/test/src/lst/test_ft_lstlsearch.c deleted file mode 100644 index c9f9c64..0000000 --- a/test/src/lst/test_ft_lstlsearch.c +++ /dev/null @@ -1,55 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* test_ft_lstlsearch.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/17 03:21:46 by cacharle #+# #+# */ -/* Updated: 2020/02/17 03:35:37 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_test.h" - -TEST_GROUP(ft_lstlsearch); - -TEST_SETUP(ft_lstlsearch) -{} - -TEST_TEAR_DOWN(ft_lstlsearch) -{} - -TEST(ft_lstlsearch, basic) -{ - t_ftlst *found = NULL; - t_ftlst *lst = NULL; - int a = 1; - int b = 2; - int c = 3; - int d = 4; - - ft_lstadd_front(&lst, ft_lstnew(&c)); - ft_lstadd_front(&lst, ft_lstnew(&c)); - ft_lstadd_front(&lst, ft_lstnew(&a)); - ft_lstadd_front(&lst, ft_lstnew(&c)); - ft_lstadd_front(&lst, ft_lstnew(&b)); - ft_lstadd_front(&lst, ft_lstnew(&a)); - ft_lstadd_front(&lst, ft_lstnew(&a)); - - found = ft_lstlsearch(lst, ft_compar_int, &c); - TEST_ASSERT_EQUAL_PTR(lst->next->next->next, found); - found = ft_lstlsearch(lst, ft_compar_int, &c); - TEST_ASSERT_EQUAL_PTR(lst->next->next->next, found); - - found = ft_lstlsearch(lst, ft_compar_int, &b); - TEST_ASSERT_EQUAL_PTR(lst->next->next, found); - - found = ft_lstlsearch(lst, ft_compar_int, &a); - TEST_ASSERT_EQUAL_PTR(lst, found); - - found = ft_lstlsearch(lst, ft_compar_int, &d); - TEST_ASSERT_EQUAL_PTR(ft_lstlast(lst), found); - - ft_lstclear(&lst, NULL); -} diff --git a/test/src/lst/test_ft_lstmap.c b/test/src/lst/test_ft_lstmap.c deleted file mode 100644 index 4abdddc..0000000 --- a/test/src/lst/test_ft_lstmap.c +++ /dev/null @@ -1,82 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_lstmap); - -TEST_SETUP(ft_lstmap) -{} - -TEST_TEAR_DOWN(ft_lstmap) -{} - -static void *f_square(void *data) -{ - int *d = malloc(sizeof(int)); - - *d = *(int*)data; - *d = *d * *d; - return d; -} - -TEST(ft_lstmap, basic) -{ - t_ftlst *lst = NULL; - t_ftlst *mapped = NULL; - int a = 2; - int b = 3; - int c = 4; - int d = 5; - - mapped = ft_lstmap(lst, f_square, free); - TEST_ASSERT_NULL(mapped); - - ft_lstadd_front(&lst, ft_lstnew(&a)); - mapped = ft_lstmap(lst, f_square, free); - TEST_ASSERT_NOT_NULL(mapped); - TEST_ASSERT_NOT_NULL(mapped->content); - TEST_ASSERT_EQUAL(4, *(int*)mapped->content); - TEST_ASSERT_NULL(mapped->next); - ft_lstclear(&mapped, free); - - ft_lstadd_front(&lst, ft_lstnew(&b)); - mapped = ft_lstmap(lst, f_square, free); - TEST_ASSERT_NOT_NULL(mapped); - TEST_ASSERT_NOT_NULL(mapped->content); - TEST_ASSERT_EQUAL(9, *(int*)mapped->content); - TEST_ASSERT_NOT_NULL(mapped->next); - TEST_ASSERT_NOT_NULL(mapped->next->content); - TEST_ASSERT_EQUAL(4, *(int*)mapped->next->content); - TEST_ASSERT_NULL(mapped->next->next); - ft_lstclear(&mapped, free); - - ft_lstadd_front(&lst, ft_lstnew(&c)); - mapped = ft_lstmap(lst, f_square, free); - TEST_ASSERT_NOT_NULL(mapped); - TEST_ASSERT_NOT_NULL(mapped->content); - TEST_ASSERT_EQUAL(16, *(int*)mapped->content); - TEST_ASSERT_NOT_NULL(mapped->next); - TEST_ASSERT_NOT_NULL(mapped->next->content); - TEST_ASSERT_EQUAL(9, *(int*)mapped->next->content); - TEST_ASSERT_NOT_NULL(mapped->next->next); - TEST_ASSERT_NOT_NULL(mapped->next->next->content); - TEST_ASSERT_EQUAL(4, *(int*)mapped->next->next->content); - TEST_ASSERT_NULL(mapped->next->next->next); - ft_lstclear(&mapped, free); - - ft_lstadd_front(&lst, ft_lstnew(&d)); - mapped = ft_lstmap(lst, f_square, free); - TEST_ASSERT_NOT_NULL(mapped); - TEST_ASSERT_NOT_NULL(mapped->content); - TEST_ASSERT_EQUAL(25, *(int*)mapped->content); - TEST_ASSERT_NOT_NULL(mapped->next); - TEST_ASSERT_NOT_NULL(mapped->next->content); - TEST_ASSERT_EQUAL(16, *(int*)mapped->next->content); - TEST_ASSERT_NOT_NULL(mapped->next->next); - TEST_ASSERT_NOT_NULL(mapped->next->next->content); - TEST_ASSERT_EQUAL(9, *(int*)mapped->next->next->content); - TEST_ASSERT_NOT_NULL(mapped->next->next->next); - TEST_ASSERT_NOT_NULL(mapped->next->next->next->content); - TEST_ASSERT_EQUAL(4, *(int*)mapped->next->next->next->content); - ft_lstclear(&mapped, free); - - ft_lstclear(&lst, NULL); -} diff --git a/test/src/lst/test_ft_lstnew.c b/test/src/lst/test_ft_lstnew.c deleted file mode 100644 index bdb0066..0000000 --- a/test/src/lst/test_ft_lstnew.c +++ /dev/null @@ -1,25 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_lstnew); - -TEST_SETUP(ft_lstnew) -{} - -TEST_TEAR_DOWN(ft_lstnew) -{} - -TEST(ft_lstnew, basic) -{ - t_ftlst *lst; - int a = 4; - - lst = ft_lstnew(&a); - TEST_ASSERT_NOT_NULL(lst); - TEST_ASSERT_EQUAL_PTR(&a, lst->content); - TEST_ASSERT_EQUAL(a, *(int*)lst->content); - - /* free(lst); */ - lst = ft_lstnew(NULL); - TEST_ASSERT_NOT_NULL(lst); - TEST_ASSERT_NULL(lst->content); -} diff --git a/test/src/lst/test_ft_lstpop_front.c b/test/src/lst/test_ft_lstpop_front.c deleted file mode 100644 index 18815d4..0000000 --- a/test/src/lst/test_ft_lstpop_front.c +++ /dev/null @@ -1,31 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_lstpop_front); - -TEST_SETUP(ft_lstpop_front) -{} - -TEST_TEAR_DOWN(ft_lstpop_front) -{} - -TEST(ft_lstpop_front, basic) -{ - t_ftlst *lst = NULL; - int a = 1; - int b = 2; - int c = 3; - - ft_lstadd_front(&lst, ft_lstnew(&a)); - ft_lstadd_front(&lst, ft_lstnew(&b)); - ft_lstadd_front(&lst, ft_lstnew(&c)); - - ft_lstpop_front(&lst, NULL); - TEST_ASSERT_EQUAL_PTR(&b, lst->content); - TEST_ASSERT_EQUAL_PTR(&a, lst->next->content); - - ft_lstpop_front(&lst, NULL); - TEST_ASSERT_EQUAL_PTR(&a, lst->content); - - ft_lstpop_front(&lst, NULL); - TEST_ASSERT_NULL(lst); -} diff --git a/test/src/lst/test_ft_lstremove_if.c b/test/src/lst/test_ft_lstremove_if.c deleted file mode 100644 index e32a262..0000000 --- a/test/src/lst/test_ft_lstremove_if.c +++ /dev/null @@ -1,70 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_lstremove_if); - -TEST_SETUP(ft_lstremove_if) -{} - -TEST_TEAR_DOWN(ft_lstremove_if) -{} - -TEST(ft_lstremove_if, basic) -{ - t_ftlst *lst = NULL; - int a = 1; - int b = 2; - int c = 3; - int d = 4; - - ft_lstadd_back(&lst, ft_lstnew(&a)); - ft_lstadd_back(&lst, ft_lstnew(&b)); - ft_lstadd_back(&lst, ft_lstnew(&c)); - ft_lstadd_back(&lst, ft_lstnew(&d)); - ft_lstadd_back(&lst, ft_lstnew(&d)); - ft_lstadd_back(&lst, ft_lstnew(&d)); - ft_lstadd_back(&lst, ft_lstnew(&a)); - ft_lstadd_back(&lst, ft_lstnew(&a)); - - ft_lstremove_if(&lst, ft_compar_int, &a, NULL); - TEST_ASSERT_NOT_NULL(lst); - TEST_ASSERT_NOT_NULL(lst->next); - TEST_ASSERT_NOT_NULL(lst->next->next); - TEST_ASSERT_NOT_NULL(lst->next->next->next); - TEST_ASSERT_NOT_NULL(lst->next->next->next->next); - TEST_ASSERT_NOT_NULL(lst->content); - TEST_ASSERT_NOT_NULL(lst->next->content); - TEST_ASSERT_NOT_NULL(lst->next->next->content); - TEST_ASSERT_NOT_NULL(lst->next->next->next->content); - TEST_ASSERT_NOT_NULL(lst->next->next->next->next->content); - TEST_ASSERT_EQUAL(b, *(int*)lst->content); - TEST_ASSERT_EQUAL(c, *(int*)lst->next->content); - TEST_ASSERT_EQUAL(d, *(int*)lst->next->next->content); - TEST_ASSERT_EQUAL(d, *(int*)lst->next->next->next->content); - TEST_ASSERT_EQUAL(d, *(int*)lst->next->next->next->next->content); - - ft_lstremove_if(&lst, ft_compar_int, &b, NULL); - TEST_ASSERT_NOT_NULL(lst); - TEST_ASSERT_NOT_NULL(lst->next); - TEST_ASSERT_NOT_NULL(lst->next->next); - TEST_ASSERT_NOT_NULL(lst->next->next->next); - TEST_ASSERT_NOT_NULL(lst->content); - TEST_ASSERT_NOT_NULL(lst->next->content); - TEST_ASSERT_NOT_NULL(lst->next->next->content); - TEST_ASSERT_EQUAL(c, *(int*)lst->content); - TEST_ASSERT_EQUAL(d, *(int*)lst->next->content); - TEST_ASSERT_EQUAL(d, *(int*)lst->next->next->content); - TEST_ASSERT_EQUAL(d, *(int*)lst->next->next->next->content); - - ft_lstremove_if(&lst, ft_compar_int, &d, NULL); - TEST_ASSERT_NOT_NULL(lst); - TEST_ASSERT_NOT_NULL(lst->content); - TEST_ASSERT_EQUAL(c, *(int*)lst->content); - - ft_lstremove_if(&lst, ft_compar_int, &d, NULL); - TEST_ASSERT_NOT_NULL(lst); - TEST_ASSERT_NOT_NULL(lst->content); - TEST_ASSERT_EQUAL(c, *(int*)lst->content); - - ft_lstremove_if(&lst, ft_compar_int, &c, NULL); - TEST_ASSERT_NULL(lst); -} diff --git a/test/src/lst/test_ft_lstreverse.c b/test/src/lst/test_ft_lstreverse.c deleted file mode 100644 index d22bfdc..0000000 --- a/test/src/lst/test_ft_lstreverse.c +++ /dev/null @@ -1,45 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_lstreverse); - -TEST_SETUP(ft_lstreverse) -{} - -TEST_TEAR_DOWN(ft_lstreverse) -{} - -TEST(ft_lstreverse, basic) -{ - t_ftlst *lst = NULL; - int a = 1; - int b = 2; - int c = 3; - int d = 4; - - ft_lstreverse(&lst); - TEST_ASSERT_NULL(lst); - - ft_lstadd_front(&lst, ft_lstnew(&a)); - ft_lstreverse(&lst); - TEST_ASSERT_EQUAL_PTR(&a, lst->content); - - ft_lstadd_front(&lst, ft_lstnew(&b)); - ft_lstreverse(&lst); - TEST_ASSERT_EQUAL_PTR(&a, lst->content); - TEST_ASSERT_EQUAL_PTR(&b, lst->next->content); - - ft_lstadd_front(&lst, ft_lstnew(&c)); - ft_lstreverse(&lst); - TEST_ASSERT_EQUAL_PTR(&b, lst->content); - TEST_ASSERT_EQUAL_PTR(&a, lst->next->content); - TEST_ASSERT_EQUAL_PTR(&c, lst->next->next->content); - - ft_lstadd_front(&lst, ft_lstnew(&d)); - ft_lstreverse(&lst); - TEST_ASSERT_EQUAL_PTR(&c, lst->content); - TEST_ASSERT_EQUAL_PTR(&a, lst->next->content); - TEST_ASSERT_EQUAL_PTR(&b, lst->next->next->content); - TEST_ASSERT_EQUAL_PTR(&d, lst->next->next->next->content); - - ft_lstclear(&lst, NULL); -} diff --git a/test/src/lst/test_ft_lstreverse_ret.c b/test/src/lst/test_ft_lstreverse_ret.c deleted file mode 100644 index 6a85ddf..0000000 --- a/test/src/lst/test_ft_lstreverse_ret.c +++ /dev/null @@ -1,45 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_lstreverse_ret); - -TEST_SETUP(ft_lstreverse_ret) -{} - -TEST_TEAR_DOWN(ft_lstreverse_ret) -{} - -TEST(ft_lstreverse_ret, basic) -{ - t_ftlst *lst = NULL; - int a = 1; - int b = 2; - int c = 3; - int d = 4; - - lst = ft_lstreverse_ret(lst); - TEST_ASSERT_NULL(lst); - - ft_lstadd_front(&lst, ft_lstnew(&a)); - lst = ft_lstreverse_ret(lst); - TEST_ASSERT_EQUAL_PTR(&a, lst->content); - - ft_lstadd_front(&lst, ft_lstnew(&b)); - lst = ft_lstreverse_ret(lst); - TEST_ASSERT_EQUAL_PTR(&a, lst->content); - TEST_ASSERT_EQUAL_PTR(&b, lst->next->content); - - ft_lstadd_front(&lst, ft_lstnew(&c)); - lst = ft_lstreverse_ret(lst); - TEST_ASSERT_EQUAL_PTR(&b, lst->content); - TEST_ASSERT_EQUAL_PTR(&a, lst->next->content); - TEST_ASSERT_EQUAL_PTR(&c, lst->next->next->content); - - ft_lstadd_front(&lst, ft_lstnew(&d)); - lst = ft_lstreverse_ret(lst); - TEST_ASSERT_EQUAL_PTR(&c, lst->content); - TEST_ASSERT_EQUAL_PTR(&a, lst->next->content); - TEST_ASSERT_EQUAL_PTR(&b, lst->next->next->content); - TEST_ASSERT_EQUAL_PTR(&d, lst->next->next->next->content); - - ft_lstclear(&lst, NULL); -} diff --git a/test/src/lst/test_ft_lstsize.c b/test/src/lst/test_ft_lstsize.c deleted file mode 100644 index c80bc7c..0000000 --- a/test/src/lst/test_ft_lstsize.c +++ /dev/null @@ -1,37 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_lstsize); - -TEST_SETUP(ft_lstsize) -{} - -TEST_TEAR_DOWN(ft_lstsize) -{} - -TEST(ft_lstsize, basic) -{ - t_ftlst *lst = NULL; - int a = 1; - - TEST_ASSERT_EQUAL(0, ft_lstsize(lst)); - lst = ft_lstnew(&a); - TEST_ASSERT_EQUAL(1, ft_lstsize(lst)); - ft_lstadd_front(&lst, ft_lstnew(&a)); - TEST_ASSERT_EQUAL(2, ft_lstsize(lst)); - ft_lstadd_front(&lst, ft_lstnew(&a)); - TEST_ASSERT_EQUAL(3, ft_lstsize(lst)); - ft_lstadd_front(&lst, ft_lstnew(&a)); - TEST_ASSERT_EQUAL(4, ft_lstsize(lst)); - ft_lstadd_front(&lst, ft_lstnew(&a)); - TEST_ASSERT_EQUAL(5, ft_lstsize(lst)); - ft_lstadd_front(&lst, ft_lstnew(&a)); - TEST_ASSERT_EQUAL(6, ft_lstsize(lst)); - ft_lstadd_front(&lst, ft_lstnew(&a)); - TEST_ASSERT_EQUAL(7, ft_lstsize(lst)); - ft_lstadd_front(&lst, ft_lstnew(&a)); - TEST_ASSERT_EQUAL(8, ft_lstsize(lst)); - ft_lstadd_front(&lst, ft_lstnew(&a)); - TEST_ASSERT_EQUAL(9, ft_lstsize(lst)); - - ft_lstclear(&lst, NULL); -} diff --git a/test/src/lst/test_ft_lstsort.c b/test/src/lst/test_ft_lstsort.c deleted file mode 100644 index e1e1566..0000000 --- a/test/src/lst/test_ft_lstsort.c +++ /dev/null @@ -1,38 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_lstsort); - -TEST_SETUP(ft_lstsort) -{} - -TEST_TEAR_DOWN(ft_lstsort) -{} - -TEST(ft_lstsort, basic) -{ - t_ftlst *lst = NULL; - int a = 1; - int b = -1; - int c = 4; - int d = -3; - - ft_lstadd_front(&lst, ft_lstnew(&a)); - ft_lstadd_front(&lst, ft_lstnew(&b)); - ft_lstadd_front(&lst, ft_lstnew(&c)); - ft_lstadd_front(&lst, ft_lstnew(&d)); - ft_lstsort(&lst, ft_compar_int); - - TEST_ASSERT_NOT_NULL(lst); - TEST_ASSERT_NOT_NULL(lst->next); - TEST_ASSERT_NOT_NULL(lst->next->next); - TEST_ASSERT_NOT_NULL(lst->next->next->next); - TEST_ASSERT_NOT_NULL(lst->content); - TEST_ASSERT_NOT_NULL(lst->next->content); - TEST_ASSERT_NOT_NULL(lst->next->next->content); - TEST_ASSERT_NOT_NULL(lst->next->next->next->content); - - TEST_ASSERT_EQUAL(-3, *(int*)lst->content); - TEST_ASSERT_EQUAL(-1, *(int*)lst->next->content); - TEST_ASSERT_EQUAL(1, *(int*)lst->next->next->content); - TEST_ASSERT_EQUAL(4, *(int*)lst->next->next->next->content); -} diff --git a/test/src/lst/test_ft_lstsorted_merge.c b/test/src/lst/test_ft_lstsorted_merge.c deleted file mode 100644 index 4c548c9..0000000 --- a/test/src/lst/test_ft_lstsorted_merge.c +++ /dev/null @@ -1,40 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_lstsorted_merge); - -TEST_SETUP(ft_lstsorted_merge) -{} - -TEST_TEAR_DOWN(ft_lstsorted_merge) -{} - -TEST(ft_lstsorted_merge, basic) -{ - t_ftlst *lst1 = NULL; - t_ftlst *lst2 = NULL; - int a = 1; - int b = 2; - int c = 3; - int d = 4; - int e = 5; - - ft_lstadd_front(&lst1, ft_lstnew(&a)); - ft_lstadd_front(&lst1, ft_lstnew(&d)); - ft_lstadd_front(&lst1, ft_lstnew(&e)); - ft_lstadd_front(&lst1, ft_lstnew(&d)); - ft_lstadd_front(&lst1, ft_lstnew(&a)); - - ft_lstadd_front(&lst2, ft_lstnew(&e)); - ft_lstadd_front(&lst2, ft_lstnew(&a)); - ft_lstadd_front(&lst2, ft_lstnew(&b)); - ft_lstadd_front(&lst2, ft_lstnew(&d)); - ft_lstadd_front(&lst2, ft_lstnew(&c)); - - ft_lstsort(&lst1, ft_compar_int); - ft_lstsort(&lst2, ft_compar_int); - - lst1 = ft_lstsorted_merge(lst1, lst2, ft_compar_int); - for (; lst1->next != NULL; lst1 = lst1->next) - if (ft_compar_int(lst1->content, lst1->next->content) > 0) - TEST_FAIL(); -} diff --git a/test/src/main.c b/test/src/main.c deleted file mode 100644 index e93c623..0000000 --- a/test/src/main.c +++ /dev/null @@ -1,76 +0,0 @@ -#include "libft_test.h" - -static void run_all_test(void) -{ - // ctype - RUN_TEST_GROUP(ft_isalnum); - RUN_TEST_GROUP(ft_isalpha); - RUN_TEST_GROUP(ft_isascii); - RUN_TEST_GROUP(ft_isblank); - RUN_TEST_GROUP(ft_isdigit); - RUN_TEST_GROUP(ft_isprint); - RUN_TEST_GROUP(ft_isspace); - RUN_TEST_GROUP(ft_todigit); - RUN_TEST_GROUP(ft_tolower); - RUN_TEST_GROUP(ft_toupper); - - // mem - RUN_TEST_GROUP(ft_bzero); - RUN_TEST_GROUP(ft_calloc); - RUN_TEST_GROUP(ft_memccpy); - RUN_TEST_GROUP(ft_memchr); - RUN_TEST_GROUP(ft_memcmp); - RUN_TEST_GROUP(ft_memcpy); - RUN_TEST_GROUP(ft_memmem); - RUN_TEST_GROUP(ft_memmove); - RUN_TEST_GROUP(ft_memset); - RUN_TEST_GROUP(ft_memset_pattern4); - RUN_TEST_GROUP(ft_memswap); - - // str - RUN_TEST_GROUP(ft_strlen); - - // ht - RUN_TEST_GROUP(ft_htcontent_new); - RUN_TEST_GROUP(ft_htnew); - RUN_TEST_GROUP(ft_htget); - RUN_TEST_GROUP(ft_htset); - RUN_TEST_GROUP(ft_htdelone); - RUN_TEST_GROUP(ft_htdestroy); - - // algo - RUN_TEST_GROUP(ft_bsearch); - RUN_TEST_GROUP(ft_compar_int); - RUN_TEST_GROUP(ft_heapsort); - RUN_TEST_GROUP(ft_is_set); - RUN_TEST_GROUP(ft_lfind); - RUN_TEST_GROUP(ft_lsearch); - RUN_TEST_GROUP(ft_mergesort); - RUN_TEST_GROUP(ft_qsort); - RUN_TEST_GROUP(ft_reverse); - - // lst - RUN_TEST_GROUP(ft_lstadd_back); - RUN_TEST_GROUP(ft_lstadd_front); - RUN_TEST_GROUP(ft_lstbsearch); - RUN_TEST_GROUP(ft_lstlsearch); - RUN_TEST_GROUP(ft_lstlfind); - RUN_TEST_GROUP(ft_lstclear); - RUN_TEST_GROUP(ft_lstdelone); - RUN_TEST_GROUP(ft_lstiter); - RUN_TEST_GROUP(ft_lstlast); - RUN_TEST_GROUP(ft_lstmap); - RUN_TEST_GROUP(ft_lstnew); - RUN_TEST_GROUP(ft_lstpop_front); - RUN_TEST_GROUP(ft_lstremove_if); - RUN_TEST_GROUP(ft_lstreverse); - RUN_TEST_GROUP(ft_lstreverse_ret); - RUN_TEST_GROUP(ft_lstsize); - RUN_TEST_GROUP(ft_lstsort); - RUN_TEST_GROUP(ft_lstsorted_merge); -} - -int main(int argc, const char **argv) -{ - return UnityMain(argc, argv, run_all_test); -} diff --git a/test/src/mem/test_ft_bzero.c b/test/src/mem/test_ft_bzero.c deleted file mode 100644 index 20e560d..0000000 --- a/test/src/mem/test_ft_bzero.c +++ /dev/null @@ -1,30 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* test_ft_bzero.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/13 03:32:20 by cacharle #+# #+# */ -/* Updated: 2020/02/13 04:30:39 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_test.h" - -TEST_GROUP(ft_bzero); - -TEST_SETUP(ft_bzero) -{} - -TEST_TEAR_DOWN(ft_bzero) -{} - -TEST(ft_bzero, basic) -{ - char buf[32] = {'a'}; - - ft_bzero(buf, 32); - for (int i = 0; i < 32; i++) - TEST_ASSERT_EQUAL(0x0, buf[i]); -} diff --git a/test/src/mem/test_ft_calloc.c b/test/src/mem/test_ft_calloc.c deleted file mode 100644 index 0df9b95..0000000 --- a/test/src/mem/test_ft_calloc.c +++ /dev/null @@ -1,33 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_calloc); - -TEST_SETUP(ft_calloc) -{} - -TEST_TEAR_DOWN(ft_calloc) -{} - -TEST(ft_calloc, basic) -{ - char *ptr = NULL; - - ptr = ft_calloc(45, sizeof(char)); - TEST_ASSERT_NOT_NULL(ptr); -#ifdef __APPLE__ - TEST_ASSERT_GREATER_THAN(45 * sizeof(char) - 1, malloc_size(ptr)); -#endif - for (int i = 0; i < 45; i++) - TEST_ASSERT_EQUAL(0x0, ptr[i]); - /* free(ptr); */ - - int *ptrint = NULL; - ptrint = ft_calloc(10, sizeof(int)); - TEST_ASSERT_NOT_NULL(ptr); -#ifdef __APPLE__ - TEST_ASSERT_GREATER_THAN(10 * sizeof(int) - 1, malloc_size(ptrint)); -#endif - for (int i = 0; i < 10; i++) - TEST_ASSERT_EQUAL(0x0, ptrint[i]); - /* free(ptrint); */ -} diff --git a/test/src/mem/test_ft_memccpy.c b/test/src/mem/test_ft_memccpy.c deleted file mode 100644 index 39925a1..0000000 --- a/test/src/mem/test_ft_memccpy.c +++ /dev/null @@ -1,45 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* test_ft_memccpy.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/13 03:34:13 by cacharle #+# #+# */ -/* Updated: 2020/02/13 19:35:17 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_test.h" - -TEST_GROUP(ft_memccpy); - -TEST_SETUP(ft_memccpy) -{} - -TEST_TEAR_DOWN(ft_memccpy) -{} - -TEST(ft_memccpy, basic) -{ - char buf[32] = "bonjour"; - char buf2[32] = {0}; - - char *ptr = ft_memccpy(buf2, buf, 0x0, 32); - TEST_ASSERT_EQUAL_PTR(&buf2[8], ptr); - for (int i = 0; i < 32; i++) - TEST_ASSERT_EQUAL_CHAR(buf[i], buf2[i]); - - ptr = ft_memccpy(buf2, buf, 0x1, 32); - TEST_ASSERT_NULL(ptr); - for (int i = 0; i < 32; i++) - TEST_ASSERT_EQUAL_CHAR(buf[i], buf2[i]); - - char buf3[10] = "aurevoir"; - ptr = ft_memccpy(buf, buf3, 'e', 10); - TEST_ASSERT_EQUAL_PTR(buf + 4, ptr); - for (int i = 0; i < 4; i++) - TEST_ASSERT_EQUAL_CHAR(buf[i], buf3[i]); - for (int i = 4; i < 32; i++) - TEST_ASSERT_EQUAL_CHAR(buf[i], buf2[i]); -} diff --git a/test/src/mem/test_ft_memchr.c b/test/src/mem/test_ft_memchr.c deleted file mode 100644 index 135edfb..0000000 --- a/test/src/mem/test_ft_memchr.c +++ /dev/null @@ -1,35 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* test_ft_memchr.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/13 03:33:14 by cacharle #+# #+# */ -/* Updated: 2020/02/13 19:38:17 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_test.h" - -TEST_GROUP(ft_memchr); - -TEST_SETUP(ft_memchr) -{} - -TEST_TEAR_DOWN(ft_memchr) -{} - -TEST(ft_memchr, basic) -{ - char *a = "bonjour"; - - char *ptr = ft_memchr(a, 'j', sizeof(a)); - TEST_ASSERT_EQUAL_PTR(a + 3, ptr); - - ptr = ft_memchr(a, 'z', sizeof(a)); - TEST_ASSERT_NULL(ptr); - - ptr = ft_memchr(a, '\0', sizeof(a)); - TEST_ASSERT_EQUAL_PTR(a + 7, ptr); -} diff --git a/test/src/mem/test_ft_memcmp.c b/test/src/mem/test_ft_memcmp.c deleted file mode 100644 index 81871a1..0000000 --- a/test/src/mem/test_ft_memcmp.c +++ /dev/null @@ -1,42 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* test_ft_memcmp.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/13 03:32:16 by cacharle #+# #+# */ -/* Updated: 2020/02/13 19:41:08 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_test.h" - -TEST_GROUP(ft_memcmp); - -TEST_SETUP(ft_memcmp) -{} - -TEST_TEAR_DOWN(ft_memcmp) -{} - -TEST(ft_memcmp, basic) -{ - char buf1[32] = "bonjour"; - char buf2[32] = "bonjoure"; - - int res = ft_memcmp(buf1, buf2, 32); - TEST_ASSERT_LESS_THAN(0, res); - - res = ft_memcmp(buf2, buf1, 32); - TEST_ASSERT_GREATER_THAN(0, res); - - res = ft_memcmp(buf2, buf1, 7); - TEST_ASSERT_EQUAL(0, res); - res = ft_memcmp(buf2, buf1, 6); - TEST_ASSERT_EQUAL(0, res); - res = ft_memcmp(buf2, buf1, 3); - TEST_ASSERT_EQUAL(0, res); - res = ft_memcmp(buf2, buf1, 0); - TEST_ASSERT_EQUAL(0, res); -} diff --git a/test/src/mem/test_ft_memcpy.c b/test/src/mem/test_ft_memcpy.c deleted file mode 100644 index 3afe817..0000000 --- a/test/src/mem/test_ft_memcpy.c +++ /dev/null @@ -1,47 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* test_ft_memcpy.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/13 03:33:22 by cacharle #+# #+# */ -/* Updated: 2020/02/13 04:27:55 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_test.h" - -TEST_GROUP(ft_memcpy); - -TEST_SETUP(ft_memcpy) -{} - -TEST_TEAR_DOWN(ft_memcpy) -{} - -TEST(ft_memcpy, basic) -{ - void *ptr; - unsigned char buf1[32] = {0}; - unsigned char buf2[32] = "bonjour"; - - ptr = ft_memcpy(buf1, buf2, 32); - TEST_ASSERT_NOT_NULL(ptr); - TEST_ASSERT_EQUAL_PTR(buf1, ptr); - TEST_ASSERT_EQUAL(0, memcmp(buf1, buf2, 32)); - - ptr = ft_memcpy(buf1, "yo", 3); - TEST_ASSERT_NOT_NULL(ptr); - TEST_ASSERT_EQUAL_PTR(buf1, ptr); - TEST_ASSERT_EQUAL(0, memcmp(buf1, "yo", 3)); - TEST_ASSERT_EQUAL(0, memcmp(buf1 + 3, buf2 + 3, 32 - 3)); - - char saved[32]; - - memcpy(saved, buf2, 32); - ptr = ft_memcpy(buf2, "", 0); - TEST_ASSERT_NOT_NULL(ptr); - TEST_ASSERT_EQUAL_PTR(buf2, ptr); - TEST_ASSERT_EQUAL(0, memcmp(buf2, saved, 32)); -} diff --git a/test/src/mem/test_ft_memmem.c b/test/src/mem/test_ft_memmem.c deleted file mode 100644 index 67514a5..0000000 --- a/test/src/mem/test_ft_memmem.c +++ /dev/null @@ -1,65 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* test_ft_memmem.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/13 03:33:50 by cacharle #+# #+# */ -/* Updated: 2020/02/13 21:04:22 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_test.h" - -TEST_GROUP(ft_memmem); - -TEST_SETUP(ft_memmem) -{} - -TEST_TEAR_DOWN(ft_memmem) -{} - -TEST(ft_memmem, basic) -{ - char haystack[32] = "bonjour"; - char *ptr; - - ptr = ft_memmem(haystack, sizeof(haystack), "jour\0", 5); - TEST_ASSERT_EQUAL_PTR(haystack + 3, ptr); - - ptr = ft_memmem(haystack, sizeof(haystack), "jour", 4); - TEST_ASSERT_EQUAL_PTR(haystack + 3, ptr); - - ptr = ft_memmem(haystack, sizeof(haystack), "jo", 2); - TEST_ASSERT_EQUAL_PTR(haystack + 3, ptr); - - ptr = ft_memmem(haystack, sizeof(haystack), "j", 1); - TEST_ASSERT_EQUAL_PTR(haystack + 3, ptr); - - ptr = ft_memmem(haystack, sizeof(haystack), "yo", 2); - TEST_ASSERT_NULL(ptr); - - ptr = ft_memmem(haystack, sizeof(haystack), "\0", 1); - TEST_ASSERT_EQUAL_PTR(haystack + 7, ptr); - - ptr = ft_memmem(haystack, sizeof(haystack), "bon", 3); - TEST_ASSERT_EQUAL_PTR(haystack, ptr); - - ptr = ft_memmem(haystack, sizeof(haystack), "on", 2); - TEST_ASSERT_EQUAL_PTR(haystack + 1, ptr); -} - -TEST(ft_memmem, invalid_len) -{ - char buf[32] = {0}; - - void *ptr = ft_memmem(buf, 2, "jour", 4); - TEST_ASSERT_NULL(ptr); - - ptr = ft_memmem(buf, 0, "jour", 4); - TEST_ASSERT_NULL(ptr); - - ptr = ft_memmem(buf, 2, "jour", 0); - TEST_ASSERT_NULL(ptr); -} diff --git a/test/src/mem/test_ft_memmove.c b/test/src/mem/test_ft_memmove.c deleted file mode 100644 index 158cda9..0000000 --- a/test/src/mem/test_ft_memmove.c +++ /dev/null @@ -1,39 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* test_ft_memmove.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/13 03:34:21 by cacharle #+# #+# */ -/* Updated: 2020/02/13 19:49:07 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_test.h" - -TEST_GROUP(ft_memmove); - -TEST_SETUP(ft_memmove) -{} - -TEST_TEAR_DOWN(ft_memmove) -{} - -TEST(ft_memmove, basic) -{ - char buf1[32] = "bonjour"; - - char *ptr = ft_memmove(buf1, buf1 + 2, 29); - TEST_ASSERT_EQUAL_PTR(buf1, ptr); - TEST_ASSERT_EQUAL_STRING("njour", buf1); - - ptr = ft_memmove(buf1 + 2, buf1, 29); - TEST_ASSERT_EQUAL_PTR(buf1 + 2, ptr); - TEST_ASSERT_EQUAL_STRING("njour", ptr); - TEST_ASSERT_EQUAL_STRING("njnjour", buf1); - - ptr = ft_memmove(buf1, buf1, 32); - TEST_ASSERT_EQUAL_PTR(buf1, ptr); - TEST_ASSERT_EQUAL_STRING("njnjour", ptr); -} diff --git a/test/src/mem/test_ft_memset.c b/test/src/mem/test_ft_memset.c deleted file mode 100644 index 7ec5846..0000000 --- a/test/src/mem/test_ft_memset.c +++ /dev/null @@ -1,42 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* test_ft_memset.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/13 03:32:28 by cacharle #+# #+# */ -/* Updated: 2020/02/13 04:21:58 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_test.h" - -TEST_GROUP(ft_memset); - -TEST_SETUP(ft_memset) -{} - -TEST_TEAR_DOWN(ft_memset) -{} - -TEST(ft_memset, basic) -{ - int i; - unsigned char buf[32] = {0}; - - ft_memset(buf, 0xfa, 32); - for (i = 0; i < 32; i++) - TEST_ASSERT_EQUAL(0xfa, buf[i]); - - ft_memset(buf, 0x00, 15); - for (i = 0; i < 15; i++) - TEST_ASSERT_EQUAL(0x00, buf[i]); - while (i++ < 31) - TEST_ASSERT_EQUAL(0xfa, buf[i]); - - ft_memset(buf, 0x10, 31); - for (int i = 0; i < 31; i++) - TEST_ASSERT_EQUAL(0x10, buf[i]); - TEST_ASSERT_EQUAL(0xfa, buf[31]); -} diff --git a/test/src/mem/test_ft_memset_pattern4.c b/test/src/mem/test_ft_memset_pattern4.c deleted file mode 100644 index 0e2806a..0000000 --- a/test/src/mem/test_ft_memset_pattern4.c +++ /dev/null @@ -1,42 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* test_ft_memset_pattern4.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/13 03:32:43 by cacharle #+# #+# */ -/* Updated: 2020/02/13 19:57:48 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_test.h" - -TEST_GROUP(ft_memset_pattern4); - -TEST_SETUP(ft_memset_pattern4) -{} - -TEST_TEAR_DOWN(ft_memset_pattern4) -{} - -TEST(ft_memset_pattern4, basic) -{ - char buf[17] = {0}; - char *pattern4 = "1234"; - - ft_memset_pattern4(buf, pattern4, 16); - TEST_ASSERT_EQUAL_STRING("1234123412341234", buf); - - char buf1[10] = {0}; - ft_memset_pattern4(buf1, "1234", 9); - TEST_ASSERT_EQUAL_STRING("123412341", buf1); - - char buf2[11] = {0}; - ft_memset_pattern4(buf2, "1234", 10); - TEST_ASSERT_EQUAL_STRING("1234123412", buf2); - - char buf3[12] = {0}; - ft_memset_pattern4(buf3, "1234", 11); - TEST_ASSERT_EQUAL_STRING("12341234123", buf3); -} diff --git a/test/src/mem/test_ft_memswap.c b/test/src/mem/test_ft_memswap.c deleted file mode 100644 index 72c3402..0000000 --- a/test/src/mem/test_ft_memswap.c +++ /dev/null @@ -1,41 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* test_ft_memswap.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/13 03:38:27 by cacharle #+# #+# */ -/* Updated: 2020/02/13 04:18:14 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_test.h" - -TEST_GROUP(ft_memswap); - -TEST_SETUP(ft_memswap) -{} - -TEST_TEAR_DOWN(ft_memswap) -{} - -TEST(ft_memswap, basic) -{ - char buf1[32] = "bonjour"; - char buf2[32] = "aurevoir"; - ft_memswap(buf1, buf2, 32); - TEST_ASSERT_EQUAL_STRING("bonjour", buf2); - TEST_ASSERT_EQUAL_STRING("aurevoir", buf1); - ft_memswap(buf1, buf2, 3); - TEST_ASSERT_EQUAL_STRING("aurjour", buf2); - TEST_ASSERT_EQUAL_STRING("bonevoir", buf1); - ft_memswap(buf1, buf2, 0); - TEST_ASSERT_EQUAL_STRING("aurjour", buf2); - TEST_ASSERT_EQUAL_STRING("bonevoir", buf1); - int a = 1234567; - int b = 7654321; - ft_memswap(&a, &b, sizeof(int)); - TEST_ASSERT_EQUAL(7654321, a); - TEST_ASSERT_EQUAL(1234567, b); -} diff --git a/test/src/runner/test_runner_algo.c b/test/src/runner/test_runner_algo.c deleted file mode 100644 index 8873797..0000000 --- a/test/src/runner/test_runner_algo.c +++ /dev/null @@ -1,59 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* test_runner_algo.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/13 21:25:52 by cacharle #+# #+# */ -/* Updated: 2020/02/13 21:37:15 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_test.h" - - -TEST_GROUP_RUNNER(ft_bsearch) -{ - RUN_TEST_CASE(ft_bsearch, basic); -} - -TEST_GROUP_RUNNER(ft_compar_int) -{ - RUN_TEST_CASE(ft_compar_int, basic); -} - -TEST_GROUP_RUNNER(ft_heapsort) -{ - RUN_TEST_CASE(ft_heapsort, basic); -} - -TEST_GROUP_RUNNER(ft_is_set) -{ - RUN_TEST_CASE(ft_is_set, basic); -} - -TEST_GROUP_RUNNER(ft_lfind) -{ - RUN_TEST_CASE(ft_lfind, basic); -} - -TEST_GROUP_RUNNER(ft_lsearch) -{ - RUN_TEST_CASE(ft_lsearch, basic); -} - -TEST_GROUP_RUNNER(ft_mergesort) -{ - RUN_TEST_CASE(ft_mergesort, basic); -} - -TEST_GROUP_RUNNER(ft_qsort) -{ - RUN_TEST_CASE(ft_qsort, basic); -} - -TEST_GROUP_RUNNER(ft_reverse) -{ - RUN_TEST_CASE(ft_reverse, basic); -} diff --git a/test/src/runner/test_runner_ctype.c b/test/src/runner/test_runner_ctype.c deleted file mode 100644 index 7f9148e..0000000 --- a/test/src/runner/test_runner_ctype.c +++ /dev/null @@ -1,64 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* test_runner_ctype.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/12 22:44:43 by cacharle #+# #+# */ -/* Updated: 2020/02/12 23:13:02 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_test.h" - -TEST_GROUP_RUNNER(ft_isalnum) -{ - RUN_TEST_CASE(ft_isalnum, base); -} - -TEST_GROUP_RUNNER(ft_isalpha) -{ - RUN_TEST_CASE(ft_isalpha, base); -} - -TEST_GROUP_RUNNER(ft_isascii) -{ - RUN_TEST_CASE(ft_isascii, base); -} - -TEST_GROUP_RUNNER(ft_isblank) -{ - RUN_TEST_CASE(ft_isblank, base); -} - -TEST_GROUP_RUNNER(ft_isdigit) -{ - RUN_TEST_CASE(ft_isdigit, base); -} - -TEST_GROUP_RUNNER(ft_isprint) -{ - RUN_TEST_CASE(ft_isprint, base); -} - -TEST_GROUP_RUNNER(ft_isspace) -{ - RUN_TEST_CASE(ft_isspace, base); -} - -TEST_GROUP_RUNNER(ft_todigit) -{ - RUN_TEST_CASE(ft_todigit, base); -} - -TEST_GROUP_RUNNER(ft_tolower) -{ - RUN_TEST_CASE(ft_tolower, base); -} - -TEST_GROUP_RUNNER(ft_toupper) -{ - RUN_TEST_CASE(ft_toupper, base); -} - diff --git a/test/src/runner/test_runner_ht.c b/test/src/runner/test_runner_ht.c deleted file mode 100644 index 6f83006..0000000 --- a/test/src/runner/test_runner_ht.c +++ /dev/null @@ -1,51 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* test_runner_ht.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/12 22:44:39 by cacharle #+# #+# */ -/* Updated: 2020/02/19 02:46:34 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_test.h" - -TEST_GROUP_RUNNER(ft_htcontent_new) -{ - RUN_TEST_CASE(ft_htcontent_new, basic); -} - -TEST_GROUP_RUNNER(ft_htnew) -{ - RUN_TEST_CASE(ft_htnew, segfault); - RUN_TEST_CASE(ft_htnew, error_null); - RUN_TEST_CASE(ft_htnew, happy_path); -} - -TEST_GROUP_RUNNER(ft_htget) -{ - RUN_TEST_CASE(ft_htget, segfault); - RUN_TEST_CASE(ft_htget, error_null); - RUN_TEST_CASE(ft_htget, basic); -} - -TEST_GROUP_RUNNER(ft_htset) -{ - RUN_TEST_CASE(ft_htset, segfault); - RUN_TEST_CASE(ft_htset, error_null); - RUN_TEST_CASE(ft_htset, happy_path); - RUN_TEST_CASE(ft_htset, reset); - RUN_TEST_CASE(ft_htset, collision); -} - -TEST_GROUP_RUNNER(ft_htdelone) -{ - RUN_TEST_CASE(ft_htdelone, basic); -} - -TEST_GROUP_RUNNER(ft_htdestroy) -{ - RUN_TEST_CASE(ft_htdestroy, basic); -} diff --git a/test/src/runner/test_runner_lst.c b/test/src/runner/test_runner_lst.c deleted file mode 100644 index 483e120..0000000 --- a/test/src/runner/test_runner_lst.c +++ /dev/null @@ -1,103 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* test_runner_lst.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/15 03:54:05 by cacharle #+# #+# */ -/* Updated: 2020/02/17 03:24:41 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_test.h" - -TEST_GROUP_RUNNER(ft_lstadd_back) -{ - RUN_TEST_CASE(ft_lstadd_back, basic); -} - -TEST_GROUP_RUNNER(ft_lstadd_front) -{ - RUN_TEST_CASE(ft_lstadd_front, basic); -} - -TEST_GROUP_RUNNER(ft_lstbsearch) -{ - RUN_TEST_CASE(ft_lstbsearch, basic); -} - -TEST_GROUP_RUNNER(ft_lstlsearch) -{ - RUN_TEST_CASE(ft_lstlsearch, basic); -} - -TEST_GROUP_RUNNER(ft_lstlfind) -{ - RUN_TEST_CASE(ft_lstlfind, basic); -} - -TEST_GROUP_RUNNER(ft_lstclear) -{ - RUN_TEST_CASE(ft_lstclear, basic); -} - -TEST_GROUP_RUNNER(ft_lstdelone) -{ - RUN_TEST_CASE(ft_lstdelone, basic); -} - -TEST_GROUP_RUNNER(ft_lstiter) -{ - RUN_TEST_CASE(ft_lstiter, basic); -} - -TEST_GROUP_RUNNER(ft_lstlast) -{ - RUN_TEST_CASE(ft_lstlast, basic); -} - -TEST_GROUP_RUNNER(ft_lstmap) -{ - RUN_TEST_CASE(ft_lstmap, basic); -} - -TEST_GROUP_RUNNER(ft_lstnew) -{ - RUN_TEST_CASE(ft_lstnew, basic); -} - -TEST_GROUP_RUNNER(ft_lstpop_front) -{ - RUN_TEST_CASE(ft_lstpop_front, basic); -} - -TEST_GROUP_RUNNER(ft_lstremove_if) -{ - RUN_TEST_CASE(ft_lstremove_if, basic); -} - -TEST_GROUP_RUNNER(ft_lstreverse) -{ - RUN_TEST_CASE(ft_lstreverse, basic); -} - -TEST_GROUP_RUNNER(ft_lstreverse_ret) -{ - RUN_TEST_CASE(ft_lstreverse_ret, basic); -} - -TEST_GROUP_RUNNER(ft_lstsize) -{ - RUN_TEST_CASE(ft_lstsize, basic); -} - -TEST_GROUP_RUNNER(ft_lstsort) -{ - RUN_TEST_CASE(ft_lstsort, basic); -} - -TEST_GROUP_RUNNER(ft_lstsorted_merge) -{ - RUN_TEST_CASE(ft_lstsorted_merge, basic); -} diff --git a/test/src/runner/test_runner_mem.c b/test/src/runner/test_runner_mem.c deleted file mode 100644 index 093d064..0000000 --- a/test/src/runner/test_runner_mem.c +++ /dev/null @@ -1,69 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* test_runner_mem.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2020/02/13 03:36:16 by cacharle #+# #+# */ -/* Updated: 2020/02/13 20:40:24 by cacharle ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft_test.h" - -TEST_GROUP_RUNNER(ft_bzero) -{ - RUN_TEST_CASE(ft_bzero, basic); -} - -TEST_GROUP_RUNNER(ft_calloc) -{ - RUN_TEST_CASE(ft_calloc, basic); -} - -TEST_GROUP_RUNNER(ft_memccpy) -{ - RUN_TEST_CASE(ft_memccpy, basic); -} - -TEST_GROUP_RUNNER(ft_memchr) -{ - RUN_TEST_CASE(ft_memchr, basic); -} - -TEST_GROUP_RUNNER(ft_memcmp) -{ - RUN_TEST_CASE(ft_memcmp, basic); -} - -TEST_GROUP_RUNNER(ft_memcpy) -{ - RUN_TEST_CASE(ft_memcpy, basic); -} - -TEST_GROUP_RUNNER(ft_memmem) -{ - RUN_TEST_CASE(ft_memmem, basic); - RUN_TEST_CASE(ft_memmem, invalid_len); -} - -TEST_GROUP_RUNNER(ft_memmove) -{ - RUN_TEST_CASE(ft_memmove, basic); -} - -TEST_GROUP_RUNNER(ft_memset) -{ - RUN_TEST_CASE(ft_memset, basic); -} - -TEST_GROUP_RUNNER(ft_memset_pattern4) -{ - RUN_TEST_CASE(ft_memset_pattern4, basic); -} - -TEST_GROUP_RUNNER(ft_memswap) -{ - RUN_TEST_CASE(ft_memswap, basic); -} diff --git a/test/src/runner/test_runner_str.c b/test/src/runner/test_runner_str.c deleted file mode 100644 index 3d829ad..0000000 --- a/test/src/runner/test_runner_str.c +++ /dev/null @@ -1,6 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP_RUNNER(ft_strlen) -{ - RUN_TEST_CASE(ft_strlen, basic); -} diff --git a/test/src/str/test_ft_strlen.c b/test/src/str/test_ft_strlen.c deleted file mode 100644 index f251fc6..0000000 --- a/test/src/str/test_ft_strlen.c +++ /dev/null @@ -1,24 +0,0 @@ -#include "libft_test.h" - -TEST_GROUP(ft_strlen); - -TEST_SETUP(ft_strlen) -{} - -TEST_TEAR_DOWN(ft_strlen) -{} - -#define TEST_ASSERT_FT_STRLEN(str) do { \ - if (strlen(str) != ft_strlen(str)) \ - TEST_FAIL(); \ -} while(0); - -TEST(ft_strlen, basic) -{ - TEST_ASSERT_FT_STRLEN(""); - TEST_ASSERT_FT_STRLEN("bonjour"); - TEST_ASSERT_FT_STRLEN("1"); - TEST_ASSERT_FT_STRLEN("asodifuaosidjoiasjdfoijasklfqwkberkjqwerkjqwlkenrmnqwerjkqwehfakjs"); - TEST_ASSERT_FT_STRLEN("im\0hidden"); - TEST_ASSERT_FT_STRLEN("987987\xff\xee\xaasdfioxcv"); -} diff --git a/vendor/_unity/LICENSE.txt b/vendor/_unity/LICENSE.txt deleted file mode 100644 index d66fba5..0000000 --- a/vendor/_unity/LICENSE.txt +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) <year> 2007-14 Mike Karlesky, Mark VanderVoord, Greg Williams - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/vendor/_unity/Makefile b/vendor/_unity/Makefile deleted file mode 100644 index d9700ea..0000000 --- a/vendor/_unity/Makefile +++ /dev/null @@ -1,41 +0,0 @@ -# **************************************************************************** # -# # -# ::: :::::::: # -# Makefile :+: :+: :+: # -# +:+ +:+ +:+ # -# By: cacharle <marvin@42.fr> +#+ +:+ +#+ # -# +#+#+#+#+#+ +#+ # -# Created: 2020/01/31 07:27:12 by cacharle #+# #+# # -# Updated: 2020/01/31 08:39:24 by cacharle ### ########.fr # -# # -# **************************************************************************** # - -CC = gcc -CCFLAGS = -Iinclude -Wall -Wextra -Werror - -NAME = libunity.a - -INCLUDE = $(shell find include -type f -name "*.h") -SRC = $(shell find src -type f -name "*.c") -OBJ = $(SRC:.c=.o) - -.PHONY: all -all: $(NAME) - -$(NAME): $(OBJ) - @echo "Unity: Linking: $@" - @ar rcs $@ $^ - -%.o: %.c $(INCLUDE) - @echo "Unity: Compiling: $@" - @$(CC) $(CCFLAGS) -c -o $@ $< - -clean: - @echo "Unity: Removing objects" - @rm -f $(OBJ) - -fclean: clean - @echo "Unity: Removing: $(NAME)" - @rm -f $(NAME) - -re: fclean all diff --git a/vendor/_unity/README.md b/vendor/_unity/README.md deleted file mode 100644 index e6e7ea2..0000000 --- a/vendor/_unity/README.md +++ /dev/null @@ -1,191 +0,0 @@ -Unity Test API -============== - -[](https://travis-ci.org/ThrowTheSwitch/Unity) -__Copyright (c) 2007 - 2020 Unity Project by Mike Karlesky, Mark VanderVoord, and Greg Williams__ - -Getting Started -=============== -The [docs](docs/) folder contains a [getting started guide](docs/UnityGettingStartedGuide.md) -and much more tips about using Unity. - -Unity Assertion Summary -======================= -For the full list, see [UnityAssertionsReference.md](docs/UnityAssertionsReference.md). - -Basic Validity Tests --------------------- - - TEST_ASSERT_TRUE(condition) - -Evaluates whatever code is in condition and fails if it evaluates to false - - TEST_ASSERT_FALSE(condition) - -Evaluates whatever code is in condition and fails if it evaluates to true - - TEST_ASSERT(condition) - -Another way of calling `TEST_ASSERT_TRUE` - - TEST_ASSERT_UNLESS(condition) - -Another way of calling `TEST_ASSERT_FALSE` - - TEST_FAIL() - TEST_FAIL_MESSAGE(message) - -This test is automatically marked as a failure. The message is output stating why. - -Numerical Assertions: Integers ------------------------------- - - TEST_ASSERT_EQUAL_INT(expected, actual) - TEST_ASSERT_EQUAL_INT8(expected, actual) - TEST_ASSERT_EQUAL_INT16(expected, actual) - TEST_ASSERT_EQUAL_INT32(expected, actual) - TEST_ASSERT_EQUAL_INT64(expected, actual) - -Compare two integers for equality and display errors as signed integers. A cast will be performed -to your natural integer size so often this can just be used. When you need to specify the exact size, -like when comparing arrays, you can use a specific version: - - TEST_ASSERT_EQUAL_UINT(expected, actual) - TEST_ASSERT_EQUAL_UINT8(expected, actual) - TEST_ASSERT_EQUAL_UINT16(expected, actual) - TEST_ASSERT_EQUAL_UINT32(expected, actual) - TEST_ASSERT_EQUAL_UINT64(expected, actual) - -Compare two integers for equality and display errors as unsigned integers. Like INT, there are -variants for different sizes also. - - TEST_ASSERT_EQUAL_HEX(expected, actual) - TEST_ASSERT_EQUAL_HEX8(expected, actual) - TEST_ASSERT_EQUAL_HEX16(expected, actual) - TEST_ASSERT_EQUAL_HEX32(expected, actual) - TEST_ASSERT_EQUAL_HEX64(expected, actual) - -Compares two integers for equality and display errors as hexadecimal. Like the other integer comparisons, -you can specify the size... here the size will also effect how many nibbles are shown (for example, `HEX16` -will show 4 nibbles). - - TEST_ASSERT_EQUAL(expected, actual) - -Another way of calling TEST_ASSERT_EQUAL_INT - - TEST_ASSERT_INT_WITHIN(delta, expected, actual) - -Asserts that the actual value is within plus or minus delta of the expected value. This also comes in -size specific variants. - - - TEST_ASSERT_GREATER_THAN(threshold, actual) - -Asserts that the actual value is greater than the threshold. This also comes in size specific variants. - - - TEST_ASSERT_LESS_THAN(threshold, actual) - -Asserts that the actual value is less than the threshold. This also comes in size specific variants. - - -Arrays ------- - - _ARRAY - -You can append `_ARRAY` to any of these macros to make an array comparison of that type. Here you will -need to care a bit more about the actual size of the value being checked. You will also specify an -additional argument which is the number of elements to compare. For example: - - TEST_ASSERT_EQUAL_HEX8_ARRAY(expected, actual, elements) - - _EACH_EQUAL - -Another array comparison option is to check that EVERY element of an array is equal to a single expected -value. You do this by specifying the EACH_EQUAL macro. For example: - - TEST_ASSERT_EACH_EQUAL_INT32(expected, actual, elements) - -Numerical Assertions: Bitwise ------------------------------ - - TEST_ASSERT_BITS(mask, expected, actual) - -Use an integer mask to specify which bits should be compared between two other integers. High bits in the mask are compared, low bits ignored. - - TEST_ASSERT_BITS_HIGH(mask, actual) - -Use an integer mask to specify which bits should be inspected to determine if they are all set high. High bits in the mask are compared, low bits ignored. - - TEST_ASSERT_BITS_LOW(mask, actual) - -Use an integer mask to specify which bits should be inspected to determine if they are all set low. High bits in the mask are compared, low bits ignored. - - TEST_ASSERT_BIT_HIGH(bit, actual) - -Test a single bit and verify that it is high. The bit is specified 0-31 for a 32-bit integer. - - TEST_ASSERT_BIT_LOW(bit, actual) - -Test a single bit and verify that it is low. The bit is specified 0-31 for a 32-bit integer. - -Numerical Assertions: Floats ----------------------------- - - TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual) - -Asserts that the actual value is within plus or minus delta of the expected value. - - TEST_ASSERT_EQUAL_FLOAT(expected, actual) - TEST_ASSERT_EQUAL_DOUBLE(expected, actual) - -Asserts that two floating point values are "equal" within a small % delta of the expected value. - -String Assertions ------------------ - - TEST_ASSERT_EQUAL_STRING(expected, actual) - -Compare two null-terminate strings. Fail if any character is different or if the lengths are different. - - TEST_ASSERT_EQUAL_STRING_LEN(expected, actual, len) - -Compare two strings. Fail if any character is different, stop comparing after len characters. - - TEST_ASSERT_EQUAL_STRING_MESSAGE(expected, actual, message) - -Compare two null-terminate strings. Fail if any character is different or if the lengths are different. Output a custom message on failure. - - TEST_ASSERT_EQUAL_STRING_LEN_MESSAGE(expected, actual, len, message) - -Compare two strings. Fail if any character is different, stop comparing after len characters. Output a custom message on failure. - -Pointer Assertions ------------------- - -Most pointer operations can be performed by simply using the integer comparisons above. However, a couple of special cases are added for clarity. - - TEST_ASSERT_NULL(pointer) - -Fails if the pointer is not equal to NULL - - TEST_ASSERT_NOT_NULL(pointer) - -Fails if the pointer is equal to NULL - -Memory Assertions ------------------ - - TEST_ASSERT_EQUAL_MEMORY(expected, actual, len) - -Compare two blocks of memory. This is a good generic assertion for types that can't be coerced into acting like -standard types... but since it's a memory compare, you have to be careful that your data types are packed. - -\_MESSAGE ---------- - -you can append \_MESSAGE to any of the macros to make them take an additional argument. This argument -is a string that will be printed at the end of the failure strings. This is useful for specifying more -information about the problem. - diff --git a/vendor/_unity/include/unity.h b/vendor/_unity/include/unity.h deleted file mode 100644 index 34d7f93..0000000 --- a/vendor/_unity/include/unity.h +++ /dev/null @@ -1,617 +0,0 @@ -/* ========================================== - Unity Project - A Test Framework for C - Copyright (c) 2007-19 Mike Karlesky, Mark VanderVoord, Greg Williams - [Released under MIT License. Please refer to license.txt for details] -========================================== */ - -#ifndef UNITY_FRAMEWORK_H -#define UNITY_FRAMEWORK_H -#define UNITY - -#define UNITY_VERSION_MAJOR 2 -#define UNITY_VERSION_MINOR 5 -#define UNITY_VERSION_BUILD 0 -#define UNITY_VERSION ((UNITY_VERSION_MAJOR << 16) | (UNITY_VERSION_MINOR << 8) | UNITY_VERSION_BUILD) - -#ifdef __cplusplus -extern "C" -{ -#endif - -#include "unity_internals.h" - -/*------------------------------------------------------- - * Test Setup / Teardown - *-------------------------------------------------------*/ - -/* These functions are intended to be called before and after each test. - * If using unity directly, these will need to be provided for each test - * executable built. If you are using the test runner generator and/or - * Ceedling, these are optional. */ -void setUp(void); -void tearDown(void); - -/* These functions are intended to be called at the beginning and end of an - * entire test suite. suiteTearDown() is passed the number of tests that - * failed, and its return value becomes the exit code of main(). If using - * Unity directly, you're in charge of calling these if they are desired. - * If using Ceedling or the test runner generator, these will be called - * automatically if they exist. */ -void suiteSetUp(void); -int suiteTearDown(int num_failures); - -/*------------------------------------------------------- - * Test Reset and Verify - *-------------------------------------------------------*/ - -/* These functions are intended to be called before during tests in order - * to support complex test loops, etc. Both are NOT built into Unity. Instead - * the test runner generator will create them. resetTest will run teardown and - * setup again, verifying any end-of-test needs between. verifyTest will only - * run the verification. */ -void resetTest(void); -void verifyTest(void); - -/*------------------------------------------------------- - * Configuration Options - *------------------------------------------------------- - * All options described below should be passed as a compiler flag to all files using Unity. If you must add #defines, place them BEFORE the #include above. - - * Integers/longs/pointers - * - Unity attempts to automatically discover your integer sizes - * - define UNITY_EXCLUDE_STDINT_H to stop attempting to look in <stdint.h> - * - define UNITY_EXCLUDE_LIMITS_H to stop attempting to look in <limits.h> - * - If you cannot use the automatic methods above, you can force Unity by using these options: - * - define UNITY_SUPPORT_64 - * - set UNITY_INT_WIDTH - * - set UNITY_LONG_WIDTH - * - set UNITY_POINTER_WIDTH - - * Floats - * - define UNITY_EXCLUDE_FLOAT to disallow floating point comparisons - * - define UNITY_FLOAT_PRECISION to specify the precision to use when doing TEST_ASSERT_EQUAL_FLOAT - * - define UNITY_FLOAT_TYPE to specify doubles instead of single precision floats - * - define UNITY_INCLUDE_DOUBLE to allow double floating point comparisons - * - define UNITY_EXCLUDE_DOUBLE to disallow double floating point comparisons (default) - * - define UNITY_DOUBLE_PRECISION to specify the precision to use when doing TEST_ASSERT_EQUAL_DOUBLE - * - define UNITY_DOUBLE_TYPE to specify something other than double - * - define UNITY_EXCLUDE_FLOAT_PRINT to trim binary size, won't print floating point values in errors - - * Output - * - by default, Unity prints to standard out with putchar. define UNITY_OUTPUT_CHAR(a) with a different function if desired - * - define UNITY_DIFFERENTIATE_FINAL_FAIL to print FAILED (vs. FAIL) at test end summary - for automated search for failure - - * Optimization - * - by default, line numbers are stored in unsigned shorts. Define UNITY_LINE_TYPE with a different type if your files are huge - * - by default, test and failure counters are unsigned shorts. Define UNITY_COUNTER_TYPE with a different type if you want to save space or have more than 65535 Tests. - - * Test Cases - * - define UNITY_SUPPORT_TEST_CASES to include the TEST_CASE macro, though really it's mostly about the runner generator script - - * Parameterized Tests - * - you'll want to create a define of TEST_CASE(...) which basically evaluates to nothing - - * Tests with Arguments - * - you'll want to define UNITY_USE_COMMAND_LINE_ARGS if you have the test runner passing arguments to Unity - - *------------------------------------------------------- - * Basic Fail and Ignore - *-------------------------------------------------------*/ - -#define TEST_FAIL_MESSAGE(message) UNITY_TEST_FAIL(__LINE__, (message)) -#define TEST_FAIL() UNITY_TEST_FAIL(__LINE__, NULL) -#define TEST_IGNORE_MESSAGE(message) UNITY_TEST_IGNORE(__LINE__, (message)) -#define TEST_IGNORE() UNITY_TEST_IGNORE(__LINE__, NULL) -#define TEST_MESSAGE(message) UnityMessage((message), __LINE__) -#define TEST_ONLY() - -/* It is not necessary for you to call PASS. A PASS condition is assumed if nothing fails. - * This method allows you to abort a test immediately with a PASS state, ignoring the remainder of the test. */ -#define TEST_PASS() TEST_ABORT() -#define TEST_PASS_MESSAGE(message) do { UnityMessage((message), __LINE__); TEST_ABORT(); } while(0) - -/* This macro does nothing, but it is useful for build tools (like Ceedling) to make use of this to figure out - * which files should be linked to in order to perform a test. Use it like TEST_FILE("sandwiches.c") */ -#define TEST_FILE(a) - -/*------------------------------------------------------- - * Test Asserts (simple) - *-------------------------------------------------------*/ - -/* Boolean */ -#define TEST_ASSERT(condition) UNITY_TEST_ASSERT( (condition), __LINE__, " Expression Evaluated To FALSE") -#define TEST_ASSERT_TRUE(condition) UNITY_TEST_ASSERT( (condition), __LINE__, " Expected TRUE Was FALSE") -#define TEST_ASSERT_UNLESS(condition) UNITY_TEST_ASSERT( !(condition), __LINE__, " Expression Evaluated To TRUE") -#define TEST_ASSERT_FALSE(condition) UNITY_TEST_ASSERT( !(condition), __LINE__, " Expected FALSE Was TRUE") -#define TEST_ASSERT_NULL(pointer) UNITY_TEST_ASSERT_NULL( (pointer), __LINE__, " Expected NULL") -#define TEST_ASSERT_NOT_NULL(pointer) UNITY_TEST_ASSERT_NOT_NULL((pointer), __LINE__, " Expected Non-NULL") - -/* Integers (of all sizes) */ -#define TEST_ASSERT_EQUAL_INT(expected, actual) UNITY_TEST_ASSERT_EQUAL_INT((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_INT8(expected, actual) UNITY_TEST_ASSERT_EQUAL_INT8((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_INT16(expected, actual) UNITY_TEST_ASSERT_EQUAL_INT16((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_INT32(expected, actual) UNITY_TEST_ASSERT_EQUAL_INT32((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_INT64(expected, actual) UNITY_TEST_ASSERT_EQUAL_INT64((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_UINT(expected, actual) UNITY_TEST_ASSERT_EQUAL_UINT( (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_UINT8(expected, actual) UNITY_TEST_ASSERT_EQUAL_UINT8( (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_UINT16(expected, actual) UNITY_TEST_ASSERT_EQUAL_UINT16( (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_UINT32(expected, actual) UNITY_TEST_ASSERT_EQUAL_UINT32( (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_UINT64(expected, actual) UNITY_TEST_ASSERT_EQUAL_UINT64( (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_size_t(expected, actual) UNITY_TEST_ASSERT_EQUAL_UINT((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_HEX(expected, actual) UNITY_TEST_ASSERT_EQUAL_HEX32((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_HEX8(expected, actual) UNITY_TEST_ASSERT_EQUAL_HEX8( (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_HEX16(expected, actual) UNITY_TEST_ASSERT_EQUAL_HEX16((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_HEX32(expected, actual) UNITY_TEST_ASSERT_EQUAL_HEX32((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_HEX64(expected, actual) UNITY_TEST_ASSERT_EQUAL_HEX64((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_CHAR(expected, actual) UNITY_TEST_ASSERT_EQUAL_CHAR((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_BITS(mask, expected, actual) UNITY_TEST_ASSERT_BITS((mask), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_BITS_HIGH(mask, actual) UNITY_TEST_ASSERT_BITS((mask), (UNITY_UINT32)(-1), (actual), __LINE__, NULL) -#define TEST_ASSERT_BITS_LOW(mask, actual) UNITY_TEST_ASSERT_BITS((mask), (UNITY_UINT32)(0), (actual), __LINE__, NULL) -#define TEST_ASSERT_BIT_HIGH(bit, actual) UNITY_TEST_ASSERT_BITS(((UNITY_UINT32)1 << (bit)), (UNITY_UINT32)(-1), (actual), __LINE__, NULL) -#define TEST_ASSERT_BIT_LOW(bit, actual) UNITY_TEST_ASSERT_BITS(((UNITY_UINT32)1 << (bit)), (UNITY_UINT32)(0), (actual), __LINE__, NULL) - -/* Integer Greater Than/ Less Than (of all sizes) */ -#define TEST_ASSERT_GREATER_THAN(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_INT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_INT(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_INT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_INT8(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_INT8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_INT16(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_INT16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_INT32(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_INT32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_INT64(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_INT64((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_UINT(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_UINT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_UINT8(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_UINT8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_UINT16(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_UINT16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_UINT32(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_UINT32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_UINT64(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_UINT64((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_size_t(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_UINT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_HEX8(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_HEX8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_HEX16(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_HEX16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_HEX32(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_HEX32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_HEX64(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_HEX64((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_CHAR(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_CHAR((threshold), (actual), __LINE__, NULL) - -#define TEST_ASSERT_LESS_THAN(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_INT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_INT(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_INT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_INT8(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_INT8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_INT16(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_INT16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_INT32(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_INT32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_INT64(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_INT64((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_UINT(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_UINT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_UINT8(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_UINT8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_UINT16(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_UINT16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_UINT32(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_UINT32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_UINT64(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_UINT64((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_size_t(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_UINT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_HEX8(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_HEX8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_HEX16(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_HEX16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_HEX32(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_HEX32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_HEX64(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_HEX64((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_CHAR(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_CHAR((threshold), (actual), __LINE__, NULL) - -#define TEST_ASSERT_GREATER_OR_EQUAL(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_INT(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_INT8(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_INT16(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_INT32(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_INT64(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT64((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_UINT(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_UINT8(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_UINT16(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_UINT32(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_UINT64(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT64((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_size_t(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_HEX8(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_HEX16(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_HEX32(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_HEX64(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX64((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_CHAR(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_CHAR((threshold), (actual), __LINE__, NULL) - -#define TEST_ASSERT_LESS_OR_EQUAL(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_INT(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_INT8(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_INT16(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_INT32(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_INT64(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT64((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_UINT(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_UINT8(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_UINT16(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_UINT32(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_UINT64(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT64((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_size_t(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_HEX8(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_HEX16(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_HEX32(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_HEX64(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_CHAR(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_CHAR((threshold), (actual), __LINE__, NULL) - -/* Integer Ranges (of all sizes) */ -#define TEST_ASSERT_INT_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_INT_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_INT8_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_INT8_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_INT16_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_INT16_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_INT32_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_INT32_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_INT64_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_INT64_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_UINT_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_UINT_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_UINT8_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_UINT8_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_UINT16_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_UINT16_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_UINT32_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_UINT32_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_UINT64_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_UINT64_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_size_t_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_UINT_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_HEX_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_HEX32_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_HEX8_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_HEX8_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_HEX16_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_HEX16_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_HEX32_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_HEX32_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_HEX64_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_HEX64_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_CHAR_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_CHAR_WITHIN((delta), (expected), (actual), __LINE__, NULL) - -/* Integer Array Ranges (of all sizes) */ -#define TEST_ASSERT_INT_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_INT_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) -#define TEST_ASSERT_INT8_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_INT8_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) -#define TEST_ASSERT_INT16_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_INT16_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) -#define TEST_ASSERT_INT32_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_INT32_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) -#define TEST_ASSERT_INT64_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_INT64_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) -#define TEST_ASSERT_UINT_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_UINT_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) -#define TEST_ASSERT_UINT8_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_UINT8_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) -#define TEST_ASSERT_UINT16_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_UINT16_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) -#define TEST_ASSERT_UINT32_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_UINT32_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) -#define TEST_ASSERT_UINT64_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_UINT64_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) -#define TEST_ASSERT_size_t_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_UINT_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) -#define TEST_ASSERT_HEX_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_HEX32_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) -#define TEST_ASSERT_HEX8_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_HEX8_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) -#define TEST_ASSERT_HEX16_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_HEX16_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) -#define TEST_ASSERT_HEX32_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_HEX32_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) -#define TEST_ASSERT_HEX64_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_HEX64_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) -#define TEST_ASSERT_CHAR_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_CHAR_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) - - -/* Structs and Strings */ -#define TEST_ASSERT_EQUAL_PTR(expected, actual) UNITY_TEST_ASSERT_EQUAL_PTR((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_STRING(expected, actual) UNITY_TEST_ASSERT_EQUAL_STRING((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_STRING_LEN(expected, actual, len) UNITY_TEST_ASSERT_EQUAL_STRING_LEN((expected), (actual), (len), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_MEMORY(expected, actual, len) UNITY_TEST_ASSERT_EQUAL_MEMORY((expected), (actual), (len), __LINE__, NULL) - -/* Arrays */ -#define TEST_ASSERT_EQUAL_INT_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_INT_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_INT8_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_INT8_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_INT16_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_INT16_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_INT32_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_INT32_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_UINT_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_UINT_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_UINT8_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_UINT8_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_UINT16_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_UINT16_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_UINT32_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_UINT32_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_size_t_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_UINT_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_HEX_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_HEX8_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_HEX8_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_PTR_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements) UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY((expected), (actual), (len), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_CHAR_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_CHAR_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) - -/* Arrays Compared To Single Value */ -#define TEST_ASSERT_EACH_EQUAL_INT(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_INT((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_INT8(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_INT8((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_INT16(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_INT16((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_INT32(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_INT32((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_INT64(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_INT64((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_UINT(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_UINT((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_UINT8(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_UINT8((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_UINT16(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_UINT16((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_UINT32(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_UINT32((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_UINT64(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_UINT64((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_size_t(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_UINT((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_HEX(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_HEX32((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_HEX8(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_HEX8((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_HEX16(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_HEX16((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_HEX32(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_HEX32((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_HEX64(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_HEX64((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_PTR(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_PTR((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_STRING(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_STRING((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_MEMORY(expected, actual, len, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_MEMORY((expected), (actual), (len), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_CHAR(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_CHAR((expected), (actual), (num_elements), __LINE__, NULL) - -/* Floating Point (If Enabled) */ -#define TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_FLOAT_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_FLOAT(expected, actual) UNITY_TEST_ASSERT_EQUAL_FLOAT((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_FLOAT(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_FLOAT((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_FLOAT_IS_INF(actual) UNITY_TEST_ASSERT_FLOAT_IS_INF((actual), __LINE__, NULL) -#define TEST_ASSERT_FLOAT_IS_NEG_INF(actual) UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF((actual), __LINE__, NULL) -#define TEST_ASSERT_FLOAT_IS_NAN(actual) UNITY_TEST_ASSERT_FLOAT_IS_NAN((actual), __LINE__, NULL) -#define TEST_ASSERT_FLOAT_IS_DETERMINATE(actual) UNITY_TEST_ASSERT_FLOAT_IS_DETERMINATE((actual), __LINE__, NULL) -#define TEST_ASSERT_FLOAT_IS_NOT_INF(actual) UNITY_TEST_ASSERT_FLOAT_IS_NOT_INF((actual), __LINE__, NULL) -#define TEST_ASSERT_FLOAT_IS_NOT_NEG_INF(actual) UNITY_TEST_ASSERT_FLOAT_IS_NOT_NEG_INF((actual), __LINE__, NULL) -#define TEST_ASSERT_FLOAT_IS_NOT_NAN(actual) UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN((actual), __LINE__, NULL) -#define TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(actual) UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE((actual), __LINE__, NULL) - -/* Double (If Enabled) */ -#define TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_DOUBLE_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_DOUBLE(expected, actual) UNITY_TEST_ASSERT_EQUAL_DOUBLE((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_DOUBLE(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_DOUBLE((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_DOUBLE_IS_INF(actual) UNITY_TEST_ASSERT_DOUBLE_IS_INF((actual), __LINE__, NULL) -#define TEST_ASSERT_DOUBLE_IS_NEG_INF(actual) UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF((actual), __LINE__, NULL) -#define TEST_ASSERT_DOUBLE_IS_NAN(actual) UNITY_TEST_ASSERT_DOUBLE_IS_NAN((actual), __LINE__, NULL) -#define TEST_ASSERT_DOUBLE_IS_DETERMINATE(actual) UNITY_TEST_ASSERT_DOUBLE_IS_DETERMINATE((actual), __LINE__, NULL) -#define TEST_ASSERT_DOUBLE_IS_NOT_INF(actual) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_INF((actual), __LINE__, NULL) -#define TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF(actual) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF((actual), __LINE__, NULL) -#define TEST_ASSERT_DOUBLE_IS_NOT_NAN(actual) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN((actual), __LINE__, NULL) -#define TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(actual) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE((actual), __LINE__, NULL) - -/* Shorthand */ -#ifdef UNITY_SHORTHAND_AS_OLD -#define TEST_ASSERT_EQUAL(expected, actual) UNITY_TEST_ASSERT_EQUAL_INT((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_NOT_EQUAL(expected, actual) UNITY_TEST_ASSERT(((expected) != (actual)), __LINE__, " Expected Not-Equal") -#endif -#ifdef UNITY_SHORTHAND_AS_INT -#define TEST_ASSERT_EQUAL(expected, actual) UNITY_TEST_ASSERT_EQUAL_INT((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_NOT_EQUAL(expected, actual) UNITY_TEST_FAIL(__LINE__, UnityStrErrShorthand) -#endif -#ifdef UNITY_SHORTHAND_AS_MEM -#define TEST_ASSERT_EQUAL(expected, actual) UNITY_TEST_ASSERT_EQUAL_MEMORY((&expected), (&actual), sizeof(expected), __LINE__, NULL) -#define TEST_ASSERT_NOT_EQUAL(expected, actual) UNITY_TEST_FAIL(__LINE__, UnityStrErrShorthand) -#endif -#ifdef UNITY_SHORTHAND_AS_RAW -#define TEST_ASSERT_EQUAL(expected, actual) UNITY_TEST_ASSERT(((expected) == (actual)), __LINE__, " Expected Equal") -#define TEST_ASSERT_NOT_EQUAL(expected, actual) UNITY_TEST_ASSERT(((expected) != (actual)), __LINE__, " Expected Not-Equal") -#endif -#ifdef UNITY_SHORTHAND_AS_NONE -#define TEST_ASSERT_EQUAL(expected, actual) UNITY_TEST_FAIL(__LINE__, UnityStrErrShorthand) -#define TEST_ASSERT_NOT_EQUAL(expected, actual) UNITY_TEST_FAIL(__LINE__, UnityStrErrShorthand) -#endif - -/*------------------------------------------------------- - * Test Asserts (with additional messages) - *-------------------------------------------------------*/ - -/* Boolean */ -#define TEST_ASSERT_MESSAGE(condition, message) UNITY_TEST_ASSERT( (condition), __LINE__, (message)) -#define TEST_ASSERT_TRUE_MESSAGE(condition, message) UNITY_TEST_ASSERT( (condition), __LINE__, (message)) -#define TEST_ASSERT_UNLESS_MESSAGE(condition, message) UNITY_TEST_ASSERT( !(condition), __LINE__, (message)) -#define TEST_ASSERT_FALSE_MESSAGE(condition, message) UNITY_TEST_ASSERT( !(condition), __LINE__, (message)) -#define TEST_ASSERT_NULL_MESSAGE(pointer, message) UNITY_TEST_ASSERT_NULL( (pointer), __LINE__, (message)) -#define TEST_ASSERT_NOT_NULL_MESSAGE(pointer, message) UNITY_TEST_ASSERT_NOT_NULL((pointer), __LINE__, (message)) - -/* Integers (of all sizes) */ -#define TEST_ASSERT_EQUAL_INT_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_INT8_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT8((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_INT16_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT16((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_INT32_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT32((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_INT64_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT64((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_UINT_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_UINT( (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_UINT8_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_UINT8( (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_UINT16_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_UINT16( (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_UINT32_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_UINT32( (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_UINT64_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_UINT64( (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_size_t_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_UINT( (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_HEX_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_HEX32((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_HEX8_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_HEX8( (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_HEX16_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_HEX16((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_HEX32_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_HEX32((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_HEX64_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_HEX64((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_BITS_MESSAGE(mask, expected, actual, message) UNITY_TEST_ASSERT_BITS((mask), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_BITS_HIGH_MESSAGE(mask, actual, message) UNITY_TEST_ASSERT_BITS((mask), (UNITY_UINT32)(-1), (actual), __LINE__, (message)) -#define TEST_ASSERT_BITS_LOW_MESSAGE(mask, actual, message) UNITY_TEST_ASSERT_BITS((mask), (UNITY_UINT32)(0), (actual), __LINE__, (message)) -#define TEST_ASSERT_BIT_HIGH_MESSAGE(bit, actual, message) UNITY_TEST_ASSERT_BITS(((UNITY_UINT32)1 << (bit)), (UNITY_UINT32)(-1), (actual), __LINE__, (message)) -#define TEST_ASSERT_BIT_LOW_MESSAGE(bit, actual, message) UNITY_TEST_ASSERT_BITS(((UNITY_UINT32)1 << (bit)), (UNITY_UINT32)(0), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_CHAR_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_CHAR((expected), (actual), __LINE__, (message)) - -/* Integer Greater Than/ Less Than (of all sizes) */ -#define TEST_ASSERT_GREATER_THAN_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_INT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_INT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_INT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_INT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_INT8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_INT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_INT16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_INT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_INT32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_INT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_INT64((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_UINT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_UINT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_UINT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_UINT8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_UINT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_UINT16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_UINT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_UINT32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_UINT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_UINT64((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_size_t_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_UINT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_HEX8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_HEX8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_HEX16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_HEX16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_HEX32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_HEX32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_HEX64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_HEX64((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_CHAR_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_CHAR((threshold), (actual), __LINE__, (message)) - -#define TEST_ASSERT_LESS_THAN_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_INT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_INT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_INT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_INT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_INT8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_INT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_INT16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_INT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_INT32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_INT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_INT64((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_UINT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_UINT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_UINT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_UINT8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_UINT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_UINT16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_UINT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_UINT32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_UINT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_UINT64((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_size_t_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_UINT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_HEX8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_HEX8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_HEX16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_HEX16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_HEX32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_HEX32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_HEX64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_HEX64((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_CHAR_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_CHAR((threshold), (actual), __LINE__, (message)) - -#define TEST_ASSERT_GREATER_OR_EQUAL_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_INT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_INT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_INT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_INT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_INT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT64((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_UINT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_UINT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_UINT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_UINT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_UINT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT64((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_size_t_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_HEX8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_HEX16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_HEX32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_HEX64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX64((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_CHAR_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_CHAR((threshold), (actual), __LINE__, (message)) - -#define TEST_ASSERT_LESS_OR_EQUAL_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_INT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_INT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_INT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_INT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_INT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT64((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_UINT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_UINT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_UINT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_UINT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_UINT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT64((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_size_t_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_HEX8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_HEX16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_HEX32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_HEX64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_CHAR_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_CHAR((threshold), (actual), __LINE__, (message)) - -/* Integer Ranges (of all sizes) */ -#define TEST_ASSERT_INT_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_INT_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_INT8_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_INT8_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_INT16_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_INT16_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_INT32_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_INT32_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_INT64_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_INT64_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_UINT_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_UINT_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_UINT8_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_UINT8_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_UINT16_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_UINT16_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_UINT32_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_UINT32_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_UINT64_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_UINT64_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_size_t_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_UINT_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_HEX_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_HEX32_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_HEX8_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_HEX8_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_HEX16_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_HEX16_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_HEX32_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_HEX32_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_HEX64_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_HEX64_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_CHAR_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_CHAR_WITHIN((delta), (expected), (actual), __LINE__, (message)) - -/* Integer Array Ranges (of all sizes) */ -#define TEST_ASSERT_INT_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_INT_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) -#define TEST_ASSERT_INT8_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_INT8_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) -#define TEST_ASSERT_INT16_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_INT16_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) -#define TEST_ASSERT_INT32_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_INT32_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) -#define TEST_ASSERT_INT64_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_INT64_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) -#define TEST_ASSERT_UINT_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_UINT_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) -#define TEST_ASSERT_UINT8_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_UINT8_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) -#define TEST_ASSERT_UINT16_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_UINT16_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) -#define TEST_ASSERT_UINT32_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_UINT32_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) -#define TEST_ASSERT_UINT64_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_UINT64_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) -#define TEST_ASSERT_size_t_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_UINT_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) -#define TEST_ASSERT_HEX_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_HEX32_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) -#define TEST_ASSERT_HEX8_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_HEX8_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) -#define TEST_ASSERT_HEX16_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_HEX16_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) -#define TEST_ASSERT_HEX32_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_HEX32_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) -#define TEST_ASSERT_HEX64_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_HEX64_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) -#define TEST_ASSERT_CHAR_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_CHAR_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) - - -/* Structs and Strings */ -#define TEST_ASSERT_EQUAL_PTR_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_PTR((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_STRING_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_STRING((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_STRING_LEN_MESSAGE(expected, actual, len, message) UNITY_TEST_ASSERT_EQUAL_STRING_LEN((expected), (actual), (len), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_MEMORY_MESSAGE(expected, actual, len, message) UNITY_TEST_ASSERT_EQUAL_MEMORY((expected), (actual), (len), __LINE__, (message)) - -/* Arrays */ -#define TEST_ASSERT_EQUAL_INT_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_INT_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_INT8_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_INT8_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_INT16_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_INT16_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_INT32_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_INT32_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_INT64_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_UINT_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_UINT_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_UINT8_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_UINT8_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_UINT16_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_UINT16_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_UINT32_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_UINT32_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_UINT64_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_size_t_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_UINT_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_HEX_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_HEX8_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_HEX8_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_HEX16_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_HEX32_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_HEX64_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_PTR_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_STRING_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_MEMORY_ARRAY_MESSAGE(expected, actual, len, num_elements, message) UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY((expected), (actual), (len), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_CHAR_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_CHAR_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) - -/* Arrays Compared To Single Value*/ -#define TEST_ASSERT_EACH_EQUAL_INT_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_INT((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_INT8_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_INT8((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_INT16_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_INT16((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_INT32_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_INT32((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_INT64_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_INT64((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_UINT_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_UINT((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_UINT8_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_UINT8((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_UINT16_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_UINT16((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_UINT32_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_UINT32((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_UINT64_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_UINT64((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_size_t_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_UINT((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_HEX_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_HEX32((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_HEX8_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_HEX8((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_HEX16_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_HEX16((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_HEX32_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_HEX32((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_HEX64_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_HEX64((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_PTR_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_PTR((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_STRING_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_STRING((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_MEMORY_MESSAGE(expected, actual, len, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_MEMORY((expected), (actual), (len), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_CHAR_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_CHAR((expected), (actual), (num_elements), __LINE__, (message)) - -/* Floating Point (If Enabled) */ -#define TEST_ASSERT_FLOAT_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_FLOAT_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_FLOAT_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_FLOAT((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_FLOAT_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_FLOAT_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_FLOAT((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_FLOAT_IS_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_INF((actual), __LINE__, (message)) -#define TEST_ASSERT_FLOAT_IS_NEG_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF((actual), __LINE__, (message)) -#define TEST_ASSERT_FLOAT_IS_NAN_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_NAN((actual), __LINE__, (message)) -#define TEST_ASSERT_FLOAT_IS_DETERMINATE_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_DETERMINATE((actual), __LINE__, (message)) -#define TEST_ASSERT_FLOAT_IS_NOT_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_NOT_INF((actual), __LINE__, (message)) -#define TEST_ASSERT_FLOAT_IS_NOT_NEG_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_NOT_NEG_INF((actual), __LINE__, (message)) -#define TEST_ASSERT_FLOAT_IS_NOT_NAN_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN((actual), __LINE__, (message)) -#define TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE((actual), __LINE__, (message)) - -/* Double (If Enabled) */ -#define TEST_ASSERT_DOUBLE_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_DOUBLE_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_DOUBLE_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_DOUBLE((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_DOUBLE_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_DOUBLE_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_DOUBLE((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_DOUBLE_IS_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_INF((actual), __LINE__, (message)) -#define TEST_ASSERT_DOUBLE_IS_NEG_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF((actual), __LINE__, (message)) -#define TEST_ASSERT_DOUBLE_IS_NAN_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_NAN((actual), __LINE__, (message)) -#define TEST_ASSERT_DOUBLE_IS_DETERMINATE_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_DETERMINATE((actual), __LINE__, (message)) -#define TEST_ASSERT_DOUBLE_IS_NOT_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_INF((actual), __LINE__, (message)) -#define TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF((actual), __LINE__, (message)) -#define TEST_ASSERT_DOUBLE_IS_NOT_NAN_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN((actual), __LINE__, (message)) -#define TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE((actual), __LINE__, (message)) - -/* Shorthand */ -#ifdef UNITY_SHORTHAND_AS_OLD -#define TEST_ASSERT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_NOT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT(((expected) != (actual)), __LINE__, (message)) -#endif -#ifdef UNITY_SHORTHAND_AS_INT -#define TEST_ASSERT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT((expected), (actual), __LINE__, message) -#define TEST_ASSERT_NOT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_FAIL(__LINE__, UnityStrErrShorthand) -#endif -#ifdef UNITY_SHORTHAND_AS_MEM -#define TEST_ASSERT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_MEMORY((&expected), (&actual), sizeof(expected), __LINE__, message) -#define TEST_ASSERT_NOT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_FAIL(__LINE__, UnityStrErrShorthand) -#endif -#ifdef UNITY_SHORTHAND_AS_RAW -#define TEST_ASSERT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT(((expected) == (actual)), __LINE__, message) -#define TEST_ASSERT_NOT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT(((expected) != (actual)), __LINE__, message) -#endif -#ifdef UNITY_SHORTHAND_AS_NONE -#define TEST_ASSERT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_FAIL(__LINE__, UnityStrErrShorthand) -#define TEST_ASSERT_NOT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_FAIL(__LINE__, UnityStrErrShorthand) -#endif - -/* end of UNITY_FRAMEWORK_H */ -#ifdef __cplusplus -} -#endif -#endif diff --git a/vendor/_unity/include/unity_fixture.h b/vendor/_unity/include/unity_fixture.h deleted file mode 100644 index 4cc403e..0000000 --- a/vendor/_unity/include/unity_fixture.h +++ /dev/null @@ -1,83 +0,0 @@ -/* Copyright (c) 2010 James Grenning and Contributed to Unity Project - * ========================================== - * Unity Project - A Test Framework for C - * Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams - * [Released under MIT License. Please refer to license.txt for details] - * ========================================== */ - -#ifndef UNITY_FIXTURE_H_ -#define UNITY_FIXTURE_H_ - -#include "unity.h" -#include "unity_internals.h" -#include "unity_fixture_internals.h" - -#ifndef UNITY_FIXTURE_NO_EXTRAS -#include "unity_memory.h" -#endif - -int UnityMain(int argc, const char* argv[], void (*runAllTests)(void)); - - -#define TEST_GROUP(group)\ - static const char* TEST_GROUP_##group = #group - -#define TEST_SETUP(group) void TEST_##group##_SETUP(void);\ - void TEST_##group##_SETUP(void) - -#define TEST_TEAR_DOWN(group) void TEST_##group##_TEAR_DOWN(void);\ - void TEST_##group##_TEAR_DOWN(void) - - -#define TEST(group, name) \ - void TEST_##group##_##name##_(void);\ - void TEST_##group##_##name##_run(void);\ - void TEST_##group##_##name##_run(void)\ - {\ - UnityTestRunner(TEST_##group##_SETUP,\ - TEST_##group##_##name##_,\ - TEST_##group##_TEAR_DOWN,\ - "TEST(" #group ", " #name ")",\ - TEST_GROUP_##group, #name,\ - __FILE__, __LINE__);\ - }\ - void TEST_##group##_##name##_(void) - -#define IGNORE_TEST(group, name) \ - void TEST_##group##_##name##_(void);\ - void TEST_##group##_##name##_run(void);\ - void TEST_##group##_##name##_run(void)\ - {\ - UnityIgnoreTest("IGNORE_TEST(" #group ", " #name ")", TEST_GROUP_##group, #name);\ - }\ - void TEST_##group##_##name##_(void) - -/* Call this for each test, insider the group runner */ -#define RUN_TEST_CASE(group, name) \ - { void TEST_##group##_##name##_run(void);\ - TEST_##group##_##name##_run(); } - -/* This goes at the bottom of each test file or in a separate c file */ -#define TEST_GROUP_RUNNER(group)\ - void TEST_##group##_GROUP_RUNNER(void);\ - void TEST_##group##_GROUP_RUNNER(void) - -/* Call this from main */ -#define RUN_TEST_GROUP(group)\ - { void TEST_##group##_GROUP_RUNNER(void);\ - TEST_##group##_GROUP_RUNNER(); } - -/* CppUTest Compatibility Macros */ -#ifndef UNITY_EXCLUDE_CPPUTEST_ASSERTS -/* Sets a pointer and automatically restores it to its old value after teardown */ -#define UT_PTR_SET(ptr, newPointerValue) UnityPointer_Set((void**)&(ptr), (void*)(newPointerValue), __LINE__) -#define TEST_ASSERT_POINTERS_EQUAL(expected, actual) TEST_ASSERT_EQUAL_PTR((expected), (actual)) -#define TEST_ASSERT_BYTES_EQUAL(expected, actual) TEST_ASSERT_EQUAL_HEX8(0xff & (expected), 0xff & (actual)) -#define FAIL(message) TEST_FAIL_MESSAGE((message)) -#define CHECK(condition) TEST_ASSERT_TRUE((condition)) -#define LONGS_EQUAL(expected, actual) TEST_ASSERT_EQUAL_INT((expected), (actual)) -#define STRCMP_EQUAL(expected, actual) TEST_ASSERT_EQUAL_STRING((expected), (actual)) -#define DOUBLES_EQUAL(expected, actual, delta) TEST_ASSERT_DOUBLE_WITHIN((delta), (expected), (actual)) -#endif - -#endif /* UNITY_FIXTURE_H_ */ diff --git a/vendor/_unity/include/unity_fixture_internals.h b/vendor/_unity/include/unity_fixture_internals.h deleted file mode 100644 index 1c51aa9..0000000 --- a/vendor/_unity/include/unity_fixture_internals.h +++ /dev/null @@ -1,50 +0,0 @@ -/* Copyright (c) 2010 James Grenning and Contributed to Unity Project - * ========================================== - * Unity Project - A Test Framework for C - * Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams - * [Released under MIT License. Please refer to license.txt for details] - * ========================================== */ - -#ifndef UNITY_FIXTURE_INTERNALS_H_ -#define UNITY_FIXTURE_INTERNALS_H_ - -#ifdef __cplusplus -extern "C" -{ -#endif - -struct UNITY_FIXTURE_T -{ - int Verbose; - int Silent; - unsigned int RepeatCount; - const char* NameFilter; - const char* GroupFilter; -}; -extern struct UNITY_FIXTURE_T UnityFixture; - -typedef void unityfunction(void); -void UnityTestRunner(unityfunction* setup, - unityfunction* testBody, - unityfunction* teardown, - const char* printableName, - const char* group, - const char* name, - const char* file, unsigned int line); - -void UnityIgnoreTest(const char* printableName, const char* group, const char* name); -int UnityGetCommandLineOptions(int argc, const char* argv[]); -void UnityConcludeFixtureTest(void); - -void UnityPointer_Set(void** pointer, void* newValue, UNITY_LINE_TYPE line); -void UnityPointer_UndoAllSets(void); -void UnityPointer_Init(void); -#ifndef UNITY_MAX_POINTERS -#define UNITY_MAX_POINTERS 5 -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* UNITY_FIXTURE_INTERNALS_H_ */ diff --git a/vendor/_unity/include/unity_internals.h b/vendor/_unity/include/unity_internals.h deleted file mode 100644 index f61cd33..0000000 --- a/vendor/_unity/include/unity_internals.h +++ /dev/null @@ -1,1007 +0,0 @@ -/* ========================================== - Unity Project - A Test Framework for C - Copyright (c) 2007-19 Mike Karlesky, Mark VanderVoord, Greg Williams - [Released under MIT License. Please refer to license.txt for details] -========================================== */ - -#ifndef UNITY_INTERNALS_H -#define UNITY_INTERNALS_H - -#ifdef UNITY_INCLUDE_CONFIG_H -#include "unity_config.h" -#endif - -#ifndef UNITY_EXCLUDE_SETJMP_H -#include <setjmp.h> -#endif - -#ifndef UNITY_EXCLUDE_MATH_H -#include <math.h> -#endif - -#ifndef UNITY_EXCLUDE_STDDEF_H -#include <stddef.h> -#endif - -#ifdef UNITY_INCLUDE_PRINT_FORMATTED -#include <stdarg.h> -#endif - -/* Unity Attempts to Auto-Detect Integer Types - * Attempt 1: UINT_MAX, ULONG_MAX in <limits.h>, or default to 32 bits - * Attempt 2: UINTPTR_MAX in <stdint.h>, or default to same size as long - * The user may override any of these derived constants: - * UNITY_INT_WIDTH, UNITY_LONG_WIDTH, UNITY_POINTER_WIDTH */ -#ifndef UNITY_EXCLUDE_STDINT_H -#include <stdint.h> -#endif - -#ifndef UNITY_EXCLUDE_LIMITS_H -#include <limits.h> -#endif - -/*------------------------------------------------------- - * Guess Widths If Not Specified - *-------------------------------------------------------*/ - -/* Determine the size of an int, if not already specified. - * We cannot use sizeof(int), because it is not yet defined - * at this stage in the translation of the C program. - * Also sizeof(int) does return the size in addressable units on all platforms, - * which may not necessarily be the size in bytes. - * Therefore, infer it from UINT_MAX if possible. */ -#ifndef UNITY_INT_WIDTH - #ifdef UINT_MAX - #if (UINT_MAX == 0xFFFF) - #define UNITY_INT_WIDTH (16) - #elif (UINT_MAX == 0xFFFFFFFF) - #define UNITY_INT_WIDTH (32) - #elif (UINT_MAX == 0xFFFFFFFFFFFFFFFF) - #define UNITY_INT_WIDTH (64) - #endif - #else /* Set to default */ - #define UNITY_INT_WIDTH (32) - #endif /* UINT_MAX */ -#endif - -/* Determine the size of a long, if not already specified. */ -#ifndef UNITY_LONG_WIDTH - #ifdef ULONG_MAX - #if (ULONG_MAX == 0xFFFF) - #define UNITY_LONG_WIDTH (16) - #elif (ULONG_MAX == 0xFFFFFFFF) - #define UNITY_LONG_WIDTH (32) - #elif (ULONG_MAX == 0xFFFFFFFFFFFFFFFF) - #define UNITY_LONG_WIDTH (64) - #endif - #else /* Set to default */ - #define UNITY_LONG_WIDTH (32) - #endif /* ULONG_MAX */ -#endif - -/* Determine the size of a pointer, if not already specified. */ -#ifndef UNITY_POINTER_WIDTH - #ifdef UINTPTR_MAX - #if (UINTPTR_MAX <= 0xFFFF) - #define UNITY_POINTER_WIDTH (16) - #elif (UINTPTR_MAX <= 0xFFFFFFFF) - #define UNITY_POINTER_WIDTH (32) - #elif (UINTPTR_MAX <= 0xFFFFFFFFFFFFFFFF) - #define UNITY_POINTER_WIDTH (64) - #endif - #else /* Set to default */ - #define UNITY_POINTER_WIDTH UNITY_LONG_WIDTH - #endif /* UINTPTR_MAX */ -#endif - -/*------------------------------------------------------- - * Int Support (Define types based on detected sizes) - *-------------------------------------------------------*/ - -#if (UNITY_INT_WIDTH == 32) - typedef unsigned char UNITY_UINT8; - typedef unsigned short UNITY_UINT16; - typedef unsigned int UNITY_UINT32; - typedef signed char UNITY_INT8; - typedef signed short UNITY_INT16; - typedef signed int UNITY_INT32; -#elif (UNITY_INT_WIDTH == 16) - typedef unsigned char UNITY_UINT8; - typedef unsigned int UNITY_UINT16; - typedef unsigned long UNITY_UINT32; - typedef signed char UNITY_INT8; - typedef signed int UNITY_INT16; - typedef signed long UNITY_INT32; -#else - #error Invalid UNITY_INT_WIDTH specified! (16 or 32 are supported) -#endif - -/*------------------------------------------------------- - * 64-bit Support - *-------------------------------------------------------*/ - -/* Auto-detect 64 Bit Support */ -#ifndef UNITY_SUPPORT_64 - #if UNITY_LONG_WIDTH == 64 || UNITY_POINTER_WIDTH == 64 - #define UNITY_SUPPORT_64 - #endif -#endif - -/* 64-Bit Support Dependent Configuration */ -#ifndef UNITY_SUPPORT_64 - /* No 64-bit Support */ - typedef UNITY_UINT32 UNITY_UINT; - typedef UNITY_INT32 UNITY_INT; - #define UNITY_MAX_NIBBLES (8) /* Maximum number of nibbles in a UNITY_(U)INT */ -#else - /* 64-bit Support */ - #if (UNITY_LONG_WIDTH == 32) - typedef unsigned long long UNITY_UINT64; - typedef signed long long UNITY_INT64; - #elif (UNITY_LONG_WIDTH == 64) - typedef unsigned long UNITY_UINT64; - typedef signed long UNITY_INT64; - #else - #error Invalid UNITY_LONG_WIDTH specified! (32 or 64 are supported) - #endif - typedef UNITY_UINT64 UNITY_UINT; - typedef UNITY_INT64 UNITY_INT; - #define UNITY_MAX_NIBBLES (16) /* Maximum number of nibbles in a UNITY_(U)INT */ -#endif - -/*------------------------------------------------------- - * Pointer Support - *-------------------------------------------------------*/ - -#if (UNITY_POINTER_WIDTH == 32) - #define UNITY_PTR_TO_INT UNITY_INT32 - #define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX32 -#elif (UNITY_POINTER_WIDTH == 64) - #define UNITY_PTR_TO_INT UNITY_INT64 - #define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX64 -#elif (UNITY_POINTER_WIDTH == 16) - #define UNITY_PTR_TO_INT UNITY_INT16 - #define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX16 -#else - #error Invalid UNITY_POINTER_WIDTH specified! (16, 32 or 64 are supported) -#endif - -#ifndef UNITY_PTR_ATTRIBUTE - #define UNITY_PTR_ATTRIBUTE -#endif - -#ifndef UNITY_INTERNAL_PTR - #define UNITY_INTERNAL_PTR UNITY_PTR_ATTRIBUTE const void* -#endif - -/*------------------------------------------------------- - * Float Support - *-------------------------------------------------------*/ - -#ifdef UNITY_EXCLUDE_FLOAT - -/* No Floating Point Support */ -#ifndef UNITY_EXCLUDE_DOUBLE -#define UNITY_EXCLUDE_DOUBLE /* Remove double when excluding float support */ -#endif -#ifndef UNITY_EXCLUDE_FLOAT_PRINT -#define UNITY_EXCLUDE_FLOAT_PRINT -#endif - -#else - -/* Floating Point Support */ -#ifndef UNITY_FLOAT_PRECISION -#define UNITY_FLOAT_PRECISION (0.00001f) -#endif -#ifndef UNITY_FLOAT_TYPE -#define UNITY_FLOAT_TYPE float -#endif -typedef UNITY_FLOAT_TYPE UNITY_FLOAT; - -/* isinf & isnan macros should be provided by math.h */ -#ifndef isinf -/* The value of Inf - Inf is NaN */ -#define isinf(n) (isnan((n) - (n)) && !isnan(n)) -#endif - -#ifndef isnan -/* NaN is the only floating point value that does NOT equal itself. - * Therefore if n != n, then it is NaN. */ -#define isnan(n) ((n != n) ? 1 : 0) -#endif - -#endif - -/*------------------------------------------------------- - * Double Float Support - *-------------------------------------------------------*/ - -/* unlike float, we DON'T include by default */ -#if defined(UNITY_EXCLUDE_DOUBLE) || !defined(UNITY_INCLUDE_DOUBLE) - - /* No Floating Point Support */ - #ifndef UNITY_EXCLUDE_DOUBLE - #define UNITY_EXCLUDE_DOUBLE - #else - #undef UNITY_INCLUDE_DOUBLE - #endif - - #ifndef UNITY_EXCLUDE_FLOAT - #ifndef UNITY_DOUBLE_TYPE - #define UNITY_DOUBLE_TYPE double - #endif - typedef UNITY_FLOAT UNITY_DOUBLE; - /* For parameter in UnityPrintFloat(UNITY_DOUBLE), which aliases to double or float */ - #endif - -#else - - /* Double Floating Point Support */ - #ifndef UNITY_DOUBLE_PRECISION - #define UNITY_DOUBLE_PRECISION (1e-12) - #endif - - #ifndef UNITY_DOUBLE_TYPE - #define UNITY_DOUBLE_TYPE double - #endif - typedef UNITY_DOUBLE_TYPE UNITY_DOUBLE; - -#endif - -/*------------------------------------------------------- - * Output Method: stdout (DEFAULT) - *-------------------------------------------------------*/ -#ifndef UNITY_OUTPUT_CHAR - /* Default to using putchar, which is defined in stdio.h */ - #include <stdio.h> - #define UNITY_OUTPUT_CHAR(a) (void)putchar(a) -#else - /* If defined as something else, make sure we declare it here so it's ready for use */ - #ifdef UNITY_OUTPUT_CHAR_HEADER_DECLARATION - extern void UNITY_OUTPUT_CHAR_HEADER_DECLARATION; - #endif -#endif - -#ifndef UNITY_OUTPUT_FLUSH - #ifdef UNITY_USE_FLUSH_STDOUT - /* We want to use the stdout flush utility */ - #include <stdio.h> - #define UNITY_OUTPUT_FLUSH() (void)fflush(stdout) - #else - /* We've specified nothing, therefore flush should just be ignored */ - #define UNITY_OUTPUT_FLUSH() - #endif -#else - /* If defined as something else, make sure we declare it here so it's ready for use */ - #ifdef UNITY_OUTPUT_FLUSH_HEADER_DECLARATION - extern void UNITY_OUTPUT_FLUSH_HEADER_DECLARATION; - #endif -#endif - -#ifndef UNITY_OUTPUT_FLUSH -#define UNITY_FLUSH_CALL() -#else -#define UNITY_FLUSH_CALL() UNITY_OUTPUT_FLUSH() -#endif - -#ifndef UNITY_PRINT_EOL -#define UNITY_PRINT_EOL() UNITY_OUTPUT_CHAR('\n') -#endif - -#ifndef UNITY_OUTPUT_START -#define UNITY_OUTPUT_START() -#endif - -#ifndef UNITY_OUTPUT_COMPLETE -#define UNITY_OUTPUT_COMPLETE() -#endif - -#ifdef UNITY_INCLUDE_EXEC_TIME - #if !defined(UNITY_EXEC_TIME_START) && \ - !defined(UNITY_EXEC_TIME_STOP) && \ - !defined(UNITY_PRINT_EXEC_TIME) && \ - !defined(UNITY_TIME_TYPE) - /* If none any of these macros are defined then try to provide a default implementation */ - - #if defined(UNITY_CLOCK_MS) - /* This is a simple way to get a default implementation on platforms that support getting a millisecond counter */ - #define UNITY_TIME_TYPE UNITY_UINT - #define UNITY_EXEC_TIME_START() Unity.CurrentTestStartTime = UNITY_CLOCK_MS() - #define UNITY_EXEC_TIME_STOP() Unity.CurrentTestStopTime = UNITY_CLOCK_MS() - #define UNITY_PRINT_EXEC_TIME() { \ - UNITY_UINT execTimeMs = (Unity.CurrentTestStopTime - Unity.CurrentTestStartTime); \ - UnityPrint(" ("); \ - UnityPrintNumberUnsigned(execTimeMs); \ - UnityPrint(" ms)"); \ - } - #elif defined(_WIN32) - #include <time.h> - #define UNITY_TIME_TYPE clock_t - #define UNITY_GET_TIME(t) t = (clock_t)((clock() * 1000) / CLOCKS_PER_SEC) - #define UNITY_EXEC_TIME_START() UNITY_GET_TIME(Unity.CurrentTestStartTime) - #define UNITY_EXEC_TIME_STOP() UNITY_GET_TIME(Unity.CurrentTestStopTime) - #define UNITY_PRINT_EXEC_TIME() { \ - UNITY_UINT execTimeMs = (Unity.CurrentTestStopTime - Unity.CurrentTestStartTime); \ - UnityPrint(" ("); \ - UnityPrintNumberUnsigned(execTimeMs); \ - UnityPrint(" ms)"); \ - } - #elif defined(__unix__) - #include <time.h> - #define UNITY_TIME_TYPE struct timespec - #define UNITY_GET_TIME(t) clock_gettime(CLOCK_MONOTONIC, &t) - #define UNITY_EXEC_TIME_START() UNITY_GET_TIME(Unity.CurrentTestStartTime) - #define UNITY_EXEC_TIME_STOP() UNITY_GET_TIME(Unity.CurrentTestStopTime) - #define UNITY_PRINT_EXEC_TIME() { \ - UNITY_UINT execTimeMs = ((Unity.CurrentTestStopTime.tv_sec - Unity.CurrentTestStartTime.tv_sec) * 1000L); \ - execTimeMs += ((Unity.CurrentTestStopTime.tv_nsec - Unity.CurrentTestStartTime.tv_nsec) / 1000000L); \ - UnityPrint(" ("); \ - UnityPrintNumberUnsigned(execTimeMs); \ - UnityPrint(" ms)"); \ - } - #endif - #endif -#endif - -#ifndef UNITY_EXEC_TIME_START -#define UNITY_EXEC_TIME_START() do{}while(0) -#endif - -#ifndef UNITY_EXEC_TIME_STOP -#define UNITY_EXEC_TIME_STOP() do{}while(0) -#endif - -#ifndef UNITY_TIME_TYPE -#define UNITY_TIME_TYPE UNITY_UINT -#endif - -#ifndef UNITY_PRINT_EXEC_TIME -#define UNITY_PRINT_EXEC_TIME() do{}while(0) -#endif - -/*------------------------------------------------------- - * Footprint - *-------------------------------------------------------*/ - -#ifndef UNITY_LINE_TYPE -#define UNITY_LINE_TYPE UNITY_UINT -#endif - -#ifndef UNITY_COUNTER_TYPE -#define UNITY_COUNTER_TYPE UNITY_UINT -#endif - -/*------------------------------------------------------- - * Internal Structs Needed - *-------------------------------------------------------*/ - -typedef void (*UnityTestFunction)(void); - -#define UNITY_DISPLAY_RANGE_INT (0x10) -#define UNITY_DISPLAY_RANGE_UINT (0x20) -#define UNITY_DISPLAY_RANGE_HEX (0x40) -#define UNITY_DISPLAY_RANGE_CHAR (0x80) - -typedef enum -{ - UNITY_DISPLAY_STYLE_INT = (UNITY_INT_WIDTH / 8) + UNITY_DISPLAY_RANGE_INT, - UNITY_DISPLAY_STYLE_INT8 = 1 + UNITY_DISPLAY_RANGE_INT, - UNITY_DISPLAY_STYLE_INT16 = 2 + UNITY_DISPLAY_RANGE_INT, - UNITY_DISPLAY_STYLE_INT32 = 4 + UNITY_DISPLAY_RANGE_INT, -#ifdef UNITY_SUPPORT_64 - UNITY_DISPLAY_STYLE_INT64 = 8 + UNITY_DISPLAY_RANGE_INT, -#endif - - UNITY_DISPLAY_STYLE_UINT = (UNITY_INT_WIDTH / 8) + UNITY_DISPLAY_RANGE_UINT, - UNITY_DISPLAY_STYLE_UINT8 = 1 + UNITY_DISPLAY_RANGE_UINT, - UNITY_DISPLAY_STYLE_UINT16 = 2 + UNITY_DISPLAY_RANGE_UINT, - UNITY_DISPLAY_STYLE_UINT32 = 4 + UNITY_DISPLAY_RANGE_UINT, -#ifdef UNITY_SUPPORT_64 - UNITY_DISPLAY_STYLE_UINT64 = 8 + UNITY_DISPLAY_RANGE_UINT, -#endif - - UNITY_DISPLAY_STYLE_HEX8 = 1 + UNITY_DISPLAY_RANGE_HEX, - UNITY_DISPLAY_STYLE_HEX16 = 2 + UNITY_DISPLAY_RANGE_HEX, - UNITY_DISPLAY_STYLE_HEX32 = 4 + UNITY_DISPLAY_RANGE_HEX, -#ifdef UNITY_SUPPORT_64 - UNITY_DISPLAY_STYLE_HEX64 = 8 + UNITY_DISPLAY_RANGE_HEX, -#endif - - UNITY_DISPLAY_STYLE_CHAR = 1 + UNITY_DISPLAY_RANGE_CHAR + UNITY_DISPLAY_RANGE_INT, - - UNITY_DISPLAY_STYLE_UNKNOWN -} UNITY_DISPLAY_STYLE_T; - -typedef enum -{ - UNITY_WITHIN = 0x0, - UNITY_EQUAL_TO = 0x1, - UNITY_GREATER_THAN = 0x2, - UNITY_GREATER_OR_EQUAL = 0x2 + UNITY_EQUAL_TO, - UNITY_SMALLER_THAN = 0x4, - UNITY_SMALLER_OR_EQUAL = 0x4 + UNITY_EQUAL_TO, - UNITY_UNKNOWN -} UNITY_COMPARISON_T; - -#ifndef UNITY_EXCLUDE_FLOAT -typedef enum UNITY_FLOAT_TRAIT -{ - UNITY_FLOAT_IS_NOT_INF = 0, - UNITY_FLOAT_IS_INF, - UNITY_FLOAT_IS_NOT_NEG_INF, - UNITY_FLOAT_IS_NEG_INF, - UNITY_FLOAT_IS_NOT_NAN, - UNITY_FLOAT_IS_NAN, - UNITY_FLOAT_IS_NOT_DET, - UNITY_FLOAT_IS_DET, - UNITY_FLOAT_INVALID_TRAIT -} UNITY_FLOAT_TRAIT_T; -#endif - -typedef enum -{ - UNITY_ARRAY_TO_VAL = 0, - UNITY_ARRAY_TO_ARRAY, - UNITY_ARRAY_UNKNOWN -} UNITY_FLAGS_T; - -struct UNITY_STORAGE_T -{ - const char* TestFile; - const char* CurrentTestName; -#ifndef UNITY_EXCLUDE_DETAILS - const char* CurrentDetail1; - const char* CurrentDetail2; -#endif - UNITY_LINE_TYPE CurrentTestLineNumber; - UNITY_COUNTER_TYPE NumberOfTests; - UNITY_COUNTER_TYPE TestFailures; - UNITY_COUNTER_TYPE TestIgnores; - UNITY_COUNTER_TYPE CurrentTestFailed; - UNITY_COUNTER_TYPE CurrentTestIgnored; -#ifdef UNITY_INCLUDE_EXEC_TIME - UNITY_TIME_TYPE CurrentTestStartTime; - UNITY_TIME_TYPE CurrentTestStopTime; -#endif -#ifndef UNITY_EXCLUDE_SETJMP_H - jmp_buf AbortFrame; -#endif -}; - -extern struct UNITY_STORAGE_T Unity; - -/*------------------------------------------------------- - * Test Suite Management - *-------------------------------------------------------*/ - -void UnityBegin(const char* filename); -int UnityEnd(void); -void UnitySetTestFile(const char* filename); -void UnityConcludeTest(void); - -#ifndef RUN_TEST -void UnityDefaultTestRun(UnityTestFunction Func, const char* FuncName, const int FuncLineNum); -#else -#define UNITY_SKIP_DEFAULT_RUNNER -#endif - -/*------------------------------------------------------- - * Details Support - *-------------------------------------------------------*/ - -#ifdef UNITY_EXCLUDE_DETAILS -#define UNITY_CLR_DETAILS() -#define UNITY_SET_DETAIL(d1) -#define UNITY_SET_DETAILS(d1,d2) -#else -#define UNITY_CLR_DETAILS() { Unity.CurrentDetail1 = 0; Unity.CurrentDetail2 = 0; } -#define UNITY_SET_DETAIL(d1) { Unity.CurrentDetail1 = (d1); Unity.CurrentDetail2 = 0; } -#define UNITY_SET_DETAILS(d1,d2) { Unity.CurrentDetail1 = (d1); Unity.CurrentDetail2 = (d2); } - -#ifndef UNITY_DETAIL1_NAME -#define UNITY_DETAIL1_NAME "Function" -#endif - -#ifndef UNITY_DETAIL2_NAME -#define UNITY_DETAIL2_NAME "Argument" -#endif -#endif - -/*------------------------------------------------------- - * Test Output - *-------------------------------------------------------*/ - -void UnityPrint(const char* string); - -#ifdef UNITY_INCLUDE_PRINT_FORMATTED -void UnityPrintFormatted(const char* format, ...); -#endif - -void UnityPrintLen(const char* string, const UNITY_UINT32 length); -void UnityPrintMask(const UNITY_UINT mask, const UNITY_UINT number); -void UnityPrintNumberByStyle(const UNITY_INT number, const UNITY_DISPLAY_STYLE_T style); -void UnityPrintNumber(const UNITY_INT number_to_print); -void UnityPrintNumberUnsigned(const UNITY_UINT number); -void UnityPrintNumberHex(const UNITY_UINT number, const char nibbles_to_print); - -#ifndef UNITY_EXCLUDE_FLOAT_PRINT -void UnityPrintFloat(const UNITY_DOUBLE input_number); -#endif - -/*------------------------------------------------------- - * Test Assertion Functions - *------------------------------------------------------- - * Use the macros below this section instead of calling - * these directly. The macros have a consistent naming - * convention and will pull in file and line information - * for you. */ - -void UnityAssertEqualNumber(const UNITY_INT expected, - const UNITY_INT actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_DISPLAY_STYLE_T style); - -void UnityAssertGreaterOrLessOrEqualNumber(const UNITY_INT threshold, - const UNITY_INT actual, - const UNITY_COMPARISON_T compare, - const char *msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_DISPLAY_STYLE_T style); - -void UnityAssertEqualIntArray(UNITY_INTERNAL_PTR expected, - UNITY_INTERNAL_PTR actual, - const UNITY_UINT32 num_elements, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_DISPLAY_STYLE_T style, - const UNITY_FLAGS_T flags); - -void UnityAssertBits(const UNITY_INT mask, - const UNITY_INT expected, - const UNITY_INT actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber); - -void UnityAssertEqualString(const char* expected, - const char* actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber); - -void UnityAssertEqualStringLen(const char* expected, - const char* actual, - const UNITY_UINT32 length, - const char* msg, - const UNITY_LINE_TYPE lineNumber); - -void UnityAssertEqualStringArray( UNITY_INTERNAL_PTR expected, - const char** actual, - const UNITY_UINT32 num_elements, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_FLAGS_T flags); - -void UnityAssertEqualMemory( UNITY_INTERNAL_PTR expected, - UNITY_INTERNAL_PTR actual, - const UNITY_UINT32 length, - const UNITY_UINT32 num_elements, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_FLAGS_T flags); - -void UnityAssertNumbersWithin(const UNITY_UINT delta, - const UNITY_INT expected, - const UNITY_INT actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_DISPLAY_STYLE_T style); - -void UnityAssertNumbersArrayWithin(const UNITY_UINT delta, - UNITY_INTERNAL_PTR expected, - UNITY_INTERNAL_PTR actual, - const UNITY_UINT32 num_elements, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_DISPLAY_STYLE_T style, - const UNITY_FLAGS_T flags); - -void UnityFail(const char* message, const UNITY_LINE_TYPE line); -void UnityIgnore(const char* message, const UNITY_LINE_TYPE line); -void UnityMessage(const char* message, const UNITY_LINE_TYPE line); - -#ifndef UNITY_EXCLUDE_FLOAT -void UnityAssertFloatsWithin(const UNITY_FLOAT delta, - const UNITY_FLOAT expected, - const UNITY_FLOAT actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber); - -void UnityAssertEqualFloatArray(UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* expected, - UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* actual, - const UNITY_UINT32 num_elements, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_FLAGS_T flags); - -void UnityAssertFloatSpecial(const UNITY_FLOAT actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_FLOAT_TRAIT_T style); -#endif - -#ifndef UNITY_EXCLUDE_DOUBLE -void UnityAssertDoublesWithin(const UNITY_DOUBLE delta, - const UNITY_DOUBLE expected, - const UNITY_DOUBLE actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber); - -void UnityAssertEqualDoubleArray(UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* expected, - UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* actual, - const UNITY_UINT32 num_elements, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_FLAGS_T flags); - -void UnityAssertDoubleSpecial(const UNITY_DOUBLE actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_FLOAT_TRAIT_T style); -#endif - -/*------------------------------------------------------- - * Helpers - *-------------------------------------------------------*/ - -UNITY_INTERNAL_PTR UnityNumToPtr(const UNITY_INT num, const UNITY_UINT8 size); -#ifndef UNITY_EXCLUDE_FLOAT -UNITY_INTERNAL_PTR UnityFloatToPtr(const float num); -#endif -#ifndef UNITY_EXCLUDE_DOUBLE -UNITY_INTERNAL_PTR UnityDoubleToPtr(const double num); -#endif - -/*------------------------------------------------------- - * Error Strings We Might Need - *-------------------------------------------------------*/ - -extern const char UnityStrOk[]; -extern const char UnityStrPass[]; -extern const char UnityStrFail[]; -extern const char UnityStrIgnore[]; - -extern const char UnityStrErrFloat[]; -extern const char UnityStrErrDouble[]; -extern const char UnityStrErr64[]; -extern const char UnityStrErrShorthand[]; - -/*------------------------------------------------------- - * Test Running Macros - *-------------------------------------------------------*/ - -#ifndef UNITY_EXCLUDE_SETJMP_H -#define TEST_PROTECT() (setjmp(Unity.AbortFrame) == 0) -#define TEST_ABORT() longjmp(Unity.AbortFrame, 1) -#else -#define TEST_PROTECT() 1 -#define TEST_ABORT() return -#endif - -/* This tricky series of macros gives us an optional line argument to treat it as RUN_TEST(func, num=__LINE__) */ -#ifndef RUN_TEST -#ifdef __STDC_VERSION__ -#if __STDC_VERSION__ >= 199901L -#define UNITY_SUPPORT_VARIADIC_MACROS -#endif -#endif -#ifdef UNITY_SUPPORT_VARIADIC_MACROS -#define RUN_TEST(...) UnityDefaultTestRun(RUN_TEST_FIRST(__VA_ARGS__), RUN_TEST_SECOND(__VA_ARGS__)) -#define RUN_TEST_FIRST(...) RUN_TEST_FIRST_HELPER(__VA_ARGS__, throwaway) -#define RUN_TEST_FIRST_HELPER(first, ...) (first), #first -#define RUN_TEST_SECOND(...) RUN_TEST_SECOND_HELPER(__VA_ARGS__, __LINE__, throwaway) -#define RUN_TEST_SECOND_HELPER(first, second, ...) (second) -#endif -#endif - -/* If we can't do the tricky version, we'll just have to require them to always include the line number */ -#ifndef RUN_TEST -#ifdef CMOCK -#define RUN_TEST(func, num) UnityDefaultTestRun(func, #func, num) -#else -#define RUN_TEST(func) UnityDefaultTestRun(func, #func, __LINE__) -#endif -#endif - -#define TEST_LINE_NUM (Unity.CurrentTestLineNumber) -#define TEST_IS_IGNORED (Unity.CurrentTestIgnored) -#define UNITY_NEW_TEST(a) \ - Unity.CurrentTestName = (a); \ - Unity.CurrentTestLineNumber = (UNITY_LINE_TYPE)(__LINE__); \ - Unity.NumberOfTests++; - -#ifndef UNITY_BEGIN -#define UNITY_BEGIN() UnityBegin(__FILE__) -#endif - -#ifndef UNITY_END -#define UNITY_END() UnityEnd() -#endif - -#ifndef UNITY_SHORTHAND_AS_INT -#ifndef UNITY_SHORTHAND_AS_MEM -#ifndef UNITY_SHORTHAND_AS_NONE -#ifndef UNITY_SHORTHAND_AS_RAW -#define UNITY_SHORTHAND_AS_OLD -#endif -#endif -#endif -#endif - -/*----------------------------------------------- - * Command Line Argument Support - *-----------------------------------------------*/ - -#ifdef UNITY_USE_COMMAND_LINE_ARGS -int UnityParseOptions(int argc, char** argv); -int UnityTestMatches(void); -#endif - -/*------------------------------------------------------- - * Basic Fail and Ignore - *-------------------------------------------------------*/ - -#define UNITY_TEST_FAIL(line, message) UnityFail( (message), (UNITY_LINE_TYPE)(line)) -#define UNITY_TEST_IGNORE(line, message) UnityIgnore( (message), (UNITY_LINE_TYPE)(line)) - -/*------------------------------------------------------- - * Test Asserts - *-------------------------------------------------------*/ - -#define UNITY_TEST_ASSERT(condition, line, message) if (condition) {} else {UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), (message));} -#define UNITY_TEST_ASSERT_NULL(pointer, line, message) UNITY_TEST_ASSERT(((pointer) == NULL), (UNITY_LINE_TYPE)(line), (message)) -#define UNITY_TEST_ASSERT_NOT_NULL(pointer, line, message) UNITY_TEST_ASSERT(((pointer) != NULL), (UNITY_LINE_TYPE)(line), (message)) - -#define UNITY_TEST_ASSERT_EQUAL_INT(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) -#define UNITY_TEST_ASSERT_EQUAL_INT8(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT8 )(expected), (UNITY_INT)(UNITY_INT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) -#define UNITY_TEST_ASSERT_EQUAL_INT16(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT16)(expected), (UNITY_INT)(UNITY_INT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) -#define UNITY_TEST_ASSERT_EQUAL_INT32(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT32)(expected), (UNITY_INT)(UNITY_INT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) -#define UNITY_TEST_ASSERT_EQUAL_UINT(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) -#define UNITY_TEST_ASSERT_EQUAL_UINT8(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_UINT8 )(expected), (UNITY_INT)(UNITY_UINT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) -#define UNITY_TEST_ASSERT_EQUAL_UINT16(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_UINT16)(expected), (UNITY_INT)(UNITY_UINT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) -#define UNITY_TEST_ASSERT_EQUAL_UINT32(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_UINT32)(expected), (UNITY_INT)(UNITY_UINT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) -#define UNITY_TEST_ASSERT_EQUAL_HEX8(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT8 )(expected), (UNITY_INT)(UNITY_INT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) -#define UNITY_TEST_ASSERT_EQUAL_HEX16(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT16)(expected), (UNITY_INT)(UNITY_INT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) -#define UNITY_TEST_ASSERT_EQUAL_HEX32(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT32)(expected), (UNITY_INT)(UNITY_INT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) -#define UNITY_TEST_ASSERT_EQUAL_CHAR(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT8 )(expected), (UNITY_INT)(UNITY_INT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR) -#define UNITY_TEST_ASSERT_BITS(mask, expected, actual, line, message) UnityAssertBits((UNITY_INT)(mask), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line)) - -#define UNITY_TEST_ASSERT_GREATER_THAN_INT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) -#define UNITY_TEST_ASSERT_GREATER_THAN_INT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) -#define UNITY_TEST_ASSERT_GREATER_THAN_INT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16)(threshold), (UNITY_INT)(UNITY_INT16)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) -#define UNITY_TEST_ASSERT_GREATER_THAN_INT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32)(threshold), (UNITY_INT)(UNITY_INT32)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) -#define UNITY_TEST_ASSERT_GREATER_THAN_UINT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) -#define UNITY_TEST_ASSERT_GREATER_THAN_UINT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) -#define UNITY_TEST_ASSERT_GREATER_THAN_UINT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) -#define UNITY_TEST_ASSERT_GREATER_THAN_UINT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) -#define UNITY_TEST_ASSERT_GREATER_THAN_HEX8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) -#define UNITY_TEST_ASSERT_GREATER_THAN_HEX16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) -#define UNITY_TEST_ASSERT_GREATER_THAN_HEX32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) -#define UNITY_TEST_ASSERT_GREATER_THAN_CHAR(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR) - -#define UNITY_TEST_ASSERT_SMALLER_THAN_INT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) -#define UNITY_TEST_ASSERT_SMALLER_THAN_INT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) -#define UNITY_TEST_ASSERT_SMALLER_THAN_INT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16)(threshold), (UNITY_INT)(UNITY_INT16)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) -#define UNITY_TEST_ASSERT_SMALLER_THAN_INT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32)(threshold), (UNITY_INT)(UNITY_INT32)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) -#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) -#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) -#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) -#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) -#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) -#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) -#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) -#define UNITY_TEST_ASSERT_SMALLER_THAN_CHAR(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR) - -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT) (threshold), (UNITY_INT) (actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 ) (threshold), (UNITY_INT)(UNITY_INT8 ) (actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16) (threshold), (UNITY_INT)(UNITY_INT16) (actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32) (threshold), (UNITY_INT)(UNITY_INT32) (actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT) (threshold), (UNITY_INT) (actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_CHAR(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 ) (threshold), (UNITY_INT)(UNITY_INT8 ) (actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR) - -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT) (threshold), (UNITY_INT) (actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 ) (actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16)(threshold), (UNITY_INT)(UNITY_INT16) (actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32)(threshold), (UNITY_INT)(UNITY_INT32) (actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT) (threshold), (UNITY_INT) (actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_CHAR(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 ) (actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR) - -#define UNITY_TEST_ASSERT_INT_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin( (delta), (UNITY_INT) (expected), (UNITY_INT) (actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) -#define UNITY_TEST_ASSERT_INT8_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT8 )(delta), (UNITY_INT)(UNITY_INT8 ) (expected), (UNITY_INT)(UNITY_INT8 ) (actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) -#define UNITY_TEST_ASSERT_INT16_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT16)(delta), (UNITY_INT)(UNITY_INT16) (expected), (UNITY_INT)(UNITY_INT16) (actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) -#define UNITY_TEST_ASSERT_INT32_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT32)(delta), (UNITY_INT)(UNITY_INT32) (expected), (UNITY_INT)(UNITY_INT32) (actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) -#define UNITY_TEST_ASSERT_UINT_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin( (delta), (UNITY_INT) (expected), (UNITY_INT) (actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) -#define UNITY_TEST_ASSERT_UINT8_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT8 )(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT8 )(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) -#define UNITY_TEST_ASSERT_UINT16_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT16)(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT16)(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) -#define UNITY_TEST_ASSERT_UINT32_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT32)(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) -#define UNITY_TEST_ASSERT_HEX8_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT8 )(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT8 )(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) -#define UNITY_TEST_ASSERT_HEX16_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT16)(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT16)(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) -#define UNITY_TEST_ASSERT_HEX32_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT32)(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) -#define UNITY_TEST_ASSERT_CHAR_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT8 )(delta), (UNITY_INT)(UNITY_INT8 ) (expected), (UNITY_INT)(UNITY_INT8 ) (actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR) - -#define UNITY_TEST_ASSERT_INT_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin( (delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_INT8_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT8 )(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_INT16_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT16)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_INT32_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT32)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_UINT_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin( (delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_UINT8_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin( (UNITY_UINT16)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_UINT16_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT16)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_UINT32_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT32)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_HEX8_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT8 )(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_HEX16_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT16)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_HEX32_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT32)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_CHAR_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT8 )(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, UNITY_ARRAY_TO_ARRAY) - - -#define UNITY_TEST_ASSERT_EQUAL_PTR(expected, actual, line, message) UnityAssertEqualNumber((UNITY_PTR_TO_INT)(expected), (UNITY_PTR_TO_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER) -#define UNITY_TEST_ASSERT_EQUAL_STRING(expected, actual, line, message) UnityAssertEqualString((const char*)(expected), (const char*)(actual), (message), (UNITY_LINE_TYPE)(line)) -#define UNITY_TEST_ASSERT_EQUAL_STRING_LEN(expected, actual, len, line, message) UnityAssertEqualStringLen((const char*)(expected), (const char*)(actual), (UNITY_UINT32)(len), (message), (UNITY_LINE_TYPE)(line)) -#define UNITY_TEST_ASSERT_EQUAL_MEMORY(expected, actual, len, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), 1, (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY) - -#define UNITY_TEST_ASSERT_EQUAL_INT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_INT8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_INT16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_INT32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_UINT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_UINT8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_UINT16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_UINT32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_HEX8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualStringArray((UNITY_INTERNAL_PTR)(expected), (const char**)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_CHAR_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, UNITY_ARRAY_TO_ARRAY) - -#define UNITY_TEST_ASSERT_EACH_EQUAL_INT(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT) (expected), (UNITY_INT_WIDTH / 8)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_INT8(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT8 )(expected), 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_INT16(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT16 )(expected), 2), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_INT32(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT32 )(expected), 4), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT) (expected), (UNITY_INT_WIDTH / 8)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT8(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT8 )(expected), 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT16(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT16)(expected), 2), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT32(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT32)(expected), 4), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX8(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT8 )(expected), 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX16(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT16 )(expected), 2), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX32(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT32 )(expected), 4), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_PTR(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_PTR_TO_INT) (expected), (UNITY_POINTER_WIDTH / 8)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_STRING(expected, actual, num_elements, line, message) UnityAssertEqualStringArray((UNITY_INTERNAL_PTR)(expected), (const char**)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_MEMORY(expected, actual, len, num_elements, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_CHAR(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT8 )(expected), 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, UNITY_ARRAY_TO_VAL) - -#ifdef UNITY_SUPPORT_64 -#define UNITY_TEST_ASSERT_EQUAL_INT64(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) -#define UNITY_TEST_ASSERT_EQUAL_UINT64(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) -#define UNITY_TEST_ASSERT_EQUAL_HEX64(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) -#define UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EACH_EQUAL_INT64(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT64)(expected), 8), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT64(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT64)(expected), 8), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX64(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT64)(expected), 8), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_INT64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) -#define UNITY_TEST_ASSERT_UINT64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) -#define UNITY_TEST_ASSERT_HEX64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) -#define UNITY_TEST_ASSERT_GREATER_THAN_INT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) -#define UNITY_TEST_ASSERT_GREATER_THAN_UINT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) -#define UNITY_TEST_ASSERT_GREATER_THAN_HEX64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) -#define UNITY_TEST_ASSERT_SMALLER_THAN_INT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) -#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) -#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) -#define UNITY_TEST_ASSERT_INT64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT64)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_UINT64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT64)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_HEX64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT64)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, UNITY_ARRAY_TO_ARRAY) -#else -#define UNITY_TEST_ASSERT_EQUAL_INT64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_EQUAL_UINT64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_EQUAL_HEX64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_INT64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_UINT64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_HEX64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_GREATER_THAN_INT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_GREATER_THAN_UINT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_GREATER_THAN_HEX64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_SMALLER_THAN_INT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_INT64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_UINT64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_HEX64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#endif - -#ifdef UNITY_EXCLUDE_FLOAT -#define UNITY_TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#define UNITY_TEST_ASSERT_EQUAL_FLOAT(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#define UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#define UNITY_TEST_ASSERT_EACH_EQUAL_FLOAT(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#define UNITY_TEST_ASSERT_FLOAT_IS_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#define UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#define UNITY_TEST_ASSERT_FLOAT_IS_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#define UNITY_TEST_ASSERT_FLOAT_IS_DETERMINATE(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#else -#define UNITY_TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual, line, message) UnityAssertFloatsWithin((UNITY_FLOAT)(delta), (UNITY_FLOAT)(expected), (UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line)) -#define UNITY_TEST_ASSERT_EQUAL_FLOAT(expected, actual, line, message) UNITY_TEST_ASSERT_FLOAT_WITHIN((UNITY_FLOAT)(expected) * (UNITY_FLOAT)UNITY_FLOAT_PRECISION, (UNITY_FLOAT)(expected), (UNITY_FLOAT)(actual), (UNITY_LINE_TYPE)(line), (message)) -#define UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualFloatArray((UNITY_FLOAT*)(expected), (UNITY_FLOAT*)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EACH_EQUAL_FLOAT(expected, actual, num_elements, line, message) UnityAssertEqualFloatArray(UnityFloatToPtr(expected), (UNITY_FLOAT*)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_FLOAT_IS_INF(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_INF) -#define UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NEG_INF) -#define UNITY_TEST_ASSERT_FLOAT_IS_NAN(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NAN) -#define UNITY_TEST_ASSERT_FLOAT_IS_DETERMINATE(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_DET) -#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_INF(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_INF) -#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NEG_INF(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NEG_INF) -#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NAN) -#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_DET) -#endif - -#ifdef UNITY_EXCLUDE_DOUBLE -#define UNITY_TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#define UNITY_TEST_ASSERT_EQUAL_DOUBLE(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#define UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#define UNITY_TEST_ASSERT_EACH_EQUAL_DOUBLE(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#define UNITY_TEST_ASSERT_DOUBLE_IS_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#define UNITY_TEST_ASSERT_DOUBLE_IS_DETERMINATE(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#else -#define UNITY_TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual, line, message) UnityAssertDoublesWithin((UNITY_DOUBLE)(delta), (UNITY_DOUBLE)(expected), (UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line)) -#define UNITY_TEST_ASSERT_EQUAL_DOUBLE(expected, actual, line, message) UNITY_TEST_ASSERT_DOUBLE_WITHIN((UNITY_DOUBLE)(expected) * (UNITY_DOUBLE)UNITY_DOUBLE_PRECISION, (UNITY_DOUBLE)(expected), (UNITY_DOUBLE)(actual), (UNITY_LINE_TYPE)(line), (message)) -#define UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualDoubleArray((UNITY_DOUBLE*)(expected), (UNITY_DOUBLE*)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EACH_EQUAL_DOUBLE(expected, actual, num_elements, line, message) UnityAssertEqualDoubleArray(UnityDoubleToPtr(expected), (UNITY_DOUBLE*)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_DOUBLE_IS_INF(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_INF) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NEG_INF) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NAN(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NAN) -#define UNITY_TEST_ASSERT_DOUBLE_IS_DETERMINATE(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_DET) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_INF(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_INF) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NEG_INF) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NAN) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_DET) -#endif - -/* End of UNITY_INTERNALS_H */ -#endif diff --git a/vendor/_unity/include/unity_memory.h b/vendor/_unity/include/unity_memory.h deleted file mode 100644 index ccdb826..0000000 --- a/vendor/_unity/include/unity_memory.h +++ /dev/null @@ -1,60 +0,0 @@ -/* ========================================== - * Unity Project - A Test Framework for C - * Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams - * [Released under MIT License. Please refer to license.txt for details] - * ========================================== */ - -#ifndef UNITY_MEMORY_OVERRIDES_H_ -#define UNITY_MEMORY_OVERRIDES_H_ - -#ifdef __cplusplus -extern "C" -{ -#endif - -#include <stddef.h> - -#ifdef UNITY_EXCLUDE_STDLIB_MALLOC -/* Define this macro to remove the use of stdlib.h, malloc, and free. - * Many embedded systems do not have a heap or malloc/free by default. - * This internal unity_malloc() provides allocated memory deterministically from - * the end of an array only, unity_free() only releases from end-of-array, - * blocks are not coalesced, and memory not freed in LIFO order is stranded. */ - #ifndef UNITY_INTERNAL_HEAP_SIZE_BYTES - #define UNITY_INTERNAL_HEAP_SIZE_BYTES 256 - #endif -#endif - -/* These functions are used by Unity to allocate and release memory - * on the heap and can be overridden with platform-specific implementations. - * For example, when using FreeRTOS UNITY_MALLOC becomes pvPortMalloc() - * and UNITY_FREE becomes vPortFree(). */ -#if !defined(UNITY_MALLOC) || !defined(UNITY_FREE) - #include <stdlib.h> - #define UNITY_MALLOC(size) malloc(size) - #define UNITY_FREE(ptr) free(ptr) -#else - extern void* UNITY_MALLOC(size_t size); - extern void UNITY_FREE(void* ptr); -#endif - -#define malloc unity_malloc -#define calloc unity_calloc -#define realloc unity_realloc -#define free unity_free - -void* unity_malloc(size_t size); -void* unity_calloc(size_t num, size_t size); -void* unity_realloc(void * oldMem, size_t size); -void unity_free(void * mem); - -/* You must compile with malloc replacement, as defined in unity_fixture_malloc_overrides.h */ -void UnityMalloc_StartTest(void); -void UnityMalloc_EndTest(void); -void UnityMalloc_MakeMallocFailAfterCount(int countdown); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/vendor/_unity/src/unity.c b/vendor/_unity/src/unity.c deleted file mode 100644 index 253c2cf..0000000 --- a/vendor/_unity/src/unity.c +++ /dev/null @@ -1,2088 +0,0 @@ -/* ========================================================================= - Unity Project - A Test Framework for C - Copyright (c) 2007-19 Mike Karlesky, Mark VanderVoord, Greg Williams - [Released under MIT License. Please refer to license.txt for details] -============================================================================ */ - -#include "unity.h" -#include <stddef.h> - -#ifdef AVR -#include <avr/pgmspace.h> -#else -#define PROGMEM -#endif - -/* If omitted from header, declare overrideable prototypes here so they're ready for use */ -#ifdef UNITY_OMIT_OUTPUT_CHAR_HEADER_DECLARATION -void UNITY_OUTPUT_CHAR(int); -#endif - -/* Helpful macros for us to use here in Assert functions */ -#define UNITY_FAIL_AND_BAIL { Unity.CurrentTestFailed = 1; UNITY_OUTPUT_FLUSH(); TEST_ABORT(); } -#define UNITY_IGNORE_AND_BAIL { Unity.CurrentTestIgnored = 1; UNITY_OUTPUT_FLUSH(); TEST_ABORT(); } -#define RETURN_IF_FAIL_OR_IGNORE if (Unity.CurrentTestFailed || Unity.CurrentTestIgnored) return - -struct UNITY_STORAGE_T Unity; - -#ifdef UNITY_OUTPUT_COLOR -const char PROGMEM UnityStrOk[] = "\033[42mOK\033[00m"; -const char PROGMEM UnityStrPass[] = "\033[42mPASS\033[00m"; -const char PROGMEM UnityStrFail[] = "\033[41mFAIL\033[00m"; -const char PROGMEM UnityStrIgnore[] = "\033[43mIGNORE\033[00m"; -#else -const char PROGMEM UnityStrOk[] = "OK"; -const char PROGMEM UnityStrPass[] = "PASS"; -const char PROGMEM UnityStrFail[] = "FAIL"; -const char PROGMEM UnityStrIgnore[] = "IGNORE"; -#endif -static const char PROGMEM UnityStrNull[] = "NULL"; -static const char PROGMEM UnityStrSpacer[] = ". "; -static const char PROGMEM UnityStrExpected[] = " Expected "; -static const char PROGMEM UnityStrWas[] = " Was "; -static const char PROGMEM UnityStrGt[] = " to be greater than "; -static const char PROGMEM UnityStrLt[] = " to be less than "; -static const char PROGMEM UnityStrOrEqual[] = "or equal to "; -static const char PROGMEM UnityStrElement[] = " Element "; -static const char PROGMEM UnityStrByte[] = " Byte "; -static const char PROGMEM UnityStrMemory[] = " Memory Mismatch."; -static const char PROGMEM UnityStrDelta[] = " Values Not Within Delta "; -static const char PROGMEM UnityStrPointless[] = " You Asked Me To Compare Nothing, Which Was Pointless."; -static const char PROGMEM UnityStrNullPointerForExpected[] = " Expected pointer to be NULL"; -static const char PROGMEM UnityStrNullPointerForActual[] = " Actual pointer was NULL"; -#ifndef UNITY_EXCLUDE_FLOAT -static const char PROGMEM UnityStrNot[] = "Not "; -static const char PROGMEM UnityStrInf[] = "Infinity"; -static const char PROGMEM UnityStrNegInf[] = "Negative Infinity"; -static const char PROGMEM UnityStrNaN[] = "NaN"; -static const char PROGMEM UnityStrDet[] = "Determinate"; -static const char PROGMEM UnityStrInvalidFloatTrait[] = "Invalid Float Trait"; -#endif -const char PROGMEM UnityStrErrShorthand[] = "Unity Shorthand Support Disabled"; -const char PROGMEM UnityStrErrFloat[] = "Unity Floating Point Disabled"; -const char PROGMEM UnityStrErrDouble[] = "Unity Double Precision Disabled"; -const char PROGMEM UnityStrErr64[] = "Unity 64-bit Support Disabled"; -static const char PROGMEM UnityStrBreaker[] = "-----------------------"; -static const char PROGMEM UnityStrResultsTests[] = " Tests "; -static const char PROGMEM UnityStrResultsFailures[] = " Failures "; -static const char PROGMEM UnityStrResultsIgnored[] = " Ignored "; -static const char PROGMEM UnityStrDetail1Name[] = UNITY_DETAIL1_NAME " "; -static const char PROGMEM UnityStrDetail2Name[] = " " UNITY_DETAIL2_NAME " "; - -/*----------------------------------------------- - * Pretty Printers & Test Result Output Handlers - *-----------------------------------------------*/ - -/*-----------------------------------------------*/ -/* Local helper function to print characters. */ -static void UnityPrintChar(const char* pch) -{ - /* printable characters plus CR & LF are printed */ - if ((*pch <= 126) && (*pch >= 32)) - { - UNITY_OUTPUT_CHAR(*pch); - } - /* write escaped carriage returns */ - else if (*pch == 13) - { - UNITY_OUTPUT_CHAR('\\'); - UNITY_OUTPUT_CHAR('r'); - } - /* write escaped line feeds */ - else if (*pch == 10) - { - UNITY_OUTPUT_CHAR('\\'); - UNITY_OUTPUT_CHAR('n'); - } - /* unprintable characters are shown as codes */ - else - { - UNITY_OUTPUT_CHAR('\\'); - UNITY_OUTPUT_CHAR('x'); - UnityPrintNumberHex((UNITY_UINT)*pch, 2); - } -} - -/*-----------------------------------------------*/ -/* Local helper function to print ANSI escape strings e.g. "\033[42m". */ -#ifdef UNITY_OUTPUT_COLOR -static UNITY_UINT UnityPrintAnsiEscapeString(const char* string) -{ - const char* pch = string; - UNITY_UINT count = 0; - - while (*pch && (*pch != 'm')) - { - UNITY_OUTPUT_CHAR(*pch); - pch++; - count++; - } - UNITY_OUTPUT_CHAR('m'); - count++; - - return count; -} -#endif - -/*-----------------------------------------------*/ -void UnityPrint(const char* string) -{ - const char* pch = string; - - if (pch != NULL) - { - while (*pch) - { -#ifdef UNITY_OUTPUT_COLOR - /* print ANSI escape code */ - if ((*pch == 27) && (*(pch + 1) == '[')) - { - pch += UnityPrintAnsiEscapeString(pch); - continue; - } -#endif - UnityPrintChar(pch); - pch++; - } - } -} - -/*-----------------------------------------------*/ -#ifdef UNITY_INCLUDE_PRINT_FORMATTED -void UnityPrintFormatted(const char* format, ...) -{ - const char* pch = format; - va_list va; - va_start(va, format); - - if (pch != NULL) - { - while (*pch) - { - /* format identification character */ - if (*pch == '%') - { - pch++; - - if (pch != NULL) - { - switch (*pch) - { - case 'd': - case 'i': - { - const int number = va_arg(va, int); - UnityPrintNumber((UNITY_INT)number); - break; - } -#ifndef UNITY_EXCLUDE_FLOAT_PRINT - case 'f': - case 'g': - { - const double number = va_arg(va, double); - UnityPrintFloat((UNITY_DOUBLE)number); - break; - } -#endif - case 'u': - { - const unsigned int number = va_arg(va, unsigned int); - UnityPrintNumberUnsigned((UNITY_UINT)number); - break; - } - case 'b': - { - const unsigned int number = va_arg(va, unsigned int); - const UNITY_UINT mask = (UNITY_UINT)0 - (UNITY_UINT)1; - UNITY_OUTPUT_CHAR('0'); - UNITY_OUTPUT_CHAR('b'); - UnityPrintMask(mask, (UNITY_UINT)number); - break; - } - case 'x': - case 'X': - case 'p': - { - const unsigned int number = va_arg(va, unsigned int); - UNITY_OUTPUT_CHAR('0'); - UNITY_OUTPUT_CHAR('x'); - UnityPrintNumberHex((UNITY_UINT)number, 8); - break; - } - case 'c': - { - const int ch = va_arg(va, int); - UnityPrintChar((const char *)&ch); - break; - } - case 's': - { - const char * string = va_arg(va, const char *); - UnityPrint(string); - break; - } - case '%': - { - UnityPrintChar(pch); - break; - } - default: - { - /* print the unknown format character */ - UNITY_OUTPUT_CHAR('%'); - UnityPrintChar(pch); - break; - } - } - } - } -#ifdef UNITY_OUTPUT_COLOR - /* print ANSI escape code */ - else if ((*pch == 27) && (*(pch + 1) == '[')) - { - pch += UnityPrintAnsiEscapeString(pch); - continue; - } -#endif - else if (*pch == '\n') - { - UNITY_PRINT_EOL(); - } - else - { - UnityPrintChar(pch); - } - - pch++; - } - } - - va_end(va); -} -#endif /* ! UNITY_INCLUDE_PRINT_FORMATTED */ - -/*-----------------------------------------------*/ -void UnityPrintLen(const char* string, const UNITY_UINT32 length) -{ - const char* pch = string; - - if (pch != NULL) - { - while (*pch && ((UNITY_UINT32)(pch - string) < length)) - { - /* printable characters plus CR & LF are printed */ - if ((*pch <= 126) && (*pch >= 32)) - { - UNITY_OUTPUT_CHAR(*pch); - } - /* write escaped carriage returns */ - else if (*pch == 13) - { - UNITY_OUTPUT_CHAR('\\'); - UNITY_OUTPUT_CHAR('r'); - } - /* write escaped line feeds */ - else if (*pch == 10) - { - UNITY_OUTPUT_CHAR('\\'); - UNITY_OUTPUT_CHAR('n'); - } - /* unprintable characters are shown as codes */ - else - { - UNITY_OUTPUT_CHAR('\\'); - UNITY_OUTPUT_CHAR('x'); - UnityPrintNumberHex((UNITY_UINT)*pch, 2); - } - pch++; - } - } -} - -/*-----------------------------------------------*/ -void UnityPrintNumberByStyle(const UNITY_INT number, const UNITY_DISPLAY_STYLE_T style) -{ - if ((style & UNITY_DISPLAY_RANGE_INT) == UNITY_DISPLAY_RANGE_INT) - { - if (style == UNITY_DISPLAY_STYLE_CHAR) - { - /* printable characters plus CR & LF are printed */ - UNITY_OUTPUT_CHAR('\''); - if ((number <= 126) && (number >= 32)) - { - UNITY_OUTPUT_CHAR((int)number); - } - /* write escaped carriage returns */ - else if (number == 13) - { - UNITY_OUTPUT_CHAR('\\'); - UNITY_OUTPUT_CHAR('r'); - } - /* write escaped line feeds */ - else if (number == 10) - { - UNITY_OUTPUT_CHAR('\\'); - UNITY_OUTPUT_CHAR('n'); - } - /* unprintable characters are shown as codes */ - else - { - UNITY_OUTPUT_CHAR('\\'); - UNITY_OUTPUT_CHAR('x'); - UnityPrintNumberHex((UNITY_UINT)number, 2); - } - UNITY_OUTPUT_CHAR('\''); - } - else - { - UnityPrintNumber(number); - } - } - else if ((style & UNITY_DISPLAY_RANGE_UINT) == UNITY_DISPLAY_RANGE_UINT) - { - UnityPrintNumberUnsigned((UNITY_UINT)number); - } - else - { - UNITY_OUTPUT_CHAR('0'); - UNITY_OUTPUT_CHAR('x'); - UnityPrintNumberHex((UNITY_UINT)number, (char)((style & 0xF) * 2)); - } -} - -/*-----------------------------------------------*/ -void UnityPrintNumber(const UNITY_INT number_to_print) -{ - UNITY_UINT number = (UNITY_UINT)number_to_print; - - if (number_to_print < 0) - { - /* A negative number, including MIN negative */ - UNITY_OUTPUT_CHAR('-'); - number = (~number) + 1; - } - UnityPrintNumberUnsigned(number); -} - -/*----------------------------------------------- - * basically do an itoa using as little ram as possible */ -void UnityPrintNumberUnsigned(const UNITY_UINT number) -{ - UNITY_UINT divisor = 1; - - /* figure out initial divisor */ - while (number / divisor > 9) - { - divisor *= 10; - } - - /* now mod and print, then divide divisor */ - do - { - UNITY_OUTPUT_CHAR((char)('0' + (number / divisor % 10))); - divisor /= 10; - } while (divisor > 0); -} - -/*-----------------------------------------------*/ -void UnityPrintNumberHex(const UNITY_UINT number, const char nibbles_to_print) -{ - int nibble; - char nibbles = nibbles_to_print; - - if ((unsigned)nibbles > UNITY_MAX_NIBBLES) - { - nibbles = UNITY_MAX_NIBBLES; - } - - while (nibbles > 0) - { - nibbles--; - nibble = (int)(number >> (nibbles * 4)) & 0x0F; - if (nibble <= 9) - { - UNITY_OUTPUT_CHAR((char)('0' + nibble)); - } - else - { - UNITY_OUTPUT_CHAR((char)('A' - 10 + nibble)); - } - } -} - -/*-----------------------------------------------*/ -void UnityPrintMask(const UNITY_UINT mask, const UNITY_UINT number) -{ - UNITY_UINT current_bit = (UNITY_UINT)1 << (UNITY_INT_WIDTH - 1); - UNITY_INT32 i; - - for (i = 0; i < UNITY_INT_WIDTH; i++) - { - if (current_bit & mask) - { - if (current_bit & number) - { - UNITY_OUTPUT_CHAR('1'); - } - else - { - UNITY_OUTPUT_CHAR('0'); - } - } - else - { - UNITY_OUTPUT_CHAR('X'); - } - current_bit = current_bit >> 1; - } -} - -/*-----------------------------------------------*/ -#ifndef UNITY_EXCLUDE_FLOAT_PRINT -/* - * This function prints a floating-point value in a format similar to - * printf("%.7g") on a single-precision machine or printf("%.9g") on a - * double-precision machine. The 7th digit won't always be totally correct - * in single-precision operation (for that level of accuracy, a more - * complicated algorithm would be needed). - */ -void UnityPrintFloat(const UNITY_DOUBLE input_number) -{ -#ifdef UNITY_INCLUDE_DOUBLE - static const int sig_digits = 9; - static const UNITY_INT32 min_scaled = 100000000; - static const UNITY_INT32 max_scaled = 1000000000; -#else - static const int sig_digits = 7; - static const UNITY_INT32 min_scaled = 1000000; - static const UNITY_INT32 max_scaled = 10000000; -#endif - - UNITY_DOUBLE number = input_number; - - /* print minus sign (does not handle negative zero) */ - if (number < 0.0f) - { - UNITY_OUTPUT_CHAR('-'); - number = -number; - } - - /* handle zero, NaN, and +/- infinity */ - if (number == 0.0f) - { - UnityPrint("0"); - } - else if (isnan(number)) - { - UnityPrint("nan"); - } - else if (isinf(number)) - { - UnityPrint("inf"); - } - else - { - UNITY_INT32 n_int = 0, n; - int exponent = 0; - int decimals, digits; - char buf[16] = {0}; - - /* - * Scale up or down by powers of 10. To minimize rounding error, - * start with a factor/divisor of 10^10, which is the largest - * power of 10 that can be represented exactly. Finally, compute - * (exactly) the remaining power of 10 and perform one more - * multiplication or division. - */ - if (number < 1.0f) - { - UNITY_DOUBLE factor = 1.0f; - - while (number < (UNITY_DOUBLE)max_scaled / 1e10f) { number *= 1e10f; exponent -= 10; } - while (number * factor < (UNITY_DOUBLE)min_scaled) { factor *= 10.0f; exponent--; } - - number *= factor; - } - else if (number > (UNITY_DOUBLE)max_scaled) - { - UNITY_DOUBLE divisor = 1.0f; - - while (number > (UNITY_DOUBLE)min_scaled * 1e10f) { number /= 1e10f; exponent += 10; } - while (number / divisor > (UNITY_DOUBLE)max_scaled) { divisor *= 10.0f; exponent++; } - - number /= divisor; - } - else - { - /* - * In this range, we can split off the integer part before - * doing any multiplications. This reduces rounding error by - * freeing up significant bits in the fractional part. - */ - UNITY_DOUBLE factor = 1.0f; - n_int = (UNITY_INT32)number; - number -= (UNITY_DOUBLE)n_int; - - while (n_int < min_scaled) { n_int *= 10; factor *= 10.0f; exponent--; } - - number *= factor; - } - - /* round to nearest integer */ - n = ((UNITY_INT32)(number + number) + 1) / 2; - -#ifndef UNITY_ROUND_TIES_AWAY_FROM_ZERO - /* round to even if exactly between two integers */ - if ((n & 1) && (((UNITY_DOUBLE)n - number) == 0.5f)) - n--; -#endif - - n += n_int; - - if (n >= max_scaled) - { - n = min_scaled; - exponent++; - } - - /* determine where to place decimal point */ - decimals = ((exponent <= 0) && (exponent >= -(sig_digits + 3))) ? (-exponent) : (sig_digits - 1); - exponent += decimals; - - /* truncate trailing zeroes after decimal point */ - while ((decimals > 0) && ((n % 10) == 0)) - { - n /= 10; - decimals--; - } - - /* build up buffer in reverse order */ - digits = 0; - while ((n != 0) || (digits < (decimals + 1))) - { - buf[digits++] = (char)('0' + n % 10); - n /= 10; - } - while (digits > 0) - { - if (digits == decimals) { UNITY_OUTPUT_CHAR('.'); } - UNITY_OUTPUT_CHAR(buf[--digits]); - } - - /* print exponent if needed */ - if (exponent != 0) - { - UNITY_OUTPUT_CHAR('e'); - - if (exponent < 0) - { - UNITY_OUTPUT_CHAR('-'); - exponent = -exponent; - } - else - { - UNITY_OUTPUT_CHAR('+'); - } - - digits = 0; - while ((exponent != 0) || (digits < 2)) - { - buf[digits++] = (char)('0' + exponent % 10); - exponent /= 10; - } - while (digits > 0) - { - UNITY_OUTPUT_CHAR(buf[--digits]); - } - } - } -} -#endif /* ! UNITY_EXCLUDE_FLOAT_PRINT */ - -/*-----------------------------------------------*/ -static void UnityTestResultsBegin(const char* file, const UNITY_LINE_TYPE line) -{ -#ifdef UNITY_OUTPUT_FOR_ECLIPSE - UNITY_OUTPUT_CHAR('('); - UnityPrint(file); - UNITY_OUTPUT_CHAR(':'); - UnityPrintNumber((UNITY_INT)line); - UNITY_OUTPUT_CHAR(')'); - UNITY_OUTPUT_CHAR(' '); - UnityPrint(Unity.CurrentTestName); - UNITY_OUTPUT_CHAR(':'); -#else -#ifdef UNITY_OUTPUT_FOR_IAR_WORKBENCH - UnityPrint("<SRCREF line="); - UnityPrintNumber((UNITY_INT)line); - UnityPrint(" file=\""); - UnityPrint(file); - UNITY_OUTPUT_CHAR('"'); - UNITY_OUTPUT_CHAR('>'); - UnityPrint(Unity.CurrentTestName); - UnityPrint("</SRCREF> "); -#else -#ifdef UNITY_OUTPUT_FOR_QT_CREATOR - UnityPrint("file://"); - UnityPrint(file); - UNITY_OUTPUT_CHAR(':'); - UnityPrintNumber((UNITY_INT)line); - UNITY_OUTPUT_CHAR(' '); - UnityPrint(Unity.CurrentTestName); - UNITY_OUTPUT_CHAR(':'); -#else - UnityPrint(file); - UNITY_OUTPUT_CHAR(':'); - UnityPrintNumber((UNITY_INT)line); - UNITY_OUTPUT_CHAR(':'); - UnityPrint(Unity.CurrentTestName); - UNITY_OUTPUT_CHAR(':'); -#endif -#endif -#endif -} - -/*-----------------------------------------------*/ -static void UnityTestResultsFailBegin(const UNITY_LINE_TYPE line) -{ - UnityTestResultsBegin(Unity.TestFile, line); - UnityPrint(UnityStrFail); - UNITY_OUTPUT_CHAR(':'); -} - -/*-----------------------------------------------*/ -void UnityConcludeTest(void) -{ - if (Unity.CurrentTestIgnored) - { - Unity.TestIgnores++; - } - else if (!Unity.CurrentTestFailed) - { - UnityTestResultsBegin(Unity.TestFile, Unity.CurrentTestLineNumber); - UnityPrint(UnityStrPass); - } - else - { - Unity.TestFailures++; - } - - Unity.CurrentTestFailed = 0; - Unity.CurrentTestIgnored = 0; - UNITY_PRINT_EXEC_TIME(); - UNITY_PRINT_EOL(); - UNITY_FLUSH_CALL(); -} - -/*-----------------------------------------------*/ -static void UnityAddMsgIfSpecified(const char* msg) -{ - if (msg) - { - UnityPrint(UnityStrSpacer); -#ifndef UNITY_EXCLUDE_DETAILS - if (Unity.CurrentDetail1) - { - UnityPrint(UnityStrDetail1Name); - UnityPrint(Unity.CurrentDetail1); - if (Unity.CurrentDetail2) - { - UnityPrint(UnityStrDetail2Name); - UnityPrint(Unity.CurrentDetail2); - } - UnityPrint(UnityStrSpacer); - } -#endif - UnityPrint(msg); - } -} - -/*-----------------------------------------------*/ -static void UnityPrintExpectedAndActualStrings(const char* expected, const char* actual) -{ - UnityPrint(UnityStrExpected); - if (expected != NULL) - { - UNITY_OUTPUT_CHAR('\''); - UnityPrint(expected); - UNITY_OUTPUT_CHAR('\''); - } - else - { - UnityPrint(UnityStrNull); - } - UnityPrint(UnityStrWas); - if (actual != NULL) - { - UNITY_OUTPUT_CHAR('\''); - UnityPrint(actual); - UNITY_OUTPUT_CHAR('\''); - } - else - { - UnityPrint(UnityStrNull); - } -} - -/*-----------------------------------------------*/ -static void UnityPrintExpectedAndActualStringsLen(const char* expected, - const char* actual, - const UNITY_UINT32 length) -{ - UnityPrint(UnityStrExpected); - if (expected != NULL) - { - UNITY_OUTPUT_CHAR('\''); - UnityPrintLen(expected, length); - UNITY_OUTPUT_CHAR('\''); - } - else - { - UnityPrint(UnityStrNull); - } - UnityPrint(UnityStrWas); - if (actual != NULL) - { - UNITY_OUTPUT_CHAR('\''); - UnityPrintLen(actual, length); - UNITY_OUTPUT_CHAR('\''); - } - else - { - UnityPrint(UnityStrNull); - } -} - -/*----------------------------------------------- - * Assertion & Control Helpers - *-----------------------------------------------*/ - -/*-----------------------------------------------*/ -static int UnityIsOneArrayNull(UNITY_INTERNAL_PTR expected, - UNITY_INTERNAL_PTR actual, - const UNITY_LINE_TYPE lineNumber, - const char* msg) -{ - /* Both are NULL or same pointer */ - if (expected == actual) { return 0; } - - /* print and return true if just expected is NULL */ - if (expected == NULL) - { - UnityTestResultsFailBegin(lineNumber); - UnityPrint(UnityStrNullPointerForExpected); - UnityAddMsgIfSpecified(msg); - return 1; - } - - /* print and return true if just actual is NULL */ - if (actual == NULL) - { - UnityTestResultsFailBegin(lineNumber); - UnityPrint(UnityStrNullPointerForActual); - UnityAddMsgIfSpecified(msg); - return 1; - } - - return 0; /* return false if neither is NULL */ -} - -/*----------------------------------------------- - * Assertion Functions - *-----------------------------------------------*/ - -/*-----------------------------------------------*/ -void UnityAssertBits(const UNITY_INT mask, - const UNITY_INT expected, - const UNITY_INT actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber) -{ - RETURN_IF_FAIL_OR_IGNORE; - - if ((mask & expected) != (mask & actual)) - { - UnityTestResultsFailBegin(lineNumber); - UnityPrint(UnityStrExpected); - UnityPrintMask((UNITY_UINT)mask, (UNITY_UINT)expected); - UnityPrint(UnityStrWas); - UnityPrintMask((UNITY_UINT)mask, (UNITY_UINT)actual); - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; - } -} - -/*-----------------------------------------------*/ -void UnityAssertEqualNumber(const UNITY_INT expected, - const UNITY_INT actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_DISPLAY_STYLE_T style) -{ - RETURN_IF_FAIL_OR_IGNORE; - - if (expected != actual) - { - UnityTestResultsFailBegin(lineNumber); - UnityPrint(UnityStrExpected); - UnityPrintNumberByStyle(expected, style); - UnityPrint(UnityStrWas); - UnityPrintNumberByStyle(actual, style); - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; - } -} - -/*-----------------------------------------------*/ -void UnityAssertGreaterOrLessOrEqualNumber(const UNITY_INT threshold, - const UNITY_INT actual, - const UNITY_COMPARISON_T compare, - const char *msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_DISPLAY_STYLE_T style) -{ - int failed = 0; - RETURN_IF_FAIL_OR_IGNORE; - - if ((threshold == actual) && (compare & UNITY_EQUAL_TO)) { return; } - if ((threshold == actual)) { failed = 1; } - - if ((style & UNITY_DISPLAY_RANGE_INT) == UNITY_DISPLAY_RANGE_INT) - { - if ((actual > threshold) && (compare & UNITY_SMALLER_THAN)) { failed = 1; } - if ((actual < threshold) && (compare & UNITY_GREATER_THAN)) { failed = 1; } - } - else /* UINT or HEX */ - { - if (((UNITY_UINT)actual > (UNITY_UINT)threshold) && (compare & UNITY_SMALLER_THAN)) { failed = 1; } - if (((UNITY_UINT)actual < (UNITY_UINT)threshold) && (compare & UNITY_GREATER_THAN)) { failed = 1; } - } - - if (failed) - { - UnityTestResultsFailBegin(lineNumber); - UnityPrint(UnityStrExpected); - UnityPrintNumberByStyle(actual, style); - if (compare & UNITY_GREATER_THAN) { UnityPrint(UnityStrGt); } - if (compare & UNITY_SMALLER_THAN) { UnityPrint(UnityStrLt); } - if (compare & UNITY_EQUAL_TO) { UnityPrint(UnityStrOrEqual); } - UnityPrintNumberByStyle(threshold, style); - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; - } -} - -#define UnityPrintPointlessAndBail() \ -{ \ - UnityTestResultsFailBegin(lineNumber); \ - UnityPrint(UnityStrPointless); \ - UnityAddMsgIfSpecified(msg); \ - UNITY_FAIL_AND_BAIL; } - -/*-----------------------------------------------*/ -void UnityAssertEqualIntArray(UNITY_INTERNAL_PTR expected, - UNITY_INTERNAL_PTR actual, - const UNITY_UINT32 num_elements, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_DISPLAY_STYLE_T style, - const UNITY_FLAGS_T flags) -{ - UNITY_UINT32 elements = num_elements; - unsigned int length = style & 0xF; - unsigned int increment = 0; - - RETURN_IF_FAIL_OR_IGNORE; - - if (num_elements == 0) - { - UnityPrintPointlessAndBail(); - } - - if (expected == actual) - { - return; /* Both are NULL or same pointer */ - } - - if (UnityIsOneArrayNull(expected, actual, lineNumber, msg)) - { - UNITY_FAIL_AND_BAIL; - } - - while ((elements > 0) && (elements--)) - { - UNITY_INT expect_val; - UNITY_INT actual_val; - - switch (length) - { - case 1: - expect_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT8*)expected; - actual_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT8*)actual; - increment = sizeof(UNITY_INT8); - break; - - case 2: - expect_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT16*)expected; - actual_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT16*)actual; - increment = sizeof(UNITY_INT16); - break; - -#ifdef UNITY_SUPPORT_64 - case 8: - expect_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT64*)expected; - actual_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT64*)actual; - increment = sizeof(UNITY_INT64); - break; -#endif - - default: /* default is length 4 bytes */ - case 4: - expect_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT32*)expected; - actual_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT32*)actual; - increment = sizeof(UNITY_INT32); - length = 4; - break; - } - - if (expect_val != actual_val) - { - if ((style & UNITY_DISPLAY_RANGE_UINT) && (length < (UNITY_INT_WIDTH / 8))) - { /* For UINT, remove sign extension (padding 1's) from signed type casts above */ - UNITY_INT mask = 1; - mask = (mask << 8 * length) - 1; - expect_val &= mask; - actual_val &= mask; - } - UnityTestResultsFailBegin(lineNumber); - UnityPrint(UnityStrElement); - UnityPrintNumberUnsigned(num_elements - elements - 1); - UnityPrint(UnityStrExpected); - UnityPrintNumberByStyle(expect_val, style); - UnityPrint(UnityStrWas); - UnityPrintNumberByStyle(actual_val, style); - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; - } - /* Walk through array by incrementing the pointers */ - if (flags == UNITY_ARRAY_TO_ARRAY) - { - expected = (UNITY_INTERNAL_PTR)((const char*)expected + increment); - } - actual = (UNITY_INTERNAL_PTR)((const char*)actual + increment); - } -} - -/*-----------------------------------------------*/ -#ifndef UNITY_EXCLUDE_FLOAT -/* Wrap this define in a function with variable types as float or double */ -#define UNITY_FLOAT_OR_DOUBLE_WITHIN(delta, expected, actual, diff) \ - if (isinf(expected) && isinf(actual) && (((expected) < 0) == ((actual) < 0))) return 1; \ - if (UNITY_NAN_CHECK) return 1; \ - (diff) = (actual) - (expected); \ - if ((diff) < 0) (diff) = -(diff); \ - if ((delta) < 0) (delta) = -(delta); \ - return !(isnan(diff) || isinf(diff) || ((diff) > (delta))) - /* This first part of this condition will catch any NaN or Infinite values */ -#ifndef UNITY_NAN_NOT_EQUAL_NAN - #define UNITY_NAN_CHECK isnan(expected) && isnan(actual) -#else - #define UNITY_NAN_CHECK 0 -#endif - -#ifndef UNITY_EXCLUDE_FLOAT_PRINT - #define UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT(expected, actual) \ - { \ - UnityPrint(UnityStrExpected); \ - UnityPrintFloat(expected); \ - UnityPrint(UnityStrWas); \ - UnityPrintFloat(actual); } -#else - #define UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT(expected, actual) \ - UnityPrint(UnityStrDelta) -#endif /* UNITY_EXCLUDE_FLOAT_PRINT */ - -/*-----------------------------------------------*/ -static int UnityFloatsWithin(UNITY_FLOAT delta, UNITY_FLOAT expected, UNITY_FLOAT actual) -{ - UNITY_FLOAT diff; - UNITY_FLOAT_OR_DOUBLE_WITHIN(delta, expected, actual, diff); -} - -/*-----------------------------------------------*/ -void UnityAssertEqualFloatArray(UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* expected, - UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* actual, - const UNITY_UINT32 num_elements, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_FLAGS_T flags) -{ - UNITY_UINT32 elements = num_elements; - UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* ptr_expected = expected; - UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* ptr_actual = actual; - - RETURN_IF_FAIL_OR_IGNORE; - - if (elements == 0) - { - UnityPrintPointlessAndBail(); - } - - if (expected == actual) - { - return; /* Both are NULL or same pointer */ - } - - if (UnityIsOneArrayNull((UNITY_INTERNAL_PTR)expected, (UNITY_INTERNAL_PTR)actual, lineNumber, msg)) - { - UNITY_FAIL_AND_BAIL; - } - - while (elements--) - { - if (!UnityFloatsWithin(*ptr_expected * UNITY_FLOAT_PRECISION, *ptr_expected, *ptr_actual)) - { - UnityTestResultsFailBegin(lineNumber); - UnityPrint(UnityStrElement); - UnityPrintNumberUnsigned(num_elements - elements - 1); - UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT((UNITY_DOUBLE)*ptr_expected, (UNITY_DOUBLE)*ptr_actual); - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; - } - if (flags == UNITY_ARRAY_TO_ARRAY) - { - ptr_expected++; - } - ptr_actual++; - } -} - -/*-----------------------------------------------*/ -void UnityAssertFloatsWithin(const UNITY_FLOAT delta, - const UNITY_FLOAT expected, - const UNITY_FLOAT actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber) -{ - RETURN_IF_FAIL_OR_IGNORE; - - - if (!UnityFloatsWithin(delta, expected, actual)) - { - UnityTestResultsFailBegin(lineNumber); - UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT((UNITY_DOUBLE)expected, (UNITY_DOUBLE)actual); - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; - } -} - -/*-----------------------------------------------*/ -void UnityAssertFloatSpecial(const UNITY_FLOAT actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_FLOAT_TRAIT_T style) -{ - const char* trait_names[] = {UnityStrInf, UnityStrNegInf, UnityStrNaN, UnityStrDet}; - UNITY_INT should_be_trait = ((UNITY_INT)style & 1); - UNITY_INT is_trait = !should_be_trait; - UNITY_INT trait_index = (UNITY_INT)(style >> 1); - - RETURN_IF_FAIL_OR_IGNORE; - - switch (style) - { - case UNITY_FLOAT_IS_INF: - case UNITY_FLOAT_IS_NOT_INF: - is_trait = isinf(actual) && (actual > 0); - break; - case UNITY_FLOAT_IS_NEG_INF: - case UNITY_FLOAT_IS_NOT_NEG_INF: - is_trait = isinf(actual) && (actual < 0); - break; - - case UNITY_FLOAT_IS_NAN: - case UNITY_FLOAT_IS_NOT_NAN: - is_trait = isnan(actual) ? 1 : 0; - break; - - case UNITY_FLOAT_IS_DET: /* A determinate number is non infinite and not NaN. */ - case UNITY_FLOAT_IS_NOT_DET: - is_trait = !isinf(actual) && !isnan(actual); - break; - - default: - trait_index = 0; - trait_names[0] = UnityStrInvalidFloatTrait; - break; - } - - if (is_trait != should_be_trait) - { - UnityTestResultsFailBegin(lineNumber); - UnityPrint(UnityStrExpected); - if (!should_be_trait) - { - UnityPrint(UnityStrNot); - } - UnityPrint(trait_names[trait_index]); - UnityPrint(UnityStrWas); -#ifndef UNITY_EXCLUDE_FLOAT_PRINT - UnityPrintFloat((UNITY_DOUBLE)actual); -#else - if (should_be_trait) - { - UnityPrint(UnityStrNot); - } - UnityPrint(trait_names[trait_index]); -#endif - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; - } -} - -#endif /* not UNITY_EXCLUDE_FLOAT */ - -/*-----------------------------------------------*/ -#ifndef UNITY_EXCLUDE_DOUBLE -static int UnityDoublesWithin(UNITY_DOUBLE delta, UNITY_DOUBLE expected, UNITY_DOUBLE actual) -{ - UNITY_DOUBLE diff; - UNITY_FLOAT_OR_DOUBLE_WITHIN(delta, expected, actual, diff); -} - -/*-----------------------------------------------*/ -void UnityAssertEqualDoubleArray(UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* expected, - UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* actual, - const UNITY_UINT32 num_elements, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_FLAGS_T flags) -{ - UNITY_UINT32 elements = num_elements; - UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* ptr_expected = expected; - UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* ptr_actual = actual; - - RETURN_IF_FAIL_OR_IGNORE; - - if (elements == 0) - { - UnityPrintPointlessAndBail(); - } - - if (expected == actual) - { - return; /* Both are NULL or same pointer */ - } - - if (UnityIsOneArrayNull((UNITY_INTERNAL_PTR)expected, (UNITY_INTERNAL_PTR)actual, lineNumber, msg)) - { - UNITY_FAIL_AND_BAIL; - } - - while (elements--) - { - if (!UnityDoublesWithin(*ptr_expected * UNITY_DOUBLE_PRECISION, *ptr_expected, *ptr_actual)) - { - UnityTestResultsFailBegin(lineNumber); - UnityPrint(UnityStrElement); - UnityPrintNumberUnsigned(num_elements - elements - 1); - UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT(*ptr_expected, *ptr_actual); - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; - } - if (flags == UNITY_ARRAY_TO_ARRAY) - { - ptr_expected++; - } - ptr_actual++; - } -} - -/*-----------------------------------------------*/ -void UnityAssertDoublesWithin(const UNITY_DOUBLE delta, - const UNITY_DOUBLE expected, - const UNITY_DOUBLE actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber) -{ - RETURN_IF_FAIL_OR_IGNORE; - - if (!UnityDoublesWithin(delta, expected, actual)) - { - UnityTestResultsFailBegin(lineNumber); - UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT(expected, actual); - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; - } -} - -/*-----------------------------------------------*/ -void UnityAssertDoubleSpecial(const UNITY_DOUBLE actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_FLOAT_TRAIT_T style) -{ - const char* trait_names[] = {UnityStrInf, UnityStrNegInf, UnityStrNaN, UnityStrDet}; - UNITY_INT should_be_trait = ((UNITY_INT)style & 1); - UNITY_INT is_trait = !should_be_trait; - UNITY_INT trait_index = (UNITY_INT)(style >> 1); - - RETURN_IF_FAIL_OR_IGNORE; - - switch (style) - { - case UNITY_FLOAT_IS_INF: - case UNITY_FLOAT_IS_NOT_INF: - is_trait = isinf(actual) && (actual > 0); - break; - case UNITY_FLOAT_IS_NEG_INF: - case UNITY_FLOAT_IS_NOT_NEG_INF: - is_trait = isinf(actual) && (actual < 0); - break; - - case UNITY_FLOAT_IS_NAN: - case UNITY_FLOAT_IS_NOT_NAN: - is_trait = isnan(actual) ? 1 : 0; - break; - - case UNITY_FLOAT_IS_DET: /* A determinate number is non infinite and not NaN. */ - case UNITY_FLOAT_IS_NOT_DET: - is_trait = !isinf(actual) && !isnan(actual); - break; - - default: - trait_index = 0; - trait_names[0] = UnityStrInvalidFloatTrait; - break; - } - - if (is_trait != should_be_trait) - { - UnityTestResultsFailBegin(lineNumber); - UnityPrint(UnityStrExpected); - if (!should_be_trait) - { - UnityPrint(UnityStrNot); - } - UnityPrint(trait_names[trait_index]); - UnityPrint(UnityStrWas); -#ifndef UNITY_EXCLUDE_FLOAT_PRINT - UnityPrintFloat(actual); -#else - if (should_be_trait) - { - UnityPrint(UnityStrNot); - } - UnityPrint(trait_names[trait_index]); -#endif - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; - } -} - -#endif /* not UNITY_EXCLUDE_DOUBLE */ - -/*-----------------------------------------------*/ -void UnityAssertNumbersWithin(const UNITY_UINT delta, - const UNITY_INT expected, - const UNITY_INT actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_DISPLAY_STYLE_T style) -{ - RETURN_IF_FAIL_OR_IGNORE; - - if ((style & UNITY_DISPLAY_RANGE_INT) == UNITY_DISPLAY_RANGE_INT) - { - if (actual > expected) - { - Unity.CurrentTestFailed = (((UNITY_UINT)actual - (UNITY_UINT)expected) > delta); - } - else - { - Unity.CurrentTestFailed = (((UNITY_UINT)expected - (UNITY_UINT)actual) > delta); - } - } - else - { - if ((UNITY_UINT)actual > (UNITY_UINT)expected) - { - Unity.CurrentTestFailed = (((UNITY_UINT)actual - (UNITY_UINT)expected) > delta); - } - else - { - Unity.CurrentTestFailed = (((UNITY_UINT)expected - (UNITY_UINT)actual) > delta); - } - } - - if (Unity.CurrentTestFailed) - { - UnityTestResultsFailBegin(lineNumber); - UnityPrint(UnityStrDelta); - UnityPrintNumberByStyle((UNITY_INT)delta, style); - UnityPrint(UnityStrExpected); - UnityPrintNumberByStyle(expected, style); - UnityPrint(UnityStrWas); - UnityPrintNumberByStyle(actual, style); - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; - } -} - -/*-----------------------------------------------*/ -void UnityAssertNumbersArrayWithin(const UNITY_UINT delta, - UNITY_INTERNAL_PTR expected, - UNITY_INTERNAL_PTR actual, - const UNITY_UINT32 num_elements, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_DISPLAY_STYLE_T style, - const UNITY_FLAGS_T flags) -{ - UNITY_UINT32 elements = num_elements; - unsigned int length = style & 0xF; - unsigned int increment = 0; - - RETURN_IF_FAIL_OR_IGNORE; - - if (num_elements == 0) - { - UnityPrintPointlessAndBail(); - } - - if (expected == actual) - { - return; /* Both are NULL or same pointer */ - } - - if (UnityIsOneArrayNull(expected, actual, lineNumber, msg)) - { - UNITY_FAIL_AND_BAIL; - } - - while ((elements > 0) && (elements--)) - { - UNITY_INT expect_val; - UNITY_INT actual_val; - - switch (length) - { - case 1: - expect_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT8*)expected; - actual_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT8*)actual; - increment = sizeof(UNITY_INT8); - break; - - case 2: - expect_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT16*)expected; - actual_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT16*)actual; - increment = sizeof(UNITY_INT16); - break; - -#ifdef UNITY_SUPPORT_64 - case 8: - expect_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT64*)expected; - actual_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT64*)actual; - increment = sizeof(UNITY_INT64); - break; -#endif - - default: /* default is length 4 bytes */ - case 4: - expect_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT32*)expected; - actual_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT32*)actual; - increment = sizeof(UNITY_INT32); - length = 4; - break; - } - - if ((style & UNITY_DISPLAY_RANGE_INT) == UNITY_DISPLAY_RANGE_INT) - { - if (actual_val > expect_val) - { - Unity.CurrentTestFailed = (((UNITY_UINT)actual_val - (UNITY_UINT)expect_val) > delta); - } - else - { - Unity.CurrentTestFailed = (((UNITY_UINT)expect_val - (UNITY_UINT)actual_val) > delta); - } - } - else - { - if ((UNITY_UINT)actual_val > (UNITY_UINT)expect_val) - { - Unity.CurrentTestFailed = (((UNITY_UINT)actual_val - (UNITY_UINT)expect_val) > delta); - } - else - { - Unity.CurrentTestFailed = (((UNITY_UINT)expect_val - (UNITY_UINT)actual_val) > delta); - } - } - - if (Unity.CurrentTestFailed) - { - if ((style & UNITY_DISPLAY_RANGE_UINT) && (length < (UNITY_INT_WIDTH / 8))) - { /* For UINT, remove sign extension (padding 1's) from signed type casts above */ - UNITY_INT mask = 1; - mask = (mask << 8 * length) - 1; - expect_val &= mask; - actual_val &= mask; - } - UnityTestResultsFailBegin(lineNumber); - UnityPrint(UnityStrDelta); - UnityPrintNumberByStyle((UNITY_INT)delta, style); - UnityPrint(UnityStrElement); - UnityPrintNumberUnsigned(num_elements - elements - 1); - UnityPrint(UnityStrExpected); - UnityPrintNumberByStyle(expect_val, style); - UnityPrint(UnityStrWas); - UnityPrintNumberByStyle(actual_val, style); - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; - } - /* Walk through array by incrementing the pointers */ - if (flags == UNITY_ARRAY_TO_ARRAY) - { - expected = (UNITY_INTERNAL_PTR)((const char*)expected + increment); - } - actual = (UNITY_INTERNAL_PTR)((const char*)actual + increment); - } -} - -/*-----------------------------------------------*/ -void UnityAssertEqualString(const char* expected, - const char* actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber) -{ - UNITY_UINT32 i; - - RETURN_IF_FAIL_OR_IGNORE; - - /* if both pointers not null compare the strings */ - if (expected && actual) - { - for (i = 0; expected[i] || actual[i]; i++) - { - if (expected[i] != actual[i]) - { - Unity.CurrentTestFailed = 1; - break; - } - } - } - else - { /* handle case of one pointers being null (if both null, test should pass) */ - if (expected != actual) - { - Unity.CurrentTestFailed = 1; - } - } - - if (Unity.CurrentTestFailed) - { - UnityTestResultsFailBegin(lineNumber); - UnityPrintExpectedAndActualStrings(expected, actual); - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; - } -} - -/*-----------------------------------------------*/ -void UnityAssertEqualStringLen(const char* expected, - const char* actual, - const UNITY_UINT32 length, - const char* msg, - const UNITY_LINE_TYPE lineNumber) -{ - UNITY_UINT32 i; - - RETURN_IF_FAIL_OR_IGNORE; - - /* if both pointers not null compare the strings */ - if (expected && actual) - { - for (i = 0; (i < length) && (expected[i] || actual[i]); i++) - { - if (expected[i] != actual[i]) - { - Unity.CurrentTestFailed = 1; - break; - } - } - } - else - { /* handle case of one pointers being null (if both null, test should pass) */ - if (expected != actual) - { - Unity.CurrentTestFailed = 1; - } - } - - if (Unity.CurrentTestFailed) - { - UnityTestResultsFailBegin(lineNumber); - UnityPrintExpectedAndActualStringsLen(expected, actual, length); - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; - } -} - -/*-----------------------------------------------*/ -void UnityAssertEqualStringArray(UNITY_INTERNAL_PTR expected, - const char** actual, - const UNITY_UINT32 num_elements, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_FLAGS_T flags) -{ - UNITY_UINT32 i = 0; - UNITY_UINT32 j = 0; - const char* expd = NULL; - const char* act = NULL; - - RETURN_IF_FAIL_OR_IGNORE; - - /* if no elements, it's an error */ - if (num_elements == 0) - { - UnityPrintPointlessAndBail(); - } - - if ((const void*)expected == (const void*)actual) - { - return; /* Both are NULL or same pointer */ - } - - if (UnityIsOneArrayNull((UNITY_INTERNAL_PTR)expected, (UNITY_INTERNAL_PTR)actual, lineNumber, msg)) - { - UNITY_FAIL_AND_BAIL; - } - - if (flags != UNITY_ARRAY_TO_ARRAY) - { - expd = (const char*)expected; - } - - do - { - act = actual[j]; - if (flags == UNITY_ARRAY_TO_ARRAY) - { - expd = ((const char* const*)expected)[j]; - } - - /* if both pointers not null compare the strings */ - if (expd && act) - { - for (i = 0; expd[i] || act[i]; i++) - { - if (expd[i] != act[i]) - { - Unity.CurrentTestFailed = 1; - break; - } - } - } - else - { /* handle case of one pointers being null (if both null, test should pass) */ - if (expd != act) - { - Unity.CurrentTestFailed = 1; - } - } - - if (Unity.CurrentTestFailed) - { - UnityTestResultsFailBegin(lineNumber); - if (num_elements > 1) - { - UnityPrint(UnityStrElement); - UnityPrintNumberUnsigned(j); - } - UnityPrintExpectedAndActualStrings(expd, act); - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; - } - } while (++j < num_elements); -} - -/*-----------------------------------------------*/ -void UnityAssertEqualMemory(UNITY_INTERNAL_PTR expected, - UNITY_INTERNAL_PTR actual, - const UNITY_UINT32 length, - const UNITY_UINT32 num_elements, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_FLAGS_T flags) -{ - UNITY_PTR_ATTRIBUTE const unsigned char* ptr_exp = (UNITY_PTR_ATTRIBUTE const unsigned char*)expected; - UNITY_PTR_ATTRIBUTE const unsigned char* ptr_act = (UNITY_PTR_ATTRIBUTE const unsigned char*)actual; - UNITY_UINT32 elements = num_elements; - UNITY_UINT32 bytes; - - RETURN_IF_FAIL_OR_IGNORE; - - if ((elements == 0) || (length == 0)) - { - UnityPrintPointlessAndBail(); - } - - if (expected == actual) - { - return; /* Both are NULL or same pointer */ - } - - if (UnityIsOneArrayNull(expected, actual, lineNumber, msg)) - { - UNITY_FAIL_AND_BAIL; - } - - while (elements--) - { - bytes = length; - while (bytes--) - { - if (*ptr_exp != *ptr_act) - { - UnityTestResultsFailBegin(lineNumber); - UnityPrint(UnityStrMemory); - if (num_elements > 1) - { - UnityPrint(UnityStrElement); - UnityPrintNumberUnsigned(num_elements - elements - 1); - } - UnityPrint(UnityStrByte); - UnityPrintNumberUnsigned(length - bytes - 1); - UnityPrint(UnityStrExpected); - UnityPrintNumberByStyle(*ptr_exp, UNITY_DISPLAY_STYLE_HEX8); - UnityPrint(UnityStrWas); - UnityPrintNumberByStyle(*ptr_act, UNITY_DISPLAY_STYLE_HEX8); - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; - } - ptr_exp++; - ptr_act++; - } - if (flags == UNITY_ARRAY_TO_VAL) - { - ptr_exp = (UNITY_PTR_ATTRIBUTE const unsigned char*)expected; - } - } -} - -/*-----------------------------------------------*/ - -static union -{ - UNITY_INT8 i8; - UNITY_INT16 i16; - UNITY_INT32 i32; -#ifdef UNITY_SUPPORT_64 - UNITY_INT64 i64; -#endif -#ifndef UNITY_EXCLUDE_FLOAT - float f; -#endif -#ifndef UNITY_EXCLUDE_DOUBLE - double d; -#endif -} UnityQuickCompare; - -UNITY_INTERNAL_PTR UnityNumToPtr(const UNITY_INT num, const UNITY_UINT8 size) -{ - switch(size) - { - case 1: - UnityQuickCompare.i8 = (UNITY_INT8)num; - return (UNITY_INTERNAL_PTR)(&UnityQuickCompare.i8); - - case 2: - UnityQuickCompare.i16 = (UNITY_INT16)num; - return (UNITY_INTERNAL_PTR)(&UnityQuickCompare.i16); - -#ifdef UNITY_SUPPORT_64 - case 8: - UnityQuickCompare.i64 = (UNITY_INT64)num; - return (UNITY_INTERNAL_PTR)(&UnityQuickCompare.i64); -#endif - - default: /* 4 bytes */ - UnityQuickCompare.i32 = (UNITY_INT32)num; - return (UNITY_INTERNAL_PTR)(&UnityQuickCompare.i32); - } -} - -#ifndef UNITY_EXCLUDE_FLOAT -/*-----------------------------------------------*/ -UNITY_INTERNAL_PTR UnityFloatToPtr(const float num) -{ - UnityQuickCompare.f = num; - return (UNITY_INTERNAL_PTR)(&UnityQuickCompare.f); -} -#endif - -#ifndef UNITY_EXCLUDE_DOUBLE -/*-----------------------------------------------*/ -UNITY_INTERNAL_PTR UnityDoubleToPtr(const double num) -{ - UnityQuickCompare.d = num; - return (UNITY_INTERNAL_PTR)(&UnityQuickCompare.d); -} -#endif - -/*----------------------------------------------- - * Control Functions - *-----------------------------------------------*/ - -/*-----------------------------------------------*/ -void UnityFail(const char* msg, const UNITY_LINE_TYPE line) -{ - RETURN_IF_FAIL_OR_IGNORE; - - UnityTestResultsBegin(Unity.TestFile, line); - UnityPrint(UnityStrFail); - if (msg != NULL) - { - UNITY_OUTPUT_CHAR(':'); - -#ifndef UNITY_EXCLUDE_DETAILS - if (Unity.CurrentDetail1) - { - UnityPrint(UnityStrDetail1Name); - UnityPrint(Unity.CurrentDetail1); - if (Unity.CurrentDetail2) - { - UnityPrint(UnityStrDetail2Name); - UnityPrint(Unity.CurrentDetail2); - } - UnityPrint(UnityStrSpacer); - } -#endif - if (msg[0] != ' ') - { - UNITY_OUTPUT_CHAR(' '); - } - UnityPrint(msg); - } - - UNITY_FAIL_AND_BAIL; -} - -/*-----------------------------------------------*/ -void UnityIgnore(const char* msg, const UNITY_LINE_TYPE line) -{ - RETURN_IF_FAIL_OR_IGNORE; - - UnityTestResultsBegin(Unity.TestFile, line); - UnityPrint(UnityStrIgnore); - if (msg != NULL) - { - UNITY_OUTPUT_CHAR(':'); - UNITY_OUTPUT_CHAR(' '); - UnityPrint(msg); - } - UNITY_IGNORE_AND_BAIL; -} - -/*-----------------------------------------------*/ -void UnityMessage(const char* msg, const UNITY_LINE_TYPE line) -{ - UnityTestResultsBegin(Unity.TestFile, line); - UnityPrint("INFO"); - if (msg != NULL) - { - UNITY_OUTPUT_CHAR(':'); - UNITY_OUTPUT_CHAR(' '); - UnityPrint(msg); - } - UNITY_PRINT_EOL(); -} - -/*-----------------------------------------------*/ -/* If we have not defined our own test runner, then include our default test runner to make life easier */ -#ifndef UNITY_SKIP_DEFAULT_RUNNER -void UnityDefaultTestRun(UnityTestFunction Func, const char* FuncName, const int FuncLineNum) -{ - Unity.CurrentTestName = FuncName; - Unity.CurrentTestLineNumber = (UNITY_LINE_TYPE)FuncLineNum; - Unity.NumberOfTests++; - UNITY_CLR_DETAILS(); - UNITY_EXEC_TIME_START(); - if (TEST_PROTECT()) - { - setUp(); - Func(); - } - if (TEST_PROTECT()) - { - tearDown(); - } - UNITY_EXEC_TIME_STOP(); - UnityConcludeTest(); -} -#endif - -/*-----------------------------------------------*/ -void UnitySetTestFile(const char* filename) -{ - Unity.TestFile = filename; -} - -/*-----------------------------------------------*/ -void UnityBegin(const char* filename) -{ - Unity.TestFile = filename; - Unity.CurrentTestName = NULL; - Unity.CurrentTestLineNumber = 0; - Unity.NumberOfTests = 0; - Unity.TestFailures = 0; - Unity.TestIgnores = 0; - Unity.CurrentTestFailed = 0; - Unity.CurrentTestIgnored = 0; - - UNITY_CLR_DETAILS(); - UNITY_OUTPUT_START(); -} - -/*-----------------------------------------------*/ -int UnityEnd(void) -{ - UNITY_PRINT_EOL(); - UnityPrint(UnityStrBreaker); - UNITY_PRINT_EOL(); - UnityPrintNumber((UNITY_INT)(Unity.NumberOfTests)); - UnityPrint(UnityStrResultsTests); - UnityPrintNumber((UNITY_INT)(Unity.TestFailures)); - UnityPrint(UnityStrResultsFailures); - UnityPrintNumber((UNITY_INT)(Unity.TestIgnores)); - UnityPrint(UnityStrResultsIgnored); - UNITY_PRINT_EOL(); - if (Unity.TestFailures == 0U) - { - UnityPrint(UnityStrOk); - } - else - { - UnityPrint(UnityStrFail); -#ifdef UNITY_DIFFERENTIATE_FINAL_FAIL - UNITY_OUTPUT_CHAR('E'); UNITY_OUTPUT_CHAR('D'); -#endif - } - UNITY_PRINT_EOL(); - UNITY_FLUSH_CALL(); - UNITY_OUTPUT_COMPLETE(); - return (int)(Unity.TestFailures); -} - -/*----------------------------------------------- - * Command Line Argument Support - *-----------------------------------------------*/ -#ifdef UNITY_USE_COMMAND_LINE_ARGS - -char* UnityOptionIncludeNamed = NULL; -char* UnityOptionExcludeNamed = NULL; -int UnityVerbosity = 1; - -/*-----------------------------------------------*/ -int UnityParseOptions(int argc, char** argv) -{ - int i; - UnityOptionIncludeNamed = NULL; - UnityOptionExcludeNamed = NULL; - - for (i = 1; i < argc; i++) - { - if (argv[i][0] == '-') - { - switch (argv[i][1]) - { - case 'l': /* list tests */ - return -1; - case 'n': /* include tests with name including this string */ - case 'f': /* an alias for -n */ - if (argv[i][2] == '=') - { - UnityOptionIncludeNamed = &argv[i][3]; - } - else if (++i < argc) - { - UnityOptionIncludeNamed = argv[i]; - } - else - { - UnityPrint("ERROR: No Test String to Include Matches For"); - UNITY_PRINT_EOL(); - return 1; - } - break; - case 'q': /* quiet */ - UnityVerbosity = 0; - break; - case 'v': /* verbose */ - UnityVerbosity = 2; - break; - case 'x': /* exclude tests with name including this string */ - if (argv[i][2] == '=') - { - UnityOptionExcludeNamed = &argv[i][3]; - } - else if (++i < argc) - { - UnityOptionExcludeNamed = argv[i]; - } - else - { - UnityPrint("ERROR: No Test String to Exclude Matches For"); - UNITY_PRINT_EOL(); - return 1; - } - break; - default: - UnityPrint("ERROR: Unknown Option "); - UNITY_OUTPUT_CHAR(argv[i][1]); - UNITY_PRINT_EOL(); - return 1; - } - } - } - - return 0; -} - -/*-----------------------------------------------*/ -int IsStringInBiggerString(const char* longstring, const char* shortstring) -{ - const char* lptr = longstring; - const char* sptr = shortstring; - const char* lnext = lptr; - - if (*sptr == '*') - { - return 1; - } - - while (*lptr) - { - lnext = lptr + 1; - - /* If they current bytes match, go on to the next bytes */ - while (*lptr && *sptr && (*lptr == *sptr)) - { - lptr++; - sptr++; - - /* We're done if we match the entire string or up to a wildcard */ - if (*sptr == '*') - return 1; - if (*sptr == ',') - return 1; - if (*sptr == '"') - return 1; - if (*sptr == '\'') - return 1; - if (*sptr == ':') - return 2; - if (*sptr == 0) - return 1; - } - - /* Otherwise we start in the long pointer 1 character further and try again */ - lptr = lnext; - sptr = shortstring; - } - - return 0; -} - -/*-----------------------------------------------*/ -int UnityStringArgumentMatches(const char* str) -{ - int retval; - const char* ptr1; - const char* ptr2; - const char* ptrf; - - /* Go through the options and get the substrings for matching one at a time */ - ptr1 = str; - while (ptr1[0] != 0) - { - if ((ptr1[0] == '"') || (ptr1[0] == '\'')) - { - ptr1++; - } - - /* look for the start of the next partial */ - ptr2 = ptr1; - ptrf = 0; - do - { - ptr2++; - if ((ptr2[0] == ':') && (ptr2[1] != 0) && (ptr2[0] != '\'') && (ptr2[0] != '"') && (ptr2[0] != ',')) - { - ptrf = &ptr2[1]; - } - } while ((ptr2[0] != 0) && (ptr2[0] != '\'') && (ptr2[0] != '"') && (ptr2[0] != ',')); - - while ((ptr2[0] != 0) && ((ptr2[0] == ':') || (ptr2[0] == '\'') || (ptr2[0] == '"') || (ptr2[0] == ','))) - { - ptr2++; - } - - /* done if complete filename match */ - retval = IsStringInBiggerString(Unity.TestFile, ptr1); - if (retval == 1) - { - return retval; - } - - /* done if testname match after filename partial match */ - if ((retval == 2) && (ptrf != 0)) - { - if (IsStringInBiggerString(Unity.CurrentTestName, ptrf)) - { - return 1; - } - } - - /* done if complete testname match */ - if (IsStringInBiggerString(Unity.CurrentTestName, ptr1) == 1) - { - return 1; - } - - ptr1 = ptr2; - } - - /* we couldn't find a match for any substrings */ - return 0; -} - -/*-----------------------------------------------*/ -int UnityTestMatches(void) -{ - /* Check if this test name matches the included test pattern */ - int retval; - if (UnityOptionIncludeNamed) - { - retval = UnityStringArgumentMatches(UnityOptionIncludeNamed); - } - else - { - retval = 1; - } - - /* Check if this test name matches the excluded test pattern */ - if (UnityOptionExcludeNamed) - { - if (UnityStringArgumentMatches(UnityOptionExcludeNamed)) - { - retval = 0; - } - } - - return retval; -} - -#endif /* UNITY_USE_COMMAND_LINE_ARGS */ -/*-----------------------------------------------*/ diff --git a/vendor/_unity/src/unity_fixture.c b/vendor/_unity/src/unity_fixture.c deleted file mode 100644 index c3dda79..0000000 --- a/vendor/_unity/src/unity_fixture.c +++ /dev/null @@ -1,310 +0,0 @@ -/* Copyright (c) 2010 James Grenning and Contributed to Unity Project - * ========================================== - * Unity Project - A Test Framework for C - * Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams - * [Released under MIT License. Please refer to license.txt for details] - * ========================================== */ - -#include "unity_fixture.h" -#include "unity_internals.h" -#include <string.h> - -struct UNITY_FIXTURE_T UnityFixture; - -/* If you decide to use the function pointer approach. - * Build with -D UNITY_OUTPUT_CHAR=outputChar and include <stdio.h> - * int (*outputChar)(int) = putchar; */ - -void setUp(void) { /*does nothing*/ } -void tearDown(void) { /*does nothing*/ } - -static void announceTestRun(unsigned int runNumber) -{ - UnityPrint("Unity test run "); - UnityPrintNumberUnsigned(runNumber+1); - UnityPrint(" of "); - UnityPrintNumberUnsigned(UnityFixture.RepeatCount); - UNITY_PRINT_EOL(); -} - -int UnityMain(int argc, const char* argv[], void (*runAllTests)(void)) -{ - int result = UnityGetCommandLineOptions(argc, argv); - unsigned int r; - if (result != 0) - return result; - - for (r = 0; r < UnityFixture.RepeatCount; r++) - { - UnityBegin(argv[0]); - announceTestRun(r); - runAllTests(); - if (!UnityFixture.Verbose) UNITY_PRINT_EOL(); - UnityEnd(); - } - - return (int)Unity.TestFailures; -} - -static int selected(const char* filter, const char* name) -{ - if (filter == 0) - return 1; - return strstr(name, filter) ? 1 : 0; -} - -static int testSelected(const char* test) -{ - return selected(UnityFixture.NameFilter, test); -} - -static int groupSelected(const char* group) -{ - return selected(UnityFixture.GroupFilter, group); -} - -void UnityTestRunner(unityfunction* setup, - unityfunction* testBody, - unityfunction* teardown, - const char* printableName, - const char* group, - const char* name, - const char* file, - unsigned int line) -{ - if (testSelected(name) && groupSelected(group)) - { - Unity.TestFile = file; - Unity.CurrentTestName = printableName; - Unity.CurrentTestLineNumber = line; - if (UnityFixture.Verbose) - { - UnityPrint(printableName); - #ifndef UNITY_REPEAT_TEST_NAME - Unity.CurrentTestName = NULL; - #endif - } - else if (UnityFixture.Silent) - { - /* Do Nothing */ - } - else - { - UNITY_OUTPUT_CHAR('.'); - } - - Unity.NumberOfTests++; - UnityPointer_Init(); - - UNITY_EXEC_TIME_START(); - - if (TEST_PROTECT()) - { - setup(); - testBody(); - } - if (TEST_PROTECT()) - { - teardown(); - } - if (TEST_PROTECT()) - { - UnityPointer_UndoAllSets(); - } - UnityConcludeFixtureTest(); - } -} - -void UnityIgnoreTest(const char* printableName, const char* group, const char* name) -{ - if (testSelected(name) && groupSelected(group)) - { - Unity.NumberOfTests++; - Unity.TestIgnores++; - if (UnityFixture.Verbose) - { - UnityPrint(printableName); - UNITY_PRINT_EOL(); - } - else if (UnityFixture.Silent) - { - /* Do Nothing */ - } - else - { - UNITY_OUTPUT_CHAR('!'); - } - } -} - -/*-------------------------------------------------------- */ -/*Automatic pointer restoration functions */ -struct PointerPair -{ - void** pointer; - void* old_value; -}; - -static struct PointerPair pointer_store[UNITY_MAX_POINTERS]; -static int pointer_index = 0; - -void UnityPointer_Init(void) -{ - pointer_index = 0; -} - -void UnityPointer_Set(void** pointer, void* newValue, UNITY_LINE_TYPE line) -{ - if (pointer_index >= UNITY_MAX_POINTERS) - { - UNITY_TEST_FAIL(line, "Too many pointers set"); - } - else - { - pointer_store[pointer_index].pointer = pointer; - pointer_store[pointer_index].old_value = *pointer; - *pointer = newValue; - pointer_index++; - } -} - -void UnityPointer_UndoAllSets(void) -{ - while (pointer_index > 0) - { - pointer_index--; - *(pointer_store[pointer_index].pointer) = - pointer_store[pointer_index].old_value; - } -} - -int UnityGetCommandLineOptions(int argc, const char* argv[]) -{ - int i; - UnityFixture.Verbose = 0; - UnityFixture.Silent = 0; - UnityFixture.GroupFilter = 0; - UnityFixture.NameFilter = 0; - UnityFixture.RepeatCount = 1; - - if (argc == 1) - return 0; - - for (i = 1; i < argc; ) - { - if (strcmp(argv[i], "-h") == 0 || strcmp(argv[i], "--help") == 0) - { - /* Usage */ - UnityPrint("Runs a series of unit tests."); - UNITY_PRINT_EOL(); - UNITY_PRINT_EOL(); - UnityPrint("When no flag is specified, all tests are run."); - UNITY_PRINT_EOL(); - UNITY_PRINT_EOL(); - UnityPrint("Optional flags:"); - UNITY_PRINT_EOL(); - UnityPrint(" -v Verbose output: show all tests executed even if they pass"); - UNITY_PRINT_EOL(); - UnityPrint(" -s Silent mode: minimal output showing only test failures"); - UNITY_PRINT_EOL(); - UnityPrint(" -g NAME Only run tests in groups that contain the string NAME"); - UNITY_PRINT_EOL(); - UnityPrint(" -n NAME Only run tests whose name contains the string NAME"); - UNITY_PRINT_EOL(); - UnityPrint(" -r NUMBER Repeatedly run all tests NUMBER times"); - UNITY_PRINT_EOL(); - UnityPrint(" -h, --help Display this help message"); - UNITY_PRINT_EOL(); - UNITY_PRINT_EOL(); -#ifdef UNITY_CUSTOM_HELP_MSG - /* User-defined help message, e.g. to point to project-specific documentation */ - UnityPrint(UNITY_CUSTOM_HELP_MSG); - UNITY_PRINT_EOL(); -#else - /* Default help suffix if a custom one is not defined */ - UnityPrint("More information about Unity: https://www.throwtheswitch.org/unity"); - UNITY_PRINT_EOL(); -#endif - return 1; /* Exit without running the tests */ - } - else if (strcmp(argv[i], "-v") == 0) - { - UnityFixture.Verbose = 1; - i++; - } - else if (strcmp(argv[i], "-s") == 0) - { - UnityFixture.Silent = 1; - i++; - } - else if (strcmp(argv[i], "-g") == 0) - { - i++; - if (i >= argc) - return 1; - UnityFixture.GroupFilter = argv[i]; - i++; - } - else if (strcmp(argv[i], "-n") == 0) - { - i++; - if (i >= argc) - return 1; - UnityFixture.NameFilter = argv[i]; - i++; - } - else if (strcmp(argv[i], "-r") == 0) - { - UnityFixture.RepeatCount = 2; - i++; - if (i < argc) - { - if (*(argv[i]) >= '0' && *(argv[i]) <= '9') - { - unsigned int digit = 0; - UnityFixture.RepeatCount = 0; - while (argv[i][digit] >= '0' && argv[i][digit] <= '9') - { - UnityFixture.RepeatCount *= 10; - UnityFixture.RepeatCount += (unsigned int)argv[i][digit++] - '0'; - } - i++; - } - } - } - else - { - /* ignore unknown parameter */ - i++; - } - } - return 0; -} - -void UnityConcludeFixtureTest(void) -{ - if (Unity.CurrentTestIgnored) - { - Unity.TestIgnores++; - UNITY_PRINT_EOL(); - } - else if (!Unity.CurrentTestFailed) - { - if (UnityFixture.Verbose) - { - UnityPrint(" "); - UnityPrint(UnityStrPass); - UNITY_EXEC_TIME_STOP(); - UNITY_PRINT_EXEC_TIME(); - UNITY_PRINT_EOL(); - } - } - else /* Unity.CurrentTestFailed */ - { - Unity.TestFailures++; - UNITY_PRINT_EOL(); - } - - Unity.CurrentTestFailed = 0; - Unity.CurrentTestIgnored = 0; -} diff --git a/vendor/_unity/unity_memory.c b/vendor/_unity/unity_memory.c deleted file mode 100644 index e4dc665..0000000 --- a/vendor/_unity/unity_memory.c +++ /dev/null @@ -1,202 +0,0 @@ -/* ========================================== - * Unity Project - A Test Framework for C - * Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams - * [Released under MIT License. Please refer to license.txt for details] - * ========================================== */ - -#include "unity.h" -#include "unity_memory.h" -#include <string.h> - -#define MALLOC_DONT_FAIL -1 -static int malloc_count; -static int malloc_fail_countdown = MALLOC_DONT_FAIL; - -void UnityMalloc_StartTest(void) -{ - malloc_count = 0; - malloc_fail_countdown = MALLOC_DONT_FAIL; -} - -void UnityMalloc_EndTest(void) -{ - malloc_fail_countdown = MALLOC_DONT_FAIL; - if (malloc_count != 0) - { - UNITY_TEST_FAIL(Unity.CurrentTestLineNumber, "This test leaks!"); - } -} - -void UnityMalloc_MakeMallocFailAfterCount(int countdown) -{ - malloc_fail_countdown = countdown; -} - -/* These definitions are always included from unity_fixture_malloc_overrides.h */ -/* We undef to use them or avoid conflict with <stdlib.h> per the C standard */ -#undef malloc -#undef free -#undef calloc -#undef realloc - -#ifdef UNITY_EXCLUDE_STDLIB_MALLOC -static unsigned char unity_heap[UNITY_INTERNAL_HEAP_SIZE_BYTES]; -static size_t heap_index; -#else -#include <stdlib.h> -#endif - -typedef struct GuardBytes -{ - size_t size; - size_t guard_space; -} Guard; - -#define UNITY_MALLOC_ALIGNMENT (UNITY_POINTER_WIDTH / 8) -static const char end[] = "END"; - -static size_t unity_size_round_up(size_t size) -{ - size_t rounded_size; - - rounded_size = ((size + UNITY_MALLOC_ALIGNMENT - 1) / UNITY_MALLOC_ALIGNMENT) * UNITY_MALLOC_ALIGNMENT; - - return rounded_size; -} - -void* unity_malloc(size_t size) -{ - char* mem; - Guard* guard; - size_t total_size; - - total_size = sizeof(Guard) + unity_size_round_up(size + sizeof(end)); - - if (malloc_fail_countdown != MALLOC_DONT_FAIL) - { - if (malloc_fail_countdown == 0) - return NULL; - malloc_fail_countdown--; - } - - if (size == 0) return NULL; -#ifdef UNITY_EXCLUDE_STDLIB_MALLOC - if (heap_index + total_size > UNITY_INTERNAL_HEAP_SIZE_BYTES) - { - guard = NULL; - } - else - { - /* We know we can get away with this cast because we aligned memory already */ - guard = (Guard*)(void*)(&unity_heap[heap_index]); - heap_index += total_size; - } -#else - guard = (Guard*)UNITY_MALLOC(total_size); -#endif - if (guard == NULL) return NULL; - malloc_count++; - guard->size = size; - guard->guard_space = 0; - mem = (char*)&(guard[1]); - memcpy(&mem[size], end, sizeof(end)); - - return (void*)mem; -} - -static int isOverrun(void* mem) -{ - Guard* guard = (Guard*)mem; - char* memAsChar = (char*)mem; - guard--; - - return guard->guard_space != 0 || strcmp(&memAsChar[guard->size], end) != 0; -} - -static void release_memory(void* mem) -{ - Guard* guard = (Guard*)mem; - guard--; - - malloc_count--; -#ifdef UNITY_EXCLUDE_STDLIB_MALLOC - { - size_t block_size; - - block_size = unity_size_round_up(guard->size + sizeof(end)); - - if (mem == unity_heap + heap_index - block_size) - { - heap_index -= (sizeof(Guard) + block_size); - } - } -#else - UNITY_FREE(guard); -#endif -} - -void unity_free(void* mem) -{ - int overrun; - - if (mem == NULL) - { - return; - } - - overrun = isOverrun(mem); - release_memory(mem); - if (overrun) - { - UNITY_TEST_FAIL(Unity.CurrentTestLineNumber, "Buffer overrun detected during free()"); - } -} - -void* unity_calloc(size_t num, size_t size) -{ - void* mem = unity_malloc(num * size); - if (mem == NULL) return NULL; - memset(mem, 0, num * size); - return mem; -} - -void* unity_realloc(void* oldMem, size_t size) -{ - Guard* guard = (Guard*)oldMem; - void* newMem; - - if (oldMem == NULL) return unity_malloc(size); - - guard--; - if (isOverrun(oldMem)) - { - release_memory(oldMem); - UNITY_TEST_FAIL(Unity.CurrentTestLineNumber, "Buffer overrun detected during realloc()"); - } - - if (size == 0) - { - release_memory(oldMem); - return NULL; - } - - if (guard->size >= size) return oldMem; - -#ifdef UNITY_EXCLUDE_STDLIB_MALLOC /* Optimization if memory is expandable */ - { - size_t old_total_size = unity_size_round_up(guard->size + sizeof(end)); - - if ((oldMem == unity_heap + heap_index - old_total_size) && - ((heap_index - old_total_size + unity_size_round_up(size + sizeof(end))) <= UNITY_INTERNAL_HEAP_SIZE_BYTES)) - { - release_memory(oldMem); /* Not thread-safe, like unity_heap generally */ - return unity_malloc(size); /* No memcpy since data is in place */ - } - } -#endif - newMem = unity_malloc(size); - if (newMem == NULL) return NULL; /* Do not release old memory */ - memcpy(newMem, oldMem, guard->size); - release_memory(oldMem); - return newMem; -} |
