#include <inttypes.h>
#include <stdbool.h>
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <unistd.h>
#include <isc/buffer.h>
#include <isc/hash.h>
#define ISC_TEST_MAIN ISC_TEST_MAIN_CUSTOM(NULL, NULL)
-#define ISC_TEST_MAIN_CUSTOM(setup, teardown) \
- static int __child = 0; \
- static void __alarm(int sig ISC_ATTR_UNUSED) { \
- kill(__child, SIGABRT); \
- } \
- int main(void) { \
- int r, status; \
- \
- switch ((__child = fork())) { \
- case 0: \
- break; \
- case -1: \
- exit(1); \
- default: \
- signal(SIGALRM, __alarm); \
- alarm(1200); \
- if ((r = waitpid(__child, &status, 0)) == __child) { \
- /* Pass the exit status to the caller. */ \
- if (WIFEXITED(status)) { \
- exit(WEXITSTATUS(status)); \
- } \
- } \
- exit(1); \
- } \
- \
- signal(SIGPIPE, SIG_IGN); \
- \
- isc_mem_debugging |= ISC_MEM_DEBUGRECORD; \
- isc_mem_create(&mctx); \
- \
- r = cmocka_run_group_tests(tests, setup, teardown); \
- \
- isc_mem_destroy(&mctx); \
- \
- return (r); \
+#define ISC_TEST_MAIN_CUSTOM(setup, teardown) \
+ int main(void) { \
+ int r; \
+ \
+ signal(SIGPIPE, SIG_IGN); \
+ \
+ isc_mem_debugging |= ISC_MEM_DEBUGRECORD; \
+ isc_mem_create(&mctx); \
+ \
+ r = cmocka_run_group_tests(tests, setup, teardown); \
+ \
+ isc_mem_destroy(&mctx); \
+ \
+ return (r); \
}