From dde8b8972df854fc0a105c4b5bef94909f1d26e0 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Tue, 19 Oct 2021 18:10:10 -0400 Subject: [PATCH] DemangleTest: Add a test for demangle_symbol_gcc3 without the full demangler. This tests what 0945c7e4e6b52126886ef81d8f217690f0dbe7e6 fixed. Also fix one of the GCC2 tests which had expectation and input swapped. --- src/tests/add-ons/kernel/debugger/DemangleTest.cpp | 9 ++++++++- src/tests/add-ons/kernel/debugger/Jamfile | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/tests/add-ons/kernel/debugger/DemangleTest.cpp b/src/tests/add-ons/kernel/debugger/DemangleTest.cpp index e3eb5aa27c..bc73082fed 100644 --- a/src/tests/add-ons/kernel/debugger/DemangleTest.cpp +++ b/src/tests/add-ons/kernel/debugger/DemangleTest.cpp @@ -10,6 +10,7 @@ #include #include "Demangler.h" +#include "demangle.h" DemangleTest::DemangleTest() @@ -37,7 +38,7 @@ DemangleTest::RunGCC2Tests() "registerInstance__Q26icu_5713BreakIteratorPQ26icu_5713BreakIteratorRCQ26icu_576Locale18UBreakIteratorTypeR10UErrorCode"); // Previously caused crashes - TEST("SetTo__Q282_GLOBAL_", "_GLOBAL_::SetTo()"); + TEST("_GLOBAL_::SetTo()", "SetTo__Q282_GLOBAL_"); } @@ -54,6 +55,12 @@ DemangleTest::RunGCC3PTests() TEST("void std::__cxx11::basic_string, std::allocator >::_M_construct(char*, char*, std::forward_iterator_tag) [clone .isra.25]", "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag.isra.25"); TEST("foo(int) [clone .part.1.123456] [clone .constprop.777.54321]", "_Z3fooi.part.1.123456.constprop.777.54321"); + + // Names independent of the full symbol + char buffer[1024]; + NextSubTest(); + demangle_symbol_gcc3("_Z3fooi.part.1.123456.constprop.777.1", buffer, sizeof(buffer), NULL); + CPPUNIT_ASSERT_EQUAL(BString("foo[clone .part.1.123456] [clone .constprop.777.1] "), buffer); } #undef TEST diff --git a/src/tests/add-ons/kernel/debugger/Jamfile b/src/tests/add-ons/kernel/debugger/Jamfile index 203b02773e..4777bee505 100644 --- a/src/tests/add-ons/kernel/debugger/Jamfile +++ b/src/tests/add-ons/kernel/debugger/Jamfile @@ -1,6 +1,7 @@ SubDir HAIKU_TOP src tests add-ons kernel debugger ; SubDirHdrs $(HAIKU_TOP) src kits debugger demangler ; +SubDirHdrs $(HAIKU_TOP) src add-ons kernel debugger demangle ; UnitTestLib libkerneldebuggertest.so : KernelDebuggerTest.cpp