X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Ffailtest%2Ffailtest_override.h;h=b056d538d482d31216b4dab492cb50fae5d9d7fd;hp=d5be2829d5e0dd418ae35eb4dd7b2f26543cccf7;hb=6abc867fce8c3eba40eb26092d31e34b47dd9165;hpb=e8f0484b7808efe03dbb573563b336d533487e29 diff --git a/ccan/failtest/failtest_override.h b/ccan/failtest/failtest_override.h index d5be2829..b056d538 100644 --- a/ccan/failtest/failtest_override.h +++ b/ccan/failtest/failtest_override.h @@ -1,6 +1,11 @@ +/* Licensed under LGPL - see LICENSE file for details */ #ifndef CCAN_FAILTEST_OVERRIDE_H #define CCAN_FAILTEST_OVERRIDE_H /* This file is included before the source file to test. */ +#include "config.h" +#if HAVE_FILE_OFFSET_BITS +#define _FILE_OFFSET_BITS 64 +#endif /* Replacement of allocators. */ #include @@ -24,6 +29,7 @@ /* Replacement of I/O. */ #include #include +#include #include #include @@ -52,11 +58,30 @@ failtest_pwrite((fd), (buf), (count), (off), __FILE__, __LINE__) #undef close -#define close(fd) failtest_close(fd) +#define close(fd) failtest_close(fd, __FILE__, __LINE__) #undef fcntl #define fcntl(fd, ...) failtest_fcntl((fd), __FILE__, __LINE__, __VA_ARGS__) +#undef mmap +/* OpenBSD doesn't idempotent-protect sys/mman.h, so we can't add args. */ +#ifdef __OpenBSD__ +#define mmap(addr, length, prot, flags, fd, offset) \ + failtest_mmap_noloc((addr), (length), (prot), (flags), (fd), (offset)) +#else +#define mmap(addr, length, prot, flags, fd, offset) \ + failtest_mmap((addr), (length), (prot), (flags), (fd), (offset), \ + __FILE__, __LINE__) +#endif /* !__OpenBSD__ */ + +#undef lseek +#define lseek(fd, offset, whence) \ + failtest_lseek((fd), (offset), (whence), __FILE__, __LINE__) + +/* Replacement of getpid (since failtest will fork). */ +#undef getpid +#define getpid() failtest_getpid(__FILE__, __LINE__) + #include #endif /* CCAN_FAILTEST_OVERRIDE_H */