Changes FunctionNames.Mangled to check for regex instead of equality

The demangled name has recently joined two angle brackets, where there
was previously a space. This commit makes it possible for both options
to pass, since they're both valid source.

Bug: b:238678030
Test: Tested locally
Fixed: b:243982778
Change-Id: Ic4464709fb8cc5c730a9d14a8627294b24ae70c3
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/3949474
Reviewed-by: Lei Zhang <thestig@chromium.org>
This commit is contained in:
Christopher Di Bella 2022-10-12 17:06:34 +00:00 committed by Lei Zhang
parent 57d1743662
commit ef443fbf77

View file

@ -210,10 +210,9 @@ TEST(FunctionNames, Mangled) {
Module::Function *function = functions[0]; Module::Function *function = functions[0];
// This is GCC-specific, but we shouldn't be seeing STABS data anywhere // This is GCC-specific, but we shouldn't be seeing STABS data anywhere
// but Linux. // but Linux.
EXPECT_STREQ("std::vector<unsigned long long, " EXPECT_THAT(function->name.str(), ::testing::ContainsRegex(
"std::allocator<unsigned long long> >::" "std::vector<unsigned long long, std::allocator<unsigned long long>\\s?>::"
"push_back(unsigned long long const&)", "push_back\\(unsigned long long const&\\)"));
function->name.str().c_str());
EXPECT_EQ(0xf2cfda63cef7f46dLL, function->address); EXPECT_EQ(0xf2cfda63cef7f46dLL, function->address);
EXPECT_LT(0U, function->ranges[0].size); // should have used dummy size EXPECT_LT(0U, function->ranges[0].size); // should have used dummy size
EXPECT_EQ(0U, function->parameter_size); EXPECT_EQ(0U, function->parameter_size);