updated tests
This commit is contained in:
parent
3974d8f2da
commit
3d8224657c
12
c03/ex03.c
12
c03/ex03.c
@ -6,17 +6,17 @@
|
|||||||
/* By: achubuko <marvin@42.fr> +#+ +:+ +#+ */
|
/* By: achubuko <marvin@42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2023/11/30 19:58:12 by achubuko #+# #+# */
|
/* Created: 2023/11/30 19:58:12 by achubuko #+# #+# */
|
||||||
/* Updated: 2023/11/30 21:32:12 by achubuko ### ########.fr */
|
/* Updated: 2023/11/30 21:51:37 by achubuko ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
#include <tests.h>
|
#include <tests.h>
|
||||||
#define TESTS_RETURN_PRINTF "%p"
|
#define TEST_RETURN_PRINTF "%p"
|
||||||
|
|
||||||
char *ft_strncat(char *dest, char *src, unsigned int nb);
|
char *ft_strncat(char *dest, char *src, unsigned int nb);
|
||||||
|
|
||||||
int main(void)
|
int main(void)
|
||||||
{
|
{
|
||||||
TESTS_SEED(char);
|
TEST_SEED(char);
|
||||||
|
|
||||||
printf("initial strings:\n");
|
printf("initial strings:\n");
|
||||||
dump(s, TEST_SOURCE_LENGHT);
|
dump(s, TEST_SOURCE_LENGHT);
|
||||||
@ -24,13 +24,13 @@ int main(void)
|
|||||||
|
|
||||||
r1 = strncat(d1, s1, 6);
|
r1 = strncat(d1, s1, 6);
|
||||||
r2 = ft_strncat(d2, s2, 6);
|
r2 = ft_strncat(d2, s2, 6);
|
||||||
TESTS_SYNOPSIS("strncat(d, s, 6)");
|
TEST_SYNOPSIS("strncat(d, s, 6)", s, d, s1, d1, s2, d2);
|
||||||
|
|
||||||
r1 = strncat(d1, s1, 20);
|
r1 = strncat(d1, s1, 20);
|
||||||
r2 = ft_strncat(d2, s2, 20);
|
r2 = ft_strncat(d2, s2, 20);
|
||||||
TESTS_SYNOPSIS("strncat(d, s, 20)");
|
TEST_SYNOPSIS("strncat(d, s, 20)", s, d, s1, d1, s2, d2);
|
||||||
|
|
||||||
r1 = strncat(s1, d1, 5);
|
r1 = strncat(s1, d1, 5);
|
||||||
r2 = ft_strncat(s2, d2, 5);
|
r2 = ft_strncat(s2, d2, 5);
|
||||||
TESTS_SYNOPSIS("strncat(s, d, 5)");
|
TEST_SYNOPSIS("strncat(s, d, 5)", s, d, s1, d1, s2, d2);
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#ifndef TESTS_H
|
#ifndef TEST_H
|
||||||
#define TESTS_H
|
#define TEST_H
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#define TEST_SOURCE "HeLlo world!\0It's a\tBEAUTIFUL\tday!"
|
#define TEST_SOURCE "HeLlo world!\0It's a\tBEAUTIFUL\tday!"
|
||||||
@ -7,34 +7,38 @@
|
|||||||
#define TEST_DESTINATION "GooDBye\0and thanks _for\rall the fish!"
|
#define TEST_DESTINATION "GooDBye\0and thanks _for\rall the fish!"
|
||||||
#define TEST_DESTINATION_LENGHT 38
|
#define TEST_DESTINATION_LENGHT 38
|
||||||
#define TEST_BUF_SIZE 100
|
#define TEST_BUF_SIZE 100
|
||||||
#define TESTS_FUNC_NAME
|
#define TEST_FUNC_NAME
|
||||||
#define TESTS_RETURN_PRINTF "%p"
|
#define TEST_RETURN_PRINTF "%p"
|
||||||
#define TESTS_PRINT_BUFFERS(TESTS_FUNC_CASE) \
|
|
||||||
printf("original " TESTS_FUNC_CASE "\n"); \
|
|
||||||
dump(s1, TEST_SOURCE_LENGHT); \
|
|
||||||
dump(d1, TEST_DESTINATION_LENGHT); \
|
|
||||||
printf("replicated " TESTS_FUNC_CASE "\n"); \
|
|
||||||
dump(s2, TEST_SOURCE_LENGHT); \
|
|
||||||
dump(d2, TEST_DESTINATION_LENGHT);
|
|
||||||
|
|
||||||
#define TESTS_RESET_BUFFERS \
|
#define TEST_PRINT_BUFFERS(TEST_FUNC_CASE, TEST_BUF_ORIG_SRC, TEST_BUF_ORIG_DEST, TEST_BUF_MOD_SRC, TEST_BUF_MOD_DEST) \
|
||||||
memcpy(d1, d, TEST_BUF_SIZE); \
|
printf("original " TEST_FUNC_CASE "\n"); \
|
||||||
memcpy(s1, s, TEST_BUF_SIZE); \
|
dump(TEST_BUF_ORIG_SRC, TEST_SOURCE_LENGHT); \
|
||||||
memcpy(d2, d, TEST_BUF_SIZE); \
|
dump(TEST_BUF_ORIG_DEST, TEST_DESTINATION_LENGHT); \
|
||||||
memcpy(s2, s, TEST_BUF_SIZE);
|
printf("replicated " TEST_FUNC_CASE "\n"); \
|
||||||
#define TESTS_PRINT_BUFCMP(TESTS_FUNC_CASE) \
|
dump(TEST_BUF_MOD_SRC, TEST_SOURCE_LENGHT); \
|
||||||
|
dump(TEST_BUF_MOD_DEST, TEST_DESTINATION_LENGHT);
|
||||||
|
|
||||||
|
#define TEST_RESET_BUFFERS(TEST_BUF_PRISCINE_SRC, TEST_BUF_PRISCINE_DEST, TEST_BUF_ORIG_SRC, TEST_BUF_ORIG_DEST, TEST_BUF_MOD_SRC, TEST_BUF_MOD_DEST) \
|
||||||
|
memcpy(TEST_BUF_ORIG_SRC, TEST_BUF_PRISCINE_DEST, TEST_BUF_SIZE); \
|
||||||
|
memcpy(TEST_BUF_ORIG_SRC, TEST_BUF_PRISCINE_SRC, TEST_BUF_SIZE); \
|
||||||
|
memcpy(TEST_BUF_MOD_DEST, TEST_BUF_PRISCINE_DEST, TEST_BUF_SIZE); \
|
||||||
|
memcpy(TEST_BUF_MOD_SRC, TEST_BUF_PRISCINE_SRC, TEST_BUF_SIZE);
|
||||||
|
|
||||||
|
#define TEST_PRINT_BUFCMP(TEST_FUNC_CASE, TEST_BUF_ORIG_SRC, TEST_BUF_ORIG_DEST, TEST_BUF_MOD_SRC, TEST_BUF_MOD_DEST) \
|
||||||
printf( \
|
printf( \
|
||||||
"buffers comparison:\n " TESTS_FUNC_CASE ":\t%i\n ft_" TESTS_FUNC_CASE ":\t%i\n", \
|
"buffers comparison:\n " TEST_FUNC_CASE ":\t%i\n ft_" TEST_FUNC_CASE ":\t%i\n", \
|
||||||
bufcmp(s1, s2, TEST_SOURCE_LENGHT), \
|
bufcmp(TEST_BUF_ORIG_SRC, TEST_BUF_ORIG_DEST, TEST_SOURCE_LENGHT), \
|
||||||
bufcmp(d1, d2, TEST_DESTINATION_LENGHT) \
|
bufcmp(TEST_BUF_MOD_SRC, TEST_BUF_MOD_DEST, TEST_DESTINATION_LENGHT) \
|
||||||
);
|
);
|
||||||
#define TESTS_PRINT_RETVALS printf("return values: orig: " TESTS_RETURN_PRINTF " ft: %p\n", r1, r2)
|
|
||||||
#define TESTS_SYNOPSIS(TESTS_FUNC_CASE) \
|
#define TEST_PRINT_RETVALS printf("return values: orig: " TEST_RETURN_PRINTF " ft: %p\n", r1, r2)
|
||||||
TESTS_PRINT_BUFFERS(TESTS_FUNC_CASE); \
|
|
||||||
TESTS_PRINT_BUFCMP(TESTS_FUNC_CASE); \
|
#define TEST_SYNOPSIS(TEST_FUNC_CASE, TEST_BUF_PRISCINE_SRC, TEST_BUF_PRISCINE_DEST, TEST_BUF_ORIG_SRC, TEST_BUF_ORIG_DEST, TEST_BUF_MOD_SRC, TEST_BUF_MOD_DEST) \
|
||||||
TESTS_PRINT_RETVALS; \
|
TEST_PRINT_BUFFERS(TEST_FUNC_CASE, TEST_BUF_ORIG_SRC, TEST_BUF_ORIG_DEST, TEST_BUF_MOD_SRC, TEST_BUF_MOD_DEST); \
|
||||||
TESTS_RESET_BUFFERS;
|
TEST_PRINT_BUFCMP(TEST_FUNC_CASE, TEST_BUF_ORIG_SRC, TEST_BUF_ORIG_DEST, TEST_BUF_MOD_SRC, TEST_BUF_MOD_DEST); \
|
||||||
#define TESTS_SEED(type) \
|
TEST_PRINT_RETVALS; \
|
||||||
|
TEST_RESET_BUFFERS(TEST_BUF_PRISCINE_SRC, TEST_BUF_PRISCINE_DEST, TEST_BUF_ORIG_SRC, TEST_BUF_ORIG_DEST, TEST_BUF_MOD_SRC, TEST_BUF_MOD_DEST);
|
||||||
|
#define TEST_SEED(type) \
|
||||||
char s[TEST_BUF_SIZE] = TEST_SOURCE; \
|
char s[TEST_BUF_SIZE] = TEST_SOURCE; \
|
||||||
char d[TEST_BUF_SIZE] = TEST_DESTINATION; \
|
char d[TEST_BUF_SIZE] = TEST_DESTINATION; \
|
||||||
type *r1; \
|
type *r1; \
|
||||||
|
Loading…
Reference in New Issue
Block a user