diff options
Diffstat (limited to 'libtest')
| -rw-r--r-- | libtest/Makefile | 4 | ||||
| -rw-r--r-- | libtest/alloc.c | 62 | ||||
| -rw-r--r-- | libtest/config_backtraces=false.mk | 2 | ||||
| -rw-r--r-- | libtest/config_backtraces=true.mk | 2 | ||||
| -rw-r--r-- | libtest/libtest_free.c | 1 | ||||
| -rw-r--r-- | libtest/mmap.c | 5 |
6 files changed, 47 insertions, 29 deletions
diff --git a/libtest/Makefile b/libtest/Makefile index 86b30ed..8eddb00 100644 --- a/libtest/Makefile +++ b/libtest/Makefile @@ -1,7 +1,7 @@ .POSIX: -CONFIGFILE = config.mk -include $(CONFIGFILE) +TEST_CONFIGFILE = config.mk +include $(TEST_CONFIGFILE) OS = linux # Linux: linux diff --git a/libtest/alloc.c b/libtest/alloc.c index 65eda04..7752091 100644 --- a/libtest/alloc.c +++ b/libtest/alloc.c @@ -252,22 +252,26 @@ PURE size_t void (free)(void *ptr) { - libtest_free_is_custom = 1; + if (libtest_free_is_custom < 0) { + libtest_free_is_custom = 1; - assert(libtest_have_custom_malloc()); - assert(libtest_have_custom_calloc()); - assert(libtest_have_custom_realloc()); - assert(libtest_have_custom_reallocarray()); - assert(libtest_have_custom_valloc()); - assert(libtest_have_custom_pvalloc()); - assert(libtest_have_custom_memalign()); - assert(libtest_have_custom_aligned_alloc()); - assert(libtest_have_custom_posix_memalign()); - assert(libtest_have_custom_strdup()); - assert(libtest_have_custom_strndup()); - assert(libtest_have_custom_wcsdup()); - assert(libtest_have_custom_wcsdup()); - assert(libtest_have_custom_memdup()); + assert(libtest_have_custom_malloc()); + assert(libtest_have_custom_calloc()); + assert(libtest_have_custom_realloc()); + assert(libtest_have_custom_reallocarray()); + assert(libtest_have_custom_valloc()); + assert(libtest_have_custom_pvalloc()); + assert(libtest_have_custom_memalign()); + assert(libtest_have_custom_aligned_alloc()); + assert(libtest_have_custom_posix_memalign()); + assert(libtest_have_custom_strdup()); + assert(libtest_have_custom_strndup()); + assert(libtest_have_custom_wcsdup()); + assert(libtest_have_custom_wcsndup()); + assert(libtest_have_custom_memdup()); + } + + libtest_free_is_custom = 1; if (ptr) { struct meminfo *meminfo; @@ -285,13 +289,17 @@ void void (free_sized)(void *ptr, size_t size) { - libtest_free_sized_is_custom = 1; + if (libtest_free_sized_is_custom < 0) { + libtest_free_sized_is_custom = 1; - assert(libtest_have_custom_malloc()); - assert(libtest_have_custom_calloc()); - assert(libtest_have_custom_realloc()); - assert(libtest_have_custom_reallocarray()); - assert(libtest_have_custom_memdup()); + assert(libtest_have_custom_malloc()); + assert(libtest_have_custom_calloc()); + assert(libtest_have_custom_realloc()); + assert(libtest_have_custom_reallocarray()); + assert(libtest_have_custom_memdup()); + } + + libtest_free_sized_is_custom = 1; if (ptr) { struct meminfo *meminfo; @@ -307,11 +315,15 @@ void void (free_aligned_sized)(void *ptr, size_t alignment, size_t size) { - libtest_free_aligned_sized_is_custom = 1; + if (libtest_free_aligned_sized_is_custom < 0) { + libtest_free_aligned_sized_is_custom = 1; - assert(libtest_have_custom_memalign()); - assert(libtest_have_custom_aligned_alloc()); - assert(libtest_have_custom_posix_memalign()); + assert(libtest_have_custom_memalign()); + assert(libtest_have_custom_aligned_alloc()); + assert(libtest_have_custom_posix_memalign()); + } + + libtest_free_aligned_sized_is_custom = 1; if (ptr) { struct meminfo *meminfo; diff --git a/libtest/config_backtraces=false.mk b/libtest/config_backtraces=false.mk index 633d25a..ff6b659 100644 --- a/libtest/config_backtraces=false.mk +++ b/libtest/config_backtraces=false.mk @@ -1,4 +1,4 @@ -include common-config.mk +include $(TEST_INCLUDE_PREFIX)common-config.mk TEST_CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=700 -D_GNU_SOURCE\ $(IMPLEMENT_MMAP_CPPFLAGS) diff --git a/libtest/config_backtraces=true.mk b/libtest/config_backtraces=true.mk index 4331d96..aac9cc3 100644 --- a/libtest/config_backtraces=true.mk +++ b/libtest/config_backtraces=true.mk @@ -1,4 +1,4 @@ -include common-config.mk +include $(TEST_INCLUDE_PREFIX)common-config.mk TEST_CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=700 -D_GNU_SOURCE\ $(IMPLEMENT_MMAP_CPPFLAGS) -DWITH_BACKTRACE diff --git a/libtest/libtest_free.c b/libtest/libtest_free.c index 3dcd41c..3e84ba6 100644 --- a/libtest/libtest_free.c +++ b/libtest/libtest_free.c @@ -53,6 +53,7 @@ libtest_free(void *ptr, enum libtest_zero_check zero_checking) for (i = 0u; i < mem->usable_alloc_size; i++) { if (usable_area[i]) { memory_zeroed = 0; + libtest_expect_zeroed = 0; break; } } diff --git a/libtest/mmap.c b/libtest/mmap.c index c12594f..d8a2a60 100644 --- a/libtest/mmap.c +++ b/libtest/mmap.c @@ -5,6 +5,11 @@ #include <sys/syscall.h> +#if !defined(__linux__) +# errno "Don't know how to implement mmap(3), mumap(3), and mremap(3)" +#endif + + void * libtest_real_mmap(void *addr, size_t len, int prot, int flags, int fd, off_t off) { |
