aboutsummaryrefslogtreecommitdiffstats
path: root/libtest
diff options
context:
space:
mode:
authorMattias Andrée <m@maandree.se>2026-05-10 22:05:40 +0200
committerMattias Andrée <m@maandree.se>2026-05-10 22:05:40 +0200
commit266ffbc3e61570d08ec0ec84394ab49eb9b44e7d (patch)
treeb6d891b955240beb90409d86a67ac209cdb49e8d /libtest
parentImprovements to libtest (diff)
downloadlibrecrypt-266ffbc3e61570d08ec0ec84394ab49eb9b44e7d.tar.gz
librecrypt-266ffbc3e61570d08ec0ec84394ab49eb9b44e7d.tar.bz2
librecrypt-266ffbc3e61570d08ec0ec84394ab49eb9b44e7d.tar.xz
Misc
Signed-off-by: Mattias Andrée <m@maandree.se>
Diffstat (limited to '')
-rw-r--r--libtest/Makefile4
-rw-r--r--libtest/alloc.c62
-rw-r--r--libtest/config_backtraces=false.mk2
-rw-r--r--libtest/config_backtraces=true.mk2
-rw-r--r--libtest/libtest_free.c1
-rw-r--r--libtest/mmap.c5
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)
{