コード例 #1
0
ファイル: main.c プロジェクト: Vulkan13/42
int					main(void)
{
	int				i;
	t_test			test[D_TEST];
	int				status;
	pid_t			pid;

	srand(time(NULL));
	printf("[\033[33mYellow Tests\033[0m] are Hardcore\n");
	i = 0;
	memset(test, 0, D_TEST);
/*
 * Si vous n'avez pas la fonction il suffit de mettre en commentaire
 */
/*
 * Example : vous n'avez pas memset vous commentez
 * // #define D_MEMSET
 * // D_ADD_TEST(...)
 */
#define	D_MEMSET
	D_ADD_HCTEST(memset);
#define	D_BZERO
	D_ADD_HCTEST(bzero);
#define	D_MEMCPY
	D_ADD_HCTEST(memcpy);
#define	D_MEMCCPY
	D_ADD_HCTEST(memccpy);
#define	D_MEMMOVE
	D_ADD_HCTEST(memmove);
#define	D_MEMCHR
	D_ADD_HCTEST(memchr);
#define	D_MEMCMP
	D_ADD_HCTEST(memcmp);
#define	D_STRLEN
	D_ADD_TEST(strlen);
#define	D_STRDUP
	D_ADD_TEST(strdup);
#define	D_STRCPY
	D_ADD_HCTEST(strcpy);
#define	D_STRNCPY
	D_ADD_HCTEST(strncpy);
#define	D_STRCAT
	D_ADD_TEST(strcat);
#define	D_STRNCAT
	D_ADD_TEST(strncat);
#define	D_STRLCAT
	D_ADD_TEST(strlcat);
#define	D_STRCHR
	D_ADD_TEST(strchr);
#define	D_STRRCHR
	D_ADD_TEST(strrchr);
#define	D_STRSTR
	D_ADD_TEST(strstr);
//#define	D_STRNSTR
//	D_ADD_TEST(strnstr);
#define	D_STRCMP
	D_ADD_TEST(strcmp);
#define	D_STRNCMP
	D_ADD_TEST(strncmp);
#define	D_ATOI
	D_ADD_HCTEST(atoi);
#define	D_ISALPHA
	D_ADD_HCTEST(isalpha);
#define	D_ISDIGIT
	D_ADD_HCTEST(isdigit);
#define	D_ISALNUM
	D_ADD_HCTEST(isalnum);
#define	D_ISASCII
	D_ADD_HCTEST(isascii);
#define	D_ISPRINT
	D_ADD_HCTEST(isprint);
#define	D_TOUPPER
	D_ADD_HCTEST(toupper);
#define	D_TOLOWER
	D_ADD_HCTEST(tolower);
#define	D_MEMALLOC_AND_DEL
	D_ADD_TEST(memalloc_and_del);
#define	D_STRNEW
	D_ADD_TEST(strnew);
#define	D_STRDEL
	D_ADD_TEST(strdel);
#define	D_STRCLR
	D_ADD_TEST(strclr);
#define	D_STRITER
	D_ADD_TEST(striter);
#define	D_STRITERI
	D_ADD_TEST(striteri);
#define	D_STRMAP
	D_ADD_TEST(strmap);
#define	D_STRMAPI
	D_ADD_TEST(strmapi);
#define	D_STREQU
	D_ADD_TEST(strequ);
#define	D_STRNEQU
	D_ADD_TEST(strnequ);
#define	D_STRSUB
	D_ADD_TEST(strsub);
#define	D_STRJOIN
	D_ADD_TEST(strjoin);
#define	D_STRSPLIT
	D_ADD_TEST(strsplit);
#define	D_ITOA
	D_ADD_TEST(itoa);
#define	D_STRTRIM
	D_ADD_TEST(strtrim);
//#define	D_LSTNEW
//	D_ADD_TEST(lstnew);
//#define	D_LSTDELONE
//	D_ADD_TEST(lstdelone);
//#define	D_LSTDEL
//	D_ADD_TEST(lstdel);
//#define	D_LSTADD
//	D_ADD_TEST(lstadd);
//#define	D_LSTITER
//	D_ADD_TEST(lstiter);
//#define D_LSTMAP
//	D_ADD_TEST(lstmap);
	while (test[i].set == true)
	{
		printf("Test [%s] : ", test[i].name);
		fflush(stdout);
		if ((pid = fork()) == 0)
		{
			if (test[i].funct() == 0)
				printf("\033[31mFAIL\033[0m\n");
			else
				printf("\033[32mOK\033[0m\n");
			exit(0);
		}
		if (pid == -1)
			printf("\033[33mUNABLE TO FORK\033[0m\n");
		else
		{
			if (waitpid(pid, &status, 0) != -1)
			{
				if (WIFSIGNALED(status))
				{
					if (WTERMSIG(status) == SIGSEGV)
						printf("\033[33mSegmentation Fault\033[0m\n");
					else if (WTERMSIG(status) == SIGEMT)
						printf("\033[33mBus Error\033[0m\n");
					else if (WTERMSIG(status) == SIGILL)
						printf("\033[33mIllegal Instruction\033[0m\n");
					else
						printf("\033[33mThe processus receive the signal %d\033[0m\n", WTERMSIG(status));
				}
			}
			else
				perror("Waitpid");
		}
		i = i + 1;
	}
	return (0);
}
コード例 #2
0
ファイル: main.c プロジェクト: Georges0013/Maintest
int					main(int argc, const char **argv)
{
	int				i;
	t_test			test[D_TEST];

	srand(time(NULL));
	printf("[\033[33mYellow Tests\033[0m] are Hardcore\n");
	i = 0;
	memset(test, 0, D_TEST);
/*
 * Si vous n'avez pas la fonction il suffit de mettre en commentaire
 */
/*
 * Example : vous n'avez pas memset vous commentez
 * // #define D_MEMSET
 * // D_ADD_TEST(...)
 */
#define	D_MEMSET
	D_ADD_HCTEST(memset);
#define	D_BZERO
	D_ADD_HCTEST(bzero);
#define	D_MEMCPY
	D_ADD_HCTEST(memcpy);
#define	D_MEMCCPY
	D_ADD_HCTEST(memccpy);
#define	D_MEMMOVE
	D_ADD_HCTEST(memmove);
#define	D_MEMCHR
	D_ADD_HCTEST(memchr);
#define	D_MEMCMP
	D_ADD_HCTEST(memcmp);
#define	D_STRLEN
	D_ADD_TEST(strlen);
#define	D_STRDUP
	D_ADD_TEST(strdup);
#define	D_STRCPY
	D_ADD_HCTEST(strcpy);
#define	D_STRNCPY
	D_ADD_HCTEST(strncpy);
#define	D_STRCAT
	D_ADD_TEST(strcat);
#define	D_STRNCAT
	D_ADD_TEST(strncat);
#define	D_STRLCAT
	D_ADD_TEST(strlcat);
#define	D_STRCHR
	D_ADD_TEST(strchr);
#define	D_STRRCHR
	D_ADD_TEST(strrchr);
#define	D_STRSTR
	D_ADD_TEST(strstr);
#define	D_STRNSTR
	D_ADD_TEST(strnstr);
#define	D_STRCMP
	D_ADD_TEST(strcmp);
#define	D_STRNCMP
	D_ADD_TEST(strncmp);
#define	D_ATOI
	D_ADD_HCTEST(atoi);
#define	D_ISALPHA
	D_ADD_HCTEST(isalpha);
#define	D_ISDIGIT
	D_ADD_HCTEST(isdigit);
#define	D_ISALNUM
	D_ADD_HCTEST(isalnum);
#define	D_ISASCII
	D_ADD_HCTEST(isascii);
#define	D_ISPRINT
	D_ADD_HCTEST(isprint);
#define	D_TOUPPER
	D_ADD_HCTEST(toupper);
#define	D_TOLOWER
	D_ADD_HCTEST(tolower);
#define	D_MEMALLOC_AND_DEL
	D_ADD_TEST(memalloc_and_del);
#define	D_STRNEW
	D_ADD_TEST(strnew);
#define	D_STRDEL
	D_ADD_TEST(strdel);
#define	D_STRCLR
	D_ADD_TEST(strclr);
#define	D_STRITER
	D_ADD_TEST(striter);
#define	D_STRITERI
	D_ADD_TEST(striteri);
#define	D_STRMAP
	D_ADD_TEST(strmap);
#define	D_STRMAPI
	D_ADD_TEST(strmapi);
#define	D_STREQU
	D_ADD_TEST(strequ);
#define	D_STRNEQU
	D_ADD_TEST(strnequ);
#define	D_STRSUB
	D_ADD_TEST(strsub);
#define	D_STRJOIN
	D_ADD_TEST(strjoin);
#define	D_STRSPLIT
	D_ADD_TEST(strsplit);
#define	D_ITOA
	D_ADD_TEST(itoa);
#define	D_STRTRIM
	D_ADD_TEST(strtrim);
#define	D_LSTNEW
	D_ADD_TEST(lstnew);
#define	D_LSTDELONE
	D_ADD_TEST(lstdelone);
#define	D_LSTDEL
	D_ADD_TEST(lstdel);
#define	D_LSTADD
	D_ADD_TEST(lstadd);
#define	D_LSTITER
	D_ADD_TEST(lstiter);
	while (test[i].set == true)
	{
		printf("Test [%s] : ", test[i].name);
		if (test[i].funct() == 0)
			printf("\033[31mFAIL\033[0m\n");
		else
			printf("\033[32mOK\033[0m\n");
		i = i + 1;
	}
	(void)argc;
	(void)argv;
	return (0);
}