splhack created this revision.
splhack added reviewers: clayborg, jingham, bulbazord, jasonmolenda, 
JDevlieghere, rastogishubham.
Herald added a subscriber: kristof.beyls.
Herald added a project: All.
splhack requested review of this revision.
Herald added a project: LLDB.
Herald added a subscriber: lldb-commits.

ASSERT_EQ FileSpec is flaky on arm64. Use FileSpec::Compare instead.

- 
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/


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D155333

Files:
  lldb/unittests/Target/LocateModuleCallbackTest.cpp

Index: lldb/unittests/Target/LocateModuleCallbackTest.cpp
===================================================================
--- lldb/unittests/Target/LocateModuleCallbackTest.cpp
+++ lldb/unittests/Target/LocateModuleCallbackTest.cpp
@@ -148,11 +148,15 @@
   return module_spec;
 }
 
+void CheckFileSpecs(const FileSpec &a_file_spec, const FileSpec &b_file_spec) {
+  ASSERT_EQ(FileSpec::Compare(a_file_spec, b_file_spec, /*full=*/true), 0);
+}
+
 void CheckModule(const ModuleSP &module_sp) {
   ASSERT_TRUE(module_sp);
   ASSERT_EQ(module_sp->GetUUID().GetAsString(), k_module_uuid);
   ASSERT_EQ(module_sp->GetObjectOffset(), 0U);
-  ASSERT_EQ(module_sp->GetPlatformFileSpec(), GetRemotePath());
+  CheckFileSpecs(module_sp->GetPlatformFileSpec(), GetRemotePath());
 }
 
 SymbolContextList FindFunctions(const ModuleSP &module_sp,
@@ -263,11 +267,6 @@
 } // 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);
@@ -277,7 +276,7 @@
   ModuleSP module_sp =
       m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false);
   CheckModule(module_sp);
-  ASSERT_EQ(module_sp->GetFileSpec(), uuid_view);
+  CheckFileSpecs(module_sp->GetFileSpec(), uuid_view);
   ASSERT_FALSE(module_sp->GetSymbolFileFileSpec());
   CheckStrippedSymbol(module_sp);
 }
@@ -286,12 +285,6 @@
   // 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();
@@ -299,8 +292,8 @@
   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));
+  CheckFileSpecs(module_sp->GetFileSpec(), uuid_view);
+  CheckFileSpecs(module_sp->GetSymbolFileFileSpec(), GetSymFileSpec(uuid_view));
   CheckUnstrippedSymbol(module_sp);
 }
 
@@ -316,8 +309,8 @@
   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));
+  CheckFileSpecs(module_sp->GetFileSpec(), uuid_view);
+  CheckFileSpecs(module_sp->GetSymbolFileFileSpec(), GetSymFileSpec(uuid_view));
   CheckUnstrippedSymbol(module_sp);
 }
 
@@ -368,7 +361,7 @@
   ModuleSP module_sp =
       m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false);
   CheckModule(module_sp);
-  ASSERT_EQ(module_sp->GetFileSpec(), uuid_view);
+  CheckFileSpecs(module_sp->GetFileSpec(), uuid_view);
   ASSERT_FALSE(module_sp->GetSymbolFileFileSpec());
   CheckStrippedSymbol(module_sp);
 }
@@ -391,7 +384,7 @@
   ModuleSP module_sp =
       m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false);
   CheckModule(module_sp);
-  ASSERT_EQ(module_sp->GetFileSpec(), uuid_view);
+  CheckFileSpecs(module_sp->GetFileSpec(), uuid_view);
   ASSERT_FALSE(module_sp->GetSymbolFileFileSpec());
   CheckStrippedSymbol(module_sp);
 }
@@ -413,7 +406,7 @@
   ModuleSP module_sp =
       m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false);
   CheckModule(module_sp);
-  ASSERT_EQ(module_sp->GetFileSpec(), uuid_view);
+  CheckFileSpecs(module_sp->GetFileSpec(), uuid_view);
   ASSERT_FALSE(module_sp->GetSymbolFileFileSpec());
   CheckStrippedSymbol(module_sp);
 }
@@ -438,7 +431,7 @@
   ModuleSP module_sp =
       m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false);
   CheckModule(module_sp);
-  ASSERT_EQ(module_sp->GetFileSpec(), uuid_view);
+  CheckFileSpecs(module_sp->GetFileSpec(), uuid_view);
   ASSERT_TRUE(module_sp->GetSymbolFileFileSpec().GetPath().empty());
   CheckStrippedSymbol(module_sp);
 }
