Author: Kazuki Sakamoto Date: 2023-07-15T11:53:06-07:00 New Revision: 39299f0d367d4ff6b1d1eede80ffb09718614e53
URL: https://github.com/llvm/llvm-project/commit/39299f0d367d4ff6b1d1eede80ffb09718614e53 DIFF: https://github.com/llvm/llvm-project/commit/39299f0d367d4ff6b1d1eede80ffb09718614e53.diff LOG: [lldb][LocateModuleCallback] Fix LocateModuleCallbackTest ModuleList unexpectedly caches module beyond test. Tear it down. - https://green.lab.llvm.org/green/view/LLDB/job/as-lldb-cmake/2260/testReport/junit/lldb-unit/Target___TargetTests_LocateModuleCallbackTest/GetOrCreateModuleWithCachedModule/ - https://green.lab.llvm.org/green/view/LLDB/job/as-lldb-cmake/2260/testReport/junit/lldb-unit/Target___TargetTests_LocateModuleCallbackTest/GetOrCreateModuleWithCachedModuleAndSymbol/ Differential Revision: https://reviews.llvm.org/D155333 Added: Modified: lldb/unittests/Target/LocateModuleCallbackTest.cpp Removed: ################################################################################ diff --git a/lldb/unittests/Target/LocateModuleCallbackTest.cpp b/lldb/unittests/Target/LocateModuleCallbackTest.cpp index ad96adb32a471a..3f8eb2f18ac7e5 100644 --- a/lldb/unittests/Target/LocateModuleCallbackTest.cpp +++ b/lldb/unittests/Target/LocateModuleCallbackTest.cpp @@ -233,6 +233,11 @@ class LocateModuleCallbackTest : public testing::Test { m_module_spec = GetTestModuleSpec(); } + void TearDown() override { + if (m_module_sp) + ModuleList::RemoveSharedModule(m_module_sp); + } + void CheckNoCallback() { EXPECT_FALSE(m_platform_sp->GetLocateModuleCallback()); EXPECT_EQ(m_callback_call_count, 0); @@ -257,51 +262,39 @@ class LocateModuleCallbackTest : public testing::Test { TargetSP m_target_sp; ProcessSP m_process_sp; ModuleSpec m_module_spec; + ModuleSP m_module_sp; int m_callback_call_count = 0; }; } // namespace TEST_F(LocateModuleCallbackTest, GetOrCreateModuleWithCachedModule) { - // Disable test on arm64 because of failures in the lldb incremental arm64 - // bot. -#if defined(__arm64__) || defined(__aarch64__) || defined(_M_ARM64) - GTEST_SKIP() << "broken on arm64."; -#endif // The module file is cached, and the locate module callback is not set. // GetOrCreateModule should succeed to return the module from the cache. FileSpec uuid_view = BuildCacheDir(m_test_dir); CheckNoCallback(); - ModuleSP module_sp = - m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); - CheckModule(module_sp); - ASSERT_EQ(module_sp->GetFileSpec(), uuid_view); - ASSERT_FALSE(module_sp->GetSymbolFileFileSpec()); - CheckStrippedSymbol(module_sp); + m_module_sp = m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); + CheckModule(m_module_sp); + ASSERT_EQ(m_module_sp->GetFileSpec(), uuid_view); + ASSERT_FALSE(m_module_sp->GetSymbolFileFileSpec()); + CheckStrippedSymbol(m_module_sp); } TEST_F(LocateModuleCallbackTest, GetOrCreateModuleWithCachedModuleAndSymbol) { // The module and symbol files are cached, and the locate module callback is // not set. GetOrCreateModule should succeed to return the module from the // cache with the symbol. - - // Disable test on arm64 because of failures in the lldb incremental arm64 - // bot. -#if defined(__arm64__) || defined(__aarch64__) || defined(_M_ARM64) - GTEST_SKIP() << "broken on arm64."; -#endif FileSpec uuid_view = BuildCacheDirWithSymbol(m_test_dir); CheckNoCallback(); - ModuleSP module_sp = - m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); - CheckModule(module_sp); - ASSERT_EQ(module_sp->GetFileSpec(), uuid_view); - ASSERT_EQ(module_sp->GetSymbolFileFileSpec(), GetSymFileSpec(uuid_view)); - CheckUnstrippedSymbol(module_sp); + m_module_sp = m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); + CheckModule(m_module_sp); + ASSERT_EQ(m_module_sp->GetFileSpec(), uuid_view); + ASSERT_EQ(m_module_sp->GetSymbolFileFileSpec(), GetSymFileSpec(uuid_view)); + CheckUnstrippedSymbol(m_module_sp); } TEST_F(LocateModuleCallbackTest, @@ -313,12 +306,11 @@ TEST_F(LocateModuleCallbackTest, CheckNoCallback(); - ModuleSP module_sp = - m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); - CheckModule(module_sp); - ASSERT_EQ(module_sp->GetFileSpec(), uuid_view); - ASSERT_EQ(module_sp->GetSymbolFileFileSpec(), GetSymFileSpec(uuid_view)); - CheckUnstrippedSymbol(module_sp); + m_module_sp = m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); + CheckModule(m_module_sp); + ASSERT_EQ(m_module_sp->GetFileSpec(), uuid_view); + ASSERT_EQ(m_module_sp->GetSymbolFileFileSpec(), GetSymFileSpec(uuid_view)); + CheckUnstrippedSymbol(m_module_sp); } TEST_F(LocateModuleCallbackTest, GetOrCreateModuleFailure) { @@ -329,9 +321,8 @@ TEST_F(LocateModuleCallbackTest, GetOrCreateModuleFailure) { CheckNoCallback(); - ModuleSP module_sp = - m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); - ASSERT_FALSE(module_sp); + m_module_sp = m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); + ASSERT_FALSE(m_module_sp); } TEST_F(LocateModuleCallbackTest, GetOrCreateModuleCallbackFailureNoCache) { @@ -347,9 +338,8 @@ TEST_F(LocateModuleCallbackTest, GetOrCreateModuleCallbackFailureNoCache) { return Status("The locate module callback failed"); }); - ModuleSP module_sp = - m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); - ASSERT_FALSE(module_sp); + m_module_sp = m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); + ASSERT_FALSE(m_module_sp); } TEST_F(LocateModuleCallbackTest, GetOrCreateModuleCallbackFailureCached) { @@ -365,12 +355,11 @@ TEST_F(LocateModuleCallbackTest, GetOrCreateModuleCallbackFailureCached) { return Status("The locate module callback failed"); }); - ModuleSP module_sp = - m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); - CheckModule(module_sp); - ASSERT_EQ(module_sp->GetFileSpec(), uuid_view); - ASSERT_FALSE(module_sp->GetSymbolFileFileSpec()); - CheckStrippedSymbol(module_sp); + m_module_sp = m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); + CheckModule(m_module_sp); + ASSERT_EQ(m_module_sp->GetFileSpec(), uuid_view); + ASSERT_FALSE(m_module_sp->GetSymbolFileFileSpec()); + CheckStrippedSymbol(m_module_sp); } TEST_F(LocateModuleCallbackTest, GetOrCreateModuleCallbackNoFiles) { @@ -388,12 +377,12 @@ TEST_F(LocateModuleCallbackTest, GetOrCreateModuleCallbackNoFiles) { return Status(); }); - ModuleSP module_sp = - m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); - CheckModule(module_sp); - ASSERT_EQ(module_sp->GetFileSpec(), uuid_view); - ASSERT_FALSE(module_sp->GetSymbolFileFileSpec()); - CheckStrippedSymbol(module_sp); + m_module_sp = m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); + CheckModule(m_module_sp); + ASSERT_EQ(m_module_sp->GetFileSpec(), uuid_view); + ASSERT_FALSE(m_module_sp->GetSymbolFileFileSpec()); + CheckStrippedSymbol(m_module_sp); + ModuleList::RemoveSharedModule(m_module_sp); } TEST_F(LocateModuleCallbackTest, GetOrCreateModuleCallbackNonExistentModule) { @@ -410,12 +399,12 @@ TEST_F(LocateModuleCallbackTest, GetOrCreateModuleCallbackNonExistentModule) { return Status(); }); - ModuleSP module_sp = - m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); - CheckModule(module_sp); - ASSERT_EQ(module_sp->GetFileSpec(), uuid_view); - ASSERT_FALSE(module_sp->GetSymbolFileFileSpec()); - CheckStrippedSymbol(module_sp); + m_module_sp = m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); + CheckModule(m_module_sp); + ASSERT_EQ(m_module_sp->GetFileSpec(), uuid_view); + ASSERT_FALSE(m_module_sp->GetSymbolFileFileSpec()); + CheckStrippedSymbol(m_module_sp); + ModuleList::RemoveSharedModule(m_module_sp); } TEST_F(LocateModuleCallbackTest, GetOrCreateModuleCallbackNonExistentSymbol) { @@ -435,12 +424,12 @@ TEST_F(LocateModuleCallbackTest, GetOrCreateModuleCallbackNonExistentSymbol) { return Status(); }); - ModuleSP module_sp = - m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); - CheckModule(module_sp); - ASSERT_EQ(module_sp->GetFileSpec(), uuid_view); - ASSERT_TRUE(module_sp->GetSymbolFileFileSpec().GetPath().empty()); - CheckStrippedSymbol(module_sp); + m_module_sp = m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); + CheckModule(m_module_sp); + ASSERT_EQ(m_module_sp->GetFileSpec(), uuid_view); + ASSERT_TRUE(m_module_sp->GetSymbolFileFileSpec().GetPath().empty()); + CheckStrippedSymbol(m_module_sp); + ModuleList::RemoveSharedModule(m_module_sp); } TEST_F(LocateModuleCallbackTest, GetOrCreateModuleCallbackSuccessWithModule) { @@ -456,13 +445,13 @@ TEST_F(LocateModuleCallbackTest, GetOrCreateModuleCallbackSuccessWithModule) { return Status(); }); - ModuleSP module_sp = - m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); - CheckModule(module_sp); - ASSERT_EQ(module_sp->GetFileSpec(), + m_module_sp = m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); + CheckModule(m_module_sp); + ASSERT_EQ(m_module_sp->GetFileSpec(), FileSpec(GetInputFilePath(k_module_file))); - ASSERT_FALSE(module_sp->GetSymbolFileFileSpec()); - CheckStrippedSymbol(module_sp); + ASSERT_FALSE(m_module_sp->GetSymbolFileFileSpec()); + CheckStrippedSymbol(m_module_sp); + ModuleList::RemoveSharedModule(m_module_sp); } TEST_F(LocateModuleCallbackTest, @@ -481,13 +470,13 @@ TEST_F(LocateModuleCallbackTest, return Status(); }); - ModuleSP module_sp = - m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); - CheckModule(module_sp); - ASSERT_EQ(module_sp->GetFileSpec(), + m_module_sp = m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); + CheckModule(m_module_sp); + ASSERT_EQ(m_module_sp->GetFileSpec(), FileSpec(GetInputFilePath(k_symbol_file))); - ASSERT_FALSE(module_sp->GetSymbolFileFileSpec()); - CheckUnstrippedSymbol(module_sp); + ASSERT_FALSE(m_module_sp->GetSymbolFileFileSpec()); + CheckUnstrippedSymbol(m_module_sp); + ModuleList::RemoveSharedModule(m_module_sp); } TEST_F(LocateModuleCallbackTest, @@ -507,14 +496,14 @@ TEST_F(LocateModuleCallbackTest, return Status(); }); - ModuleSP module_sp = - m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); - CheckModule(module_sp); - ASSERT_EQ(module_sp->GetFileSpec(), + m_module_sp = m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); + CheckModule(m_module_sp); + ASSERT_EQ(m_module_sp->GetFileSpec(), FileSpec(GetInputFilePath(k_symbol_file))); - ASSERT_EQ(module_sp->GetSymbolFileFileSpec(), + ASSERT_EQ(m_module_sp->GetSymbolFileFileSpec(), FileSpec(GetInputFilePath(k_symbol_file))); - CheckUnstrippedSymbol(module_sp); + CheckUnstrippedSymbol(m_module_sp); + ModuleList::RemoveSharedModule(m_module_sp); } TEST_F(LocateModuleCallbackTest, @@ -533,14 +522,14 @@ TEST_F(LocateModuleCallbackTest, return Status(); }); - ModuleSP module_sp = - m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); - CheckModule(module_sp); - ASSERT_EQ(module_sp->GetFileSpec(), + m_module_sp = m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); + CheckModule(m_module_sp); + ASSERT_EQ(m_module_sp->GetFileSpec(), FileSpec(GetInputFilePath(k_module_file))); - ASSERT_EQ(module_sp->GetSymbolFileFileSpec(), + ASSERT_EQ(m_module_sp->GetSymbolFileFileSpec(), FileSpec(GetInputFilePath(k_symbol_file))); - CheckUnstrippedSymbol(module_sp); + CheckUnstrippedSymbol(m_module_sp); + ModuleList::RemoveSharedModule(m_module_sp); } TEST_F(LocateModuleCallbackTest, @@ -559,14 +548,14 @@ TEST_F(LocateModuleCallbackTest, return Status(); }); - ModuleSP module_sp = - m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); - CheckModule(module_sp); - ASSERT_EQ(module_sp->GetFileSpec(), + m_module_sp = m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); + CheckModule(m_module_sp); + ASSERT_EQ(m_module_sp->GetFileSpec(), FileSpec(GetInputFilePath(k_module_file))); - ASSERT_EQ(module_sp->GetSymbolFileFileSpec(), + ASSERT_EQ(m_module_sp->GetSymbolFileFileSpec(), FileSpec(GetInputFilePath(k_breakpad_symbol_file))); - CheckUnstrippedSymbol(module_sp); + CheckUnstrippedSymbol(m_module_sp); + ModuleList::RemoveSharedModule(m_module_sp); } TEST_F(LocateModuleCallbackTest, @@ -584,13 +573,13 @@ TEST_F(LocateModuleCallbackTest, return Status(); }); - ModuleSP module_sp = - m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); - CheckModule(module_sp); - ASSERT_EQ(module_sp->GetFileSpec(), uuid_view); - ASSERT_EQ(module_sp->GetSymbolFileFileSpec(), + m_module_sp = m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); + CheckModule(m_module_sp); + ASSERT_EQ(m_module_sp->GetFileSpec(), uuid_view); + ASSERT_EQ(m_module_sp->GetSymbolFileFileSpec(), FileSpec(GetInputFilePath(k_symbol_file))); - CheckUnstrippedSymbol(module_sp); + CheckUnstrippedSymbol(m_module_sp); + ModuleList::RemoveSharedModule(m_module_sp); } TEST_F(LocateModuleCallbackTest, @@ -608,13 +597,13 @@ TEST_F(LocateModuleCallbackTest, return Status(); }); - ModuleSP module_sp = - m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); - CheckModule(module_sp); - ASSERT_EQ(module_sp->GetFileSpec(), uuid_view); - ASSERT_EQ(module_sp->GetSymbolFileFileSpec(), + m_module_sp = m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); + CheckModule(m_module_sp); + ASSERT_EQ(m_module_sp->GetFileSpec(), uuid_view); + ASSERT_EQ(m_module_sp->GetSymbolFileFileSpec(), FileSpec(GetInputFilePath(k_breakpad_symbol_file))); - CheckUnstrippedSymbol(module_sp); + CheckUnstrippedSymbol(m_module_sp); + ModuleList::RemoveSharedModule(m_module_sp); } TEST_F(LocateModuleCallbackTest, @@ -631,9 +620,8 @@ TEST_F(LocateModuleCallbackTest, return Status(); }); - ModuleSP module_sp = - m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); - ASSERT_FALSE(module_sp); + m_module_sp = m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); + ASSERT_FALSE(m_module_sp); } TEST_F(LocateModuleCallbackTest, @@ -650,7 +638,6 @@ TEST_F(LocateModuleCallbackTest, return Status(); }); - ModuleSP module_sp = - m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); - ASSERT_FALSE(module_sp); -} \ No newline at end of file + m_module_sp = m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false); + ASSERT_FALSE(m_module_sp); +} _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits