X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Ffailtest%2Ffailtest_override.h;h=b056d538d482d31216b4dab492cb50fae5d9d7fd;hp=90d1bfdc48a9f07064e323522b6687d25c24957e;hb=641b511049e5c03d45ada0c3fd829691b173e5d1;hpb=5e1616698e06e2ce661122c6c9b04aae50271be8 diff --git a/ccan/failtest/failtest_override.h b/ccan/failtest/failtest_override.h index 90d1bfdc..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,15 +22,20 @@ #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 #undef open -#define open(pathname, flags, ...) \ - failtest_open((pathname), (flags), __FILE__, __LINE__, __VA_ARGS__) +#define open(pathname, ...) \ + failtest_open((pathname), __FILE__, __LINE__, __VA_ARGS__) #undef pipe #define pipe(pipefd) \ @@ -39,12 +49,39 @@ #define write(fd, buf, count) \ failtest_write((fd), (buf), (count), __FILE__, __LINE__) +#undef pread +#define pread(fd, buf, count, off) \ + failtest_pread((fd), (buf), (count), (off), __FILE__, __LINE__) + +#undef pwrite +#define pwrite(fd, buf, count, off) \ + 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 */