diff options
Diffstat (limited to 'libc/malloc_debug/tests/malloc_debug_unit_tests.cpp')
-rw-r--r-- | libc/malloc_debug/tests/malloc_debug_unit_tests.cpp | 24 |
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; |