[Lldb-commits] [lldb] [lldb][PDB] Update max matches test for type queries (PR #75813)

David Spickett via lldb-commits lldb-commits at lists.llvm.org
Mon Dec 18 07:37:08 PST 2023


https://github.com/DavidSpickett created https://github.com/llvm/llvm-project/pull/75813

NestedClass will be found via Class::NestedClass and ClassTypedef::NestedClass. So the first part of the test gets 2 results as the default is to find all matching types.

In the next part, we ask for only the first match and expect to get only 1 of those two possible results.

>From 4abe9b0de8c2dd006b8fa7d32f795f58eb5b499d Mon Sep 17 00:00:00 2001
From: David Spickett <david.spickett at linaro.org>
Date: Mon, 18 Dec 2023 15:33:12 +0000
Subject: [PATCH] [lldb][PDB] Update max matches test for type queries

NestedClass will be found via Class::NestedClass and
ClassTypedef::NestedClass. So the first part of the test
gets 2 results as the default is to find all matching types.

In the next part, we ask for only the first match and
expect to get only 1 of those two possible results.
---
 .../SymbolFile/PDB/SymbolFilePDBTests.cpp        | 16 +++-------------
 1 file changed, 3 insertions(+), 13 deletions(-)

diff --git a/lldb/unittests/SymbolFile/PDB/SymbolFilePDBTests.cpp b/lldb/unittests/SymbolFile/PDB/SymbolFilePDBTests.cpp
index 07e3a0c8ee95d2..6a2ea8c4a41b1c 100644
--- a/lldb/unittests/SymbolFile/PDB/SymbolFilePDBTests.cpp
+++ b/lldb/unittests/SymbolFile/PDB/SymbolFilePDBTests.cpp
@@ -579,24 +579,14 @@ TEST_F(SymbolFilePDBTests, TestMaxMatches) {
       static_cast<SymbolFilePDB *>(module->GetSymbolFile());
 
   // Make a type query object we can use for all types and for one type
-  //
-  // TODO: this test was ported as is and before the new FindTypes patch
-  // this test was trying to find all matches, and it would find one. Then
-  // it would limit its number of matches from zero to < the minimum of the
-  // number of matches that were found in the first search, or 10. Then it
-  // would set the max matches to that number (1) and verify it was the
-  // same (1). This test should be fixed in the figure by updating the
-  // lldb/unittests/SymbolFile/PDB/Inputs/test-pdb-types.cpp file and
-  // recompiling the exe + pdb file so that there are actually multiple
-  // types whose basename is "ClassTypedef" or any other type. Now type
-  // matches only return a single match, or all of the matches.
-  TypeQuery query("ClassTypedef");
+  TypeQuery query("NestedClass");
   {
     // Find all types that match
     TypeResults query_results;
     symfile->FindTypes(query, query_results);
     TypeMap &results = query_results.GetTypeMap();
-    EXPECT_EQ(results.GetSize(), 1u);
+    // We expect to find Class::NestedClass and ClassTypedef::NestedClass.
+    EXPECT_EQ(results.GetSize(), 2u);
   }
   {
     // Find a single type that matches



More information about the lldb-commits mailing list