aboutsummaryrefslogtreecommitdiff
path: root/test/include
diff options
context:
space:
mode:
Diffstat (limited to 'test/include')
-rw-r--r--test/include/helper/helper_segfault.h19
-rw-r--r--test/include/libft_test.h6
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