X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;ds=sidebyside;f=ccan%2Ffailtest%2Ffailtest_override.h;h=b056d538d482d31216b4dab492cb50fae5d9d7fd;hb=641b511049e5c03d45ada0c3fd829691b173e5d1;hp=236441fcfc78e74c6dd632308d5bed7eaf4f5223;hpb=6c02fd599f5b3f925197c3161ee186a3305fc963;p=ccan diff --git a/ccan/failtest/failtest_override.h b/ccan/failtest/failtest_override.h index 236441fc..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 @@ -17,9 +22,14 @@ #define realloc(ptr, size) \ failtest_realloc((ptr), (size), __FILE__, __LINE__) +#undef free +#define free(ptr) \ + failtest_free(ptr) + /* Replacement of I/O. */ #include #include +#include #include #include @@ -48,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 */