From 37c4d2ce0edf907b4c76435ee75c23c4444b3bb9 Mon Sep 17 00:00:00 2001 From: Charles Date: Fri, 21 Feb 2020 01:15:37 +0100 Subject: Fixing buf not zeroed before test --- header.h | 50 ++++++++++++++++++++++++-------------------------- helper.c | 4 ++-- main.c | 5 +++-- 3 files changed, 29 insertions(+), 30 deletions(-) diff --git a/header.h b/header.h index 4e97c9f..ddbc9fd 100644 --- a/header.h +++ b/header.h @@ -6,7 +6,7 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/02/06 18:13:32 by cacharle #+# #+# */ -/* Updated: 2020/02/06 18:13:33 by cacharle ### ########.fr */ +/* Updated: 2020/02/21 01:21:48 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ @@ -45,33 +45,31 @@ void test_setup(void); void test_tear_down(void); char *read_stdout_buf(void); -// # define DEBUG - -# define TEST_SEGFAULT(x) do { \ - if ((pid = fork()) < 0) \ - exit(EXIT_FAILURE); \ - if (pid == 0) { \ - do { x } while(0); \ - exit(EXIT_SUCCESS); \ - } else { \ - wait(&pid); \ +# define TEST_SEGFAULT(x) do { \ + if ((pid = fork()) < 0) \ + exit(EXIT_FAILURE); \ + if (pid == 0) { \ + do { x } while(0); \ + exit(EXIT_SUCCESS); \ + } else { \ + wait(&pid); \ signaled = WIFSIGNALED(pid); \ - } \ + } \ } while(0); -# define TEST_PRINTF(...) do { \ - test_setup(); \ - TEST_SEGFAULT(\ - origin_ret = printf(__VA_ARGS__); \ - );\ +# define TEST_PRINTF(...) do { \ + test_setup(); \ + TEST_SEGFAULT( \ + origin_ret = printf(__VA_ARGS__); \ + ); \ origin_buf = strdup(read_stdout_buf()); \ - origin_signaled = signaled; \ - TEST_SEGFAULT(\ - user_ret = ft_printf(__VA_ARGS__); \ - );\ + origin_signaled = signaled; \ + TEST_SEGFAULT( \ + user_ret = ft_printf(__VA_ARGS__); \ + ); \ user_buf = strdup(read_stdout_buf()); \ - user_signaled = signaled; \ - test_tear_down(); \ + user_signaled = signaled; \ + test_tear_down(); \ } while (0) # define ASSERT_PRINTF(...) do { \ @@ -79,7 +77,7 @@ char *read_stdout_buf(void); if (!origin_signaled && user_signaled) \ print_signaled_ko(#__VA_ARGS__); \ else if (origin_signaled && user_signaled) \ - print_ok(); \ + print_ok(); \ else if (!origin_signaled && !user_signaled) { \ if (memcmp(origin_buf, user_buf, \ strlen(origin_buf) + 1) != 0) \ @@ -87,8 +85,8 @@ char *read_stdout_buf(void); else if (origin_ret != user_ret) \ print_ret_ko(#__VA_ARGS__); \ else \ - print_ok(); \ - } \ + print_ok(); \ + } \ if (!origin_signaled) free(origin_buf); \ if (!user_signaled) free(user_buf); \ } while(0); diff --git a/helper.c b/helper.c index d6ae531..3fd496f 100644 --- a/helper.c +++ b/helper.c @@ -6,7 +6,7 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/02/06 18:13:38 by cacharle #+# #+# */ -/* Updated: 2020/02/06 18:13:39 by cacharle ### ########.fr */ +/* Updated: 2020/02/21 01:14:37 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ @@ -47,7 +47,7 @@ void test_tear_down(void) char *read_stdout_buf(void) { fflush(stdout); - buf[0] = 0; + bzero(buf, BUF_SIZE + 1); int ret = read(pipefd[0], buf, BUF_SIZE); if (ret != -1) buf[ret] = '\0'; diff --git a/main.c b/main.c index 915ddc0..7aa4969 100644 --- a/main.c +++ b/main.c @@ -6,7 +6,7 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/02/06 18:13:45 by cacharle #+# #+# */ -/* Updated: 2020/02/20 01:11:09 by cacharle ### ########.fr */ +/* Updated: 2020/02/21 01:23:31 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ @@ -79,7 +79,7 @@ int main(int argc, char **argv) generated_test(); - // added according to user + // added according to users ASSERT_PRINTF("%.p", NULL); ASSERT_PRINTF("%.0p", NULL); ASSERT_PRINTF("%.2p", NULL); @@ -88,6 +88,7 @@ int main(int argc, char **argv) ASSERT_PRINTF("%.5p", NULL); ASSERT_PRINTF("%.6p", NULL); ASSERT_PRINTF("%.7p", NULL); + /* saved_test(); */ return 0; } -- cgit