diff options
author | Christopher Ferris <cferris@google.com> | 2017-05-15 15:50:19 -0700 |
---|---|---|
committer | Christopher Ferris <cferris@google.com> | 2017-05-15 16:59:16 -0700 |
commit | a1c0d2fd4ce96e123c4ae6506c9d637d747e1fe2 (patch) | |
tree | b1f89edbd67d6b09b9cbdfb1bf03b65b2dac9ad4 /libc/malloc_debug/tests/malloc_debug_unit_tests.cpp | |
parent | ac58d33d343eba6a3370f541467f09802c48b24b (diff) |
Add support for modifying decay timer.
Add the mallopt function, and only a single option so far.
Bug: 36401135
Test: Built and booted bullhead.
Test: Ran jemalloc unit tests.
Test: Ran bionic unit tests.
Test: Ran a test that allocated and free'd a large piece of memory,
Test: and verified that after changing the parameter, the PSS
Test: sticks around (decay timer set to 1), the PSS is purged (decay
Test: timer set to 0).
Change-Id: I6927929b0c539c1023d34772d9e26bb6a8a45877
Diffstat (limited to 'libc/malloc_debug/tests/malloc_debug_unit_tests.cpp')
-rw-r--r-- | libc/malloc_debug/tests/malloc_debug_unit_tests.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/libc/malloc_debug/tests/malloc_debug_unit_tests.cpp b/libc/malloc_debug/tests/malloc_debug_unit_tests.cpp index 219c21ebb..4fdba2ef9 100644 --- a/libc/malloc_debug/tests/malloc_debug_unit_tests.cpp +++ b/libc/malloc_debug/tests/malloc_debug_unit_tests.cpp @@ -58,6 +58,7 @@ void debug_get_malloc_leak_info(uint8_t**, size_t*, size_t*, size_t*, size_t*); void debug_free_malloc_leak_info(uint8_t*); struct mallinfo debug_mallinfo(); +int debug_mallopt(int, int); #if defined(HAVE_DEPRECATED_MALLOC_FUNCS) void* debug_pvalloc(size_t); @@ -128,6 +129,7 @@ MallocDispatch MallocDebugTest::dispatch = { nullptr, nullptr, nullptr, + mallopt, }; void VerifyAllocCalls() { @@ -1474,6 +1476,20 @@ TEST_F(MallocDebugTest, debug_mallinfo) { ASSERT_STREQ("", getFakeLogPrint().c_str()); } +TEST_F(MallocDebugTest, debug_mallopt) { + Init("guard"); + + void* pointer = debug_malloc(150); + ASSERT_TRUE(pointer != nullptr); + + EXPECT_EQ(0, debug_mallopt(-1000, 1)); + + debug_free(pointer); + + ASSERT_STREQ("", getFakeLogBuf().c_str()); + ASSERT_STREQ("", getFakeLogPrint().c_str()); +} + TEST_F(MallocDebugTest, debug_posix_memalign) { Init("guard"); |