@@ -459,8 +452,8 @@
   ModuleSP module_sp =
       m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false);
   CheckModule(module_sp);
-  ASSERT_EQ(module_sp->GetFileSpec(),
-            FileSpec(GetInputFilePath(k_module_file)));
+  CheckFileSpecs(module_sp->GetFileSpec(),
+                 FileSpec(GetInputFilePath(k_module_file)));
   ASSERT_FALSE(module_sp->GetSymbolFileFileSpec());
   CheckStrippedSymbol(module_sp);
 }
@@ -484,8 +477,8 @@
   ModuleSP module_sp =
       m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false);
   CheckModule(module_sp);
-  ASSERT_EQ(module_sp->GetFileSpec(),
-            FileSpec(GetInputFilePath(k_symbol_file)));
+  CheckFileSpecs(module_sp->GetFileSpec(),
+                 FileSpec(GetInputFilePath(k_symbol_file)));
   ASSERT_FALSE(module_sp->GetSymbolFileFileSpec());
   CheckUnstrippedSymbol(module_sp);
 }
@@ -510,10 +503,10 @@
   ModuleSP module_sp =
       m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false);
   CheckModule(module_sp);
-  ASSERT_EQ(module_sp->GetFileSpec(),
-            FileSpec(GetInputFilePath(k_symbol_file)));
-  ASSERT_EQ(module_sp->GetSymbolFileFileSpec(),
-            FileSpec(GetInputFilePath(k_symbol_file)));
+  CheckFileSpecs(module_sp->GetFileSpec(),
+                 FileSpec(GetInputFilePath(k_symbol_file)));
+  CheckFileSpecs(module_sp->GetSymbolFileFileSpec(),
+                 FileSpec(GetInputFilePath(k_symbol_file)));
   CheckUnstrippedSymbol(module_sp);
 }
 
@@ -536,10 +529,10 @@
   ModuleSP module_sp =
       m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false);
   CheckModule(module_sp);
-  ASSERT_EQ(module_sp->GetFileSpec(),
-            FileSpec(GetInputFilePath(k_module_file)));
-  ASSERT_EQ(module_sp->GetSymbolFileFileSpec(),
-            FileSpec(GetInputFilePath(k_symbol_file)));
+  CheckFileSpecs(module_sp->GetFileSpec(),
+                 FileSpec(GetInputFilePath(k_module_file)));
+  CheckFileSpecs(module_sp->GetSymbolFileFileSpec(),
+                 FileSpec(GetInputFilePath(k_symbol_file)));
   CheckUnstrippedSymbol(module_sp);
 }
 
@@ -562,10 +555,10 @@
   ModuleSP module_sp =
       m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false);
   CheckModule(module_sp);
-  ASSERT_EQ(module_sp->GetFileSpec(),
-            FileSpec(GetInputFilePath(k_module_file)));
-  ASSERT_EQ(module_sp->GetSymbolFileFileSpec(),
-            FileSpec(GetInputFilePath(k_breakpad_symbol_file)));
+  CheckFileSpecs(module_sp->GetFileSpec(),
+                 FileSpec(GetInputFilePath(k_module_file)));
+  CheckFileSpecs(module_sp->GetSymbolFileFileSpec(),
+                 FileSpec(GetInputFilePath(k_breakpad_symbol_file)));
   CheckUnstrippedSymbol(module_sp);
 }
 
@@ -587,9 +580,9 @@
   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(),
-            FileSpec(GetInputFilePath(k_symbol_file)));
+  CheckFileSpecs(module_sp->GetFileSpec(), uuid_view);
+  CheckFileSpecs(module_sp->GetSymbolFileFileSpec(),
+                 FileSpec(GetInputFilePath(k_symbol_file)));
   CheckUnstrippedSymbol(module_sp);
 }
 
@@ -611,9 +604,9 @@
   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(),
-            FileSpec(GetInputFilePath(k_breakpad_symbol_file)));
+  CheckFileSpecs(module_sp->GetFileSpec(), uuid_view);
+  CheckFileSpecs(module_sp->GetSymbolFileFileSpec(),
+                 FileSpec(GetInputFilePath(k_breakpad_symbol_file)));
   CheckUnstrippedSymbol(module_sp);
 }
 
@@ -653,4 +646,4 @@
   ModuleSP module_sp =
       m_target_sp->GetOrCreateModule(m_module_spec, /*notify=*/false);
   ASSERT_FALSE(module_sp);
-}
\ No newline at end of file
+}
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to