diff options
Diffstat (limited to 'test/include')
| -rw-r--r-- | test/include/helper/helper_segfault.h | 19 | ||||
| -rw-r--r-- | test/include/libft_test.h | 6 |
2 files changed, 25 insertions, 0 deletions
diff --git a/test/include/helper/helper_segfault.h b/test/include/helper/helper_segfault.h new file mode 100644 index 0000000..99351af --- /dev/null +++ b/test/include/helper/helper_segfault.h @@ -0,0 +1,19 @@ +#ifndef HELPER_SEGFAULT_H +# define HELPER_SEGFAULT_H + +extern int helper_segfault_pid; + +# define TEST_ASSERT_SEGFAULT(code) do { \ + 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 index 1c5ebb5..c5eb5e2 100644 --- a/test/include/libft_test.h +++ b/test/include/libft_test.h @@ -1,8 +1,14 @@ #ifndef LIBFT_TEST_H # define LIBFT_TEST_H +# include <string.h> +# include <sys/wait.h> + # include "unity.h" # include "unity_fixture.h" # include "libft.h" +# include "libft_ht.h" + +# include "helper/helper_segfault.h" #endif |
