aboutsummaryrefslogtreecommitdiff
path: root/libc/malloc_debug/tests/malloc_debug_unit_tests.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libc/malloc_debug/tests/malloc_debug_unit_tests.cpp')
-rw-r--r--libc/malloc_debug/tests/malloc_debug_unit_tests.cpp24
1 files changed, 15 insertions, 9 deletions
diff --git a/libc/malloc_debug/tests/malloc_debug_unit_tests.cpp b/libc/malloc_debug/tests/malloc_debug_unit_tests.cpp
index 1298df774..ea2dc7880 100644
--- a/libc/malloc_debug/tests/malloc_debug_unit_tests.cpp
+++ b/libc/malloc_debug/tests/malloc_debug_unit_tests.cpp
@@ -40,10 +40,13 @@
#include <android-base/file.h>
#include <android-base/stringprintf.h>
#include <android-base/strings.h>
+#include <android-base/test_utils.h>
#include <platform/bionic/macros.h>
#include <private/bionic_malloc_dispatch.h>
+#include <unwindstack/Unwinder.h>
+
#include "Config.h"
#include "malloc_debug.h"
@@ -1528,19 +1531,20 @@ END)";
TEST_F(MallocDebugTest, backtrace_full_dump_on_exit) {
pid_t pid;
if ((pid = fork()) == 0) {
+ std::shared_ptr<unwindstack::MapInfo> empty_map;
Init("backtrace=4 backtrace_full backtrace_dump_on_exit");
BacktraceUnwindFake(
- std::vector<unwindstack::LocalFrameData>{{nullptr, 0x1100, 0x100, "fake1", 10},
- {nullptr, 0x1200, 0x200, "fake2", 20}});
- unwindstack::MapInfo map_info{nullptr, nullptr, 0x10000, 0x20000, 0,
- PROT_READ | PROT_EXEC, "/data/fake.so"};
+ std::vector<unwindstack::FrameData>{{0, 0x100, 0x1100, 0, "fake1", 10, empty_map},
+ {1, 0x200, 0x1200, 0, "fake2", 20, empty_map}});
+ std::shared_ptr<unwindstack::MapInfo> map_info =
+ unwindstack::MapInfo::Create(0x10000, 0x20000, 0, PROT_READ | PROT_EXEC, "/data/fake.so");
BacktraceUnwindFake(
- std::vector<unwindstack::LocalFrameData>{{&map_info, 0x1a000, 0xa000, "level1", 0},
- {&map_info, 0x1b000, 0xb000, "level2", 10}});
+ std::vector<unwindstack::FrameData>{{0, 0xa000, 0x1a000, 0, "level1", 0, map_info},
+ {1, 0xb000, 0x1b000, 0, "level2", 10, map_info}});
BacktraceUnwindFake(
- std::vector<unwindstack::LocalFrameData>{{nullptr, 0x1a000, 0xa000, "func1", 0},
- {nullptr, 0x1b000, 0xb000, "func2", 10},
- {nullptr, 0x1c000, 0xc000, "", 30}});
+ std::vector<unwindstack::FrameData>{{0, 0xa000, 0x1a000, 0, "func1", 0, empty_map},
+ {1, 0xb000, 0x1b000, 0, "func2", 10, empty_map},
+ {2, 0xc000, 0x1c000, 0, "", 30, empty_map}});
std::vector<void*> pointers;
pointers.push_back(debug_malloc(300));
@@ -2060,6 +2064,7 @@ TEST_F(MallocDebugTest, max_size) {
}
TEST_F(MallocDebugTest, debug_mallinfo) {
+ SKIP_WITH_HWASAN;
Init("guard");
void* pointer = debug_malloc(150);
@@ -2472,6 +2477,7 @@ TEST_F(MallocDebugTest, abort_on_error_header_tag_corrupted) {
}
TEST_F(MallocDebugTest, malloc_info_no_pointer_tracking) {
+ SKIP_WITH_HWASAN;
Init("fill");
TemporaryFile tf;