Skip to content

Commit dcbf1e4

Browse files
authored
[lldb] Fix buildbots after PR 74786 (#75272)
Fix unexpected pass after #74786.
1 parent ed2d497 commit dcbf1e4

File tree

2 files changed

+47
-46
lines changed

2 files changed

+47
-46
lines changed

lldb/test/API/lang/cpp/union-static-data-members/TestCppUnionStaticMembers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ def test_expr_union_static_members(self):
4242
name="val", value="42"
4343
)])
4444

45-
@expectedFailureAll
45+
@expectedFailureWindows
4646
def test_union_in_anon_namespace(self):
4747
"""Tests that frame variable and expr work
4848
for union static data members in anonymous

lldb/unittests/SymbolFile/PDB/SymbolFilePDBTests.cpp

Lines changed: 46 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -362,10 +362,9 @@ TEST_F(SymbolFilePDBTests, TestSimpleClassTypes) {
362362
SymbolFilePDB *symfile =
363363
static_cast<SymbolFilePDB *>(module->GetSymbolFile());
364364
llvm::pdb::IPDBSession &session = symfile->GetPDBSession();
365-
llvm::DenseSet<SymbolFile *> searched_files;
366-
TypeMap results;
367-
symfile->FindTypes(ConstString("Class"), CompilerDeclContext(), 0,
368-
searched_files, results);
365+
TypeResults query_results;
366+
symfile->FindTypes(TypeQuery("Class"), query_results);
367+
TypeMap &results = query_results.GetTypeMap();
369368
EXPECT_EQ(1u, results.GetSize());
370369
lldb::TypeSP udt_type = results.GetTypeAtIndex(0);
371370
EXPECT_EQ(ConstString("Class"), udt_type->GetName());
@@ -383,7 +382,6 @@ TEST_F(SymbolFilePDBTests, TestNestedClassTypes) {
383382
SymbolFilePDB *symfile =
384383
static_cast<SymbolFilePDB *>(module->GetSymbolFile());
385384
llvm::pdb::IPDBSession &session = symfile->GetPDBSession();
386-
llvm::DenseSet<SymbolFile *> searched_files;
387385
TypeMap results;
388386

389387
auto clang_ast_ctx_or_err =
@@ -394,8 +392,10 @@ TEST_F(SymbolFilePDBTests, TestNestedClassTypes) {
394392
llvm::dyn_cast_or_null<TypeSystemClang>(clang_ast_ctx_or_err->get());
395393
EXPECT_NE(nullptr, clang_ast_ctx);
396394

397-
symfile->FindTypes(ConstString("Class"), CompilerDeclContext(), 0,
398-
searched_files, results);
395+
TypeResults query_results;
396+
symfile->FindTypes(TypeQuery("Class"), query_results);
397+
TypeMap &results = query_results.GetTypeMap();
398+
399399
EXPECT_EQ(1u, results.GetSize());
400400

401401
auto Class = results.GetTypeAtIndex(0);
@@ -413,10 +413,11 @@ TEST_F(SymbolFilePDBTests, TestNestedClassTypes) {
413413
// compiler type for both, but `FindTypes` may return more than one type
414414
// (with the same compiler type) because the symbols have different IDs.
415415

416-
TypeMap more_results;
417416
auto ClassCompilerDeclCtx = CompilerDeclContext(clang_ast_ctx, ClassDeclCtx);
418-
symfile->FindTypes(ConstString("NestedClass"), ClassCompilerDeclCtx, 0,
419-
searched_files, more_results);
417+
TypeResults query_results;
418+
symfile->FindTypes(TypeQuery(ClassCompilerDeclCtx, "NestedClass"),
419+
query_results);
420+
TypeMap &more_results = query_results.GetTypeMap();
420421
EXPECT_LE(1u, more_results.GetSize());
421422

422423
lldb::TypeSP udt_type = more_results.GetTypeAtIndex(0);
@@ -437,9 +438,6 @@ TEST_F(SymbolFilePDBTests, TestClassInNamespace) {
437438
SymbolFilePDB *symfile =
438439
static_cast<SymbolFilePDB *>(module->GetSymbolFile());
439440
llvm::pdb::IPDBSession &session = symfile->GetPDBSession();
440-
llvm::DenseSet<SymbolFile *> searched_files;
441-
TypeMap results;
442-
443441
auto clang_ast_ctx_or_err =
444442
symfile->GetTypeSystemForLanguage(lldb::eLanguageTypeC_plus_plus);
445443
ASSERT_THAT_EXPECTED(clang_ast_ctx_or_err, llvm::Succeeded());
@@ -456,12 +454,14 @@ TEST_F(SymbolFilePDBTests, TestClassInNamespace) {
456454
symfile->ParseDeclsForContext(CompilerDeclContext(
457455
clang_ast_ctx, static_cast<clang::DeclContext *>(tu)));
458456

459-
auto ns_namespace =
457+
auto ns_namespace_decl_ctx =
460458
symfile->FindNamespace(ConstString("NS"), CompilerDeclContext(), true);
461-
EXPECT_TRUE(ns_namespace.IsValid());
459+
EXPECT_TRUE(ns_namespace_decl_ctx.IsValid());
462460

463-
symfile->FindTypes(ConstString("NSClass"), ns_namespace, 0, searched_files,
464-
results);
461+
TypeResults query_results;
462+
symfile->FindTypes(TypeQuery(ns_namespace_decl_ctx, "NSClass"),
463+
query_results);
464+
TypeMap &results = query_results.GetTypeMap();
465465
EXPECT_EQ(1u, results.GetSize());
466466

467467
lldb::TypeSP udt_type = results.GetTypeAtIndex(0);
@@ -482,12 +482,12 @@ TEST_F(SymbolFilePDBTests, TestEnumTypes) {
482482
SymbolFilePDB *symfile =
483483
static_cast<SymbolFilePDB *>(module->GetSymbolFile());
484484
llvm::pdb::IPDBSession &session = symfile->GetPDBSession();
485-
llvm::DenseSet<SymbolFile *> searched_files;
486485
const char *EnumsToCheck[] = {"Enum", "ShortEnum"};
487486
for (auto Enum : EnumsToCheck) {
488-
TypeMap results;
489-
symfile->FindTypes(ConstString(Enum), CompilerDeclContext(), 0,
490-
searched_files, results);
487+
488+
TypeResults query_results;
489+
symfile->FindTypes(TypeQuery(Enum), query_results);
490+
TypeMap &results = query_results.GetTypeMap();
491491
EXPECT_EQ(1u, results.GetSize());
492492
lldb::TypeSP enum_type = results.GetTypeAtIndex(0);
493493
EXPECT_EQ(ConstString(Enum), enum_type->GetName());
@@ -527,16 +527,15 @@ TEST_F(SymbolFilePDBTests, TestTypedefs) {
527527
SymbolFilePDB *symfile =
528528
static_cast<SymbolFilePDB *>(module->GetSymbolFile());
529529
llvm::pdb::IPDBSession &session = symfile->GetPDBSession();
530-
llvm::DenseSet<SymbolFile *> searched_files;
531530
TypeMap results;
532531

533532
const char *TypedefsToCheck[] = {"ClassTypedef", "NSClassTypedef",
534533
"FuncPointerTypedef",
535534
"VariadicFuncPointerTypedef"};
536535
for (auto Typedef : TypedefsToCheck) {
537-
TypeMap results;
538-
symfile->FindTypes(ConstString(Typedef), CompilerDeclContext(), 0,
539-
searched_files, results);
536+
TypeResults query_results;
537+
symfile->FindTypes(TypeQuery(Typedef), query_results);
538+
TypeMap &results = query_results.GetTypeMap();
540539
EXPECT_EQ(1u, results.GetSize());
541540
lldb::TypeSP typedef_type = results.GetTypeAtIndex(0);
542541
EXPECT_EQ(ConstString(Typedef), typedef_type->GetName());
@@ -578,22 +577,24 @@ TEST_F(SymbolFilePDBTests, TestMaxMatches) {
578577

579578
SymbolFilePDB *symfile =
580579
static_cast<SymbolFilePDB *>(module->GetSymbolFile());
581-
llvm::DenseSet<SymbolFile *> searched_files;
582-
TypeMap results;
583-
const ConstString name("ClassTypedef");
584-
symfile->FindTypes(name, CompilerDeclContext(), 0, searched_files, results);
585-
// Try to limit ourselves from 1 to 10 results, otherwise we could
586-
// be doing this thousands of times. The idea is just to make sure
587-
// that for a variety of values, the number of limited results
588-
// always comes out to the number we are expecting.
589-
uint32_t num_results = results.GetSize();
590-
uint32_t iterations = std::min(num_results, 10u);
591-
for (uint32_t i = 1; i <= iterations; ++i) {
592-
TypeMap more_results;
593-
symfile->FindTypes(name, CompilerDeclContext(), i, searched_files,
594-
more_results);
595-
uint32_t num_limited_results = more_results.GetSize();
596-
EXPECT_EQ(i, num_limited_results);
580+
581+
// Make a type query object we can use for all types and for one type
582+
TypeQuery query("ClassTypedef");
583+
{
584+
// Find all types that match
585+
TypeResults query_results;
586+
symfile->FindTypes(query, query_results);
587+
TypeMap &results = query_results.GetTypeMap();
588+
EXPECT_GT(results.GetSize(), 1u);
589+
}
590+
591+
{
592+
// Find a single type that matches
593+
query.SetFindOne(true);
594+
TypeResults query_results;
595+
symfile->FindTypes(query, query_results);
596+
TypeMap &results = query_results.GetTypeMap();
597+
EXPECT_EQ(results.GetSize(), 1u);
597598
}
598599
}
599600

@@ -604,10 +605,10 @@ TEST_F(SymbolFilePDBTests, TestNullName) {
604605

605606
SymbolFilePDB *symfile =
606607
static_cast<SymbolFilePDB *>(module->GetSymbolFile());
607-
llvm::DenseSet<SymbolFile *> searched_files;
608-
TypeMap results;
609-
symfile->FindTypes(ConstString(), CompilerDeclContext(), 0, searched_files,
610-
results);
608+
609+
TypeResults query_results;
610+
symfile->FindTypes(TypeQuery(llvm::StringRef()), query_results);
611+
TypeMap &results = query_results.GetTypeMap();
611612
EXPECT_EQ(0u, results.GetSize());
612613
}
613614

0 commit comments

Comments
 (0)