From 85169658e1c03a17ceec0548c691bab1ea943cae Mon Sep 17 00:00:00 2001 From: Christopher Ferris Date: Wed, 9 Oct 2019 18:41:55 -0700 Subject: [PATCH] Add support for scudo. As the first pass, the malloc_info for scudo doesn't return anything. This feature is hardly ever used, so this seems fine for the first revision. Bug: 137795072 Test: Ran unit tests on a taimen using scudo and a taimen using jemalloc. Change-Id: I675386ae17ba5505c27bd9da12c60242d795464a --- tests/malloc_test.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/tests/malloc_test.cpp b/tests/malloc_test.cpp index 989e2d079..0407553b2 100644 --- a/tests/malloc_test.cpp +++ b/tests/malloc_test.cpp @@ -371,7 +371,8 @@ TEST(malloc, malloc_info) { auto root = doc.FirstChildElement(); ASSERT_NE(nullptr, root); ASSERT_STREQ("malloc", root->Name()); - if (std::string(root->Attribute("version")) == "jemalloc-1") { + std::string version(root->Attribute("version")); + if (version == "jemalloc-1") { // Verify jemalloc version of this data. ASSERT_STREQ("jemalloc-1", root->Attribute("version")); @@ -404,9 +405,9 @@ TEST(malloc, malloc_info) { } } } else { - // Only verify that this is debug-malloc-1, the malloc debug unit tests - // verify the output. - ASSERT_STREQ("debug-malloc-1", root->Attribute("version")); + // Do not verify output for scudo or debug malloc. + ASSERT_TRUE(version == "scudo-1" || version == "debug-malloc-1") + << "Unknown version: " << version; } #endif } @@ -431,7 +432,8 @@ TEST(malloc, malloc_info_matches_mallinfo) { auto root = doc.FirstChildElement(); ASSERT_NE(nullptr, root); ASSERT_STREQ("malloc", root->Name()); - if (std::string(root->Attribute("version")) == "jemalloc-1") { + std::string version(root->Attribute("version")); + if (version == "jemalloc-1") { // Verify jemalloc version of this data. ASSERT_STREQ("jemalloc-1", root->Attribute("version")); @@ -458,9 +460,9 @@ TEST(malloc, malloc_info_matches_mallinfo) { EXPECT_LE(mallinfo_before_allocated_bytes, total_allocated_bytes); EXPECT_GE(mallinfo_after_allocated_bytes, total_allocated_bytes); } else { - // Only verify that this is debug-malloc-1, the malloc debug unit tests - // verify the output. - ASSERT_STREQ("debug-malloc-1", root->Attribute("version")); + // Do not verify output for scudo or debug malloc. + ASSERT_TRUE(version == "scudo-1" || version == "debug-malloc-1") + << "Unknown version: " << version; } #endif }