def main(test, argv):
	args = [argv[0]]
	if test.mode == "record":
		args.append("-Dft_isalpha=isalpha")
		args.append("-Dft_isdigit=isdigit")
		args.append("-Dft_isalnum=isalnum")
		args.append("-Dft_isascii=isascii")
		args.append("-Dft_isprint=isprint")
		args.append("-Dft_strlen=strlen")
		args.append("-Dft_memset=memset")
		args.append("-Dft_bzero=bzero")
		args.append("-Dft_memcpy=memcpy2")
		args.append("-Dft_memmove=memmove2")
		args.append("-Dft_strlcpy=strlcpy2")
		args.append("-Dft_strlcat=strlcat2")
		args.append("-Dft_toupper=toupper")
		args.append("-Dft_tolower=tolower")
		args.append("-Dft_strchr=strchr")
		args.append("-Dft_strrchr=strrchr")
		args.append("-Dft_strncmp=strncmp")
		args.append("-Dft_memchr=memchr")
		args.append("-Dft_memcmp=memcmp")
		args.append("-Dft_strnstr=strnstr")
		args.append("-Dft_atoi=atoi")
	
	t = test.CTest("ft_isalpha", args)
	t.add("ascii")
	t.add("unsigned_char")
	t.add("signed_char")
	t.add("random")

	t = test.CTest("ft_isdigit", args)
	t.add("ascii")
	t.add("unsigned_char")
	t.add("signed_char")
	t.add("random")

	t = test.CTest("ft_isalnum", args)
	t.add("ascii")
	t.add("unsigned_char")
	t.add("signed_char")
	t.add("random")

	t = test.CTest("ft_isascii", args)
	t.add("ascii")
	t.add("unsigned_char")
	t.add("signed_char")
	t.add("random")

	t = test.CTest("ft_isprint", args)
	t.add("ascii")
	t.add("unsigned_char")
	t.add("signed_char")
	t.add("random")

	t = test.CTest("ft_strlen", args)
	t.add("empty")
	t.add("null")
	t.add("basic")
	t.add("random")

	t = test.CTest("ft_memset", args)
	t.add("empty")
	t.add("null")
	t.add("random")

	t = test.CTest("ft_bzero", args)
	t.add("empty")
	t.add("null")
	t.add("random")

	t = test.CTest("ft_memcpy", args)
	t.add("empty")
	t.add("null1")
	t.add("null2")
	t.add("null3")
	t.add("random")

	t = test.CTest("ft_memmove", args)
	t.add("empty")
	t.add("null1")
	t.add("null2")
	t.add("null3")
	t.add("random")

	t = test.CTest("ft_strlcpy", args)
	t.add("empty")
	t.add("null1")
	t.add("null2")
	t.add("null3")
	t.add("random")

	t = test.CTest("ft_strlcat", args)
	t.add("empty")
	t.add("null1")
	t.add("null2")
	t.add("null3")
	t.add("random")

	t = test.CTest("ft_toupper", args)
	t.add("ascii")
	t.add("unsigned_char")
	t.add("signed_char")
	t.add("random")

	t = test.CTest("ft_tolower", args)
	t.add("ascii")
	t.add("unsigned_char")
	t.add("signed_char")
	t.add("random")

	t = test.CTest("ft_strchr", args)
	t.add("empty")
	t.add("null")
	t.add("basic")
	t.add("random")

	t = test.CTest("ft_strrchr", args)
	t.add("empty")
	t.add("null")
	t.add("basic")
	t.add("random")

	t = test.CTest("ft_strncmp", args)
	t.add("empty")
	t.add("null1")
	t.add("null2")
	t.add("basic")
	t.add("random")

	t = test.CTest("ft_memchr", args)
	t.add("empty")
	t.add("null")
	t.add("basic")
	t.add("random")

	t = test.CTest("ft_memcmp", args)
	t.add("empty")
	t.add("null1")
	t.add("null2")
	t.add("basic")
	t.add("random")

	t = test.CTest("ft_strnstr", args)
	t.add("empty")
	t.add("null1")
	t.add("null2")
	t.add("basic")
	t.add("random")

	t = test.CTest("ft_atoi", args)
	t.add("null")
	t.add("basic")
	t.add("intmax")
	t.add("longmax")
	t.add("weird")
	t.add("random")

	t = test.CTest("ft_calloc", args)
	t.add("zero", mem=True)
	t.add("basic", mem=True)
	t.add("null", mem=True)

	t = test.CTest("ft_strdup", args)
	t.add("empty", mem=True)
	t.add("basic", mem=True)
	t.add("random", mem=True)
	t.add("null", mem=True)

	t = test.CTest("ft_substr", args)
	t.add("empty", mem=True)
	t.add("basic", mem=True)
	t.add("random", mem=True)
	t.add("null", mem=True, opt=True)

	t = test.CTest("ft_strjoin", args)
	t.add("empty", mem=True)
	t.add("basic", mem=True)
	t.add("random", mem=True)
	t.add("null", mem=True, opt=True)

	t = test.CTest("ft_strtrim", args)
	t.add("empty", mem=True)
	t.add("basic", mem=True)
	t.add("random", mem=True)
	t.add("null", mem=True, opt=True)

	t = test.CTest("ft_split", args)
	t.add("empty", mem=True)
	t.add("basic", mem=True)
	t.add("random", mem=True)
	t.add("null", mem=True, opt=True)

	t = test.CTest("ft_itoa", args)
	t.add("basic", mem=True)
	t.add("random", mem=True)
	t.add("intmax", mem=True)

	t = test.CTest("ft_strmapi", args)
	t.add("empty", mem=True)
	t.add("basic", mem=True)
	t.add("random", mem=True)
	t.add("null", mem=True, opt=True)

	t = test.CTest("ft_striteri", args)
	t.add("empty")
	t.add("basic")
	t.add("random")
	t.add("null", opt=True)

	t = test.CTest("ft_putstr_fd", args)
	t.add("empty")
	t.add("basic")
	t.add("random")
	t.add("null", opt=True)

	t = test.CTest("ft_putchar_fd", args)
	t.add("basic")
	t.add("random")

	t = test.CTest("ft_putendl_fd", args)
	t.add("empty")
	t.add("basic")
	t.add("random")
	t.add("null", opt=True)

	t = test.CTest("ft_putnbr_fd", args)
	t.add("basic")
	t.add("random")
	t.add("intmax")

	t = test.CTest("ft_lstnew", args)
	t.add("test", mem=True)

	t = test.CTest("ft_lstadd_front", args)
	t.add("test", mem=True)

	t = test.CTest("ft_lstsize", args)
	t.add("test", mem=True)

	t = test.CTest("ft_lstlast", args)
	t.add("test", mem=True)

	t = test.CTest("ft_lstadd_back", args)
	t.add("test", mem=True)

	t = test.CTest("ft_lstdelone", args)
	t.add("test", mem=True)

	t = test.CTest("ft_lstclear", args)
	t.add("test", mem=True)

	t = test.CTest("ft_lstiter", args)
	t.add("test", mem=True)

	t = test.CTest("ft_lstmap", args)
	t.add("test", mem=True)
