diff options
author | Arseny Kapoulkine <arseny.kapoulkine@gmail.com> | 2014-10-21 03:33:47 +0000 |
---|---|---|
committer | Arseny Kapoulkine <arseny.kapoulkine@gmail.com> | 2014-10-21 03:33:47 +0000 |
commit | 7258aea09be1847b3dcc99ca389990027d4a92d3 (patch) | |
tree | d1682fdb0724cd8780df92b988a9703984bd7bda | |
parent | 7774cdd96e01b2d89be16f7e240c1ffb2436b4c9 (diff) |
tests: Assert on out-of-memory in tests
This should never happen but can improve debugging experience for
work-in-progress changes since that avoids memcpy() into negative memory
space (debugger can't backtrace from failed memcpy since it does not set
up the stack frame).
git-svn-id: https://pugixml.googlecode.com/svn/trunk@1070 99668b35-9821-0410-8761-19e4c4f06640
-rw-r--r-- | tests/allocator.cpp | 3 | ||||
-rw-r--r-- | tests/main.cpp | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/tests/allocator.cpp b/tests/allocator.cpp index 3641585..094d5e5 100644 --- a/tests/allocator.cpp +++ b/tests/allocator.cpp @@ -1,6 +1,7 @@ #include "allocator.hpp" #include <string.h> +#include <assert.h> // Low-level allocation functions #if defined(_WIN32) || defined(_WIN64) @@ -97,6 +98,8 @@ void* memory_allocate(size_t size) size_t memory_size(void* ptr) { + assert(ptr); + size_t result; memcpy(&result, static_cast<size_t*>(ptr) - 1, sizeof(size_t)); diff --git a/tests/main.cpp b/tests/main.cpp index 3bcf9be..75b0108 100644 --- a/tests/main.cpp +++ b/tests/main.cpp @@ -34,6 +34,7 @@ static void* custom_allocate(size_t size) else { void* ptr = memory_allocate(size); + assert(ptr); g_memory_total_size += memory_size(ptr); g_memory_total_count++; |