[Lldb-commits] [lldb] r286352 - Disable windows-only minidump plugin

Pavel Labath via lldb-commits lldb-commits at lists.llvm.org
Wed Nov 9 02:16:11 PST 2016


Author: labath
Date: Wed Nov  9 04:16:11 2016
New Revision: 286352

URL: http://llvm.org/viewvc/llvm-project?rev=286352&view=rev
Log:
Disable windows-only minidump plugin

Summary:
This commit disables the windows-only minidump plugin and enables the new
cross-platform plugin for windows minidump files. Test decorators are adjusted to
reflect that: windows minidump tests can now run  on all platforms. The exception
is the tests that create minidump files, as that functionality is not available
yet.  I've checked that this works on windows and linux.

Reviewers: amccarth, zturner

Subscribers: dvlahovski, lldb-commits

Differential Revision: https://reviews.llvm.org/D26393

Modified:
    lldb/trunk/packages/Python/lldbsuite/test/functionalities/postmortem/minidump/TestMiniDump.py
    lldb/trunk/packages/Python/lldbsuite/test/functionalities/postmortem/wow64_minidump/TestWow64MiniDump.py
    lldb/trunk/source/API/SystemInitializerFull.cpp
    lldb/trunk/source/Plugins/Process/minidump/ProcessMinidump.cpp

Modified: lldb/trunk/packages/Python/lldbsuite/test/functionalities/postmortem/minidump/TestMiniDump.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/postmortem/minidump/TestMiniDump.py?rev=286352&r1=286351&r2=286352&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/functionalities/postmortem/minidump/TestMiniDump.py (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/functionalities/postmortem/minidump/TestMiniDump.py Wed Nov  9 04:16:11 2016
@@ -15,9 +15,8 @@ from lldbsuite.test import lldbutil
 class MiniDumpTestCase(TestBase):
 
     mydir = TestBase.compute_mydir(__file__)
+    NO_DEBUG_INFO_TESTCASE = True
 
-    @skipUnlessWindows  # for now mini-dump debugging is limited to Windows hosts
-    @no_debug_info_test
     def test_process_info_in_mini_dump(self):
         """Test that lldb can read the process information from the minidump."""
         # target create -c fizzbuzz_no_heap.dmp
@@ -28,8 +27,6 @@ class MiniDumpTestCase(TestBase):
         self.assertEqual(self.process.GetNumThreads(), 1)
         self.assertEqual(self.process.GetProcessID(), 4440)
 
-    @skipUnlessWindows  # for now mini-dump debugging is limited to Windows hosts
-    @no_debug_info_test
     def test_thread_info_in_mini_dump(self):
         """Test that lldb can read the thread information from the minidump."""
         # target create -c fizzbuzz_no_heap.dmp
@@ -44,8 +41,6 @@ class MiniDumpTestCase(TestBase):
         stop_description = thread.GetStopDescription(256)
         self.assertTrue("0xc0000005" in stop_description)
 
-    @skipUnlessWindows  # for now mini-dump debugging is limited to Windows hosts
-    @no_debug_info_test
     def test_stack_info_in_mini_dump(self):
         """Test that we can see a trivial stack in a VS-generate mini dump."""
         # target create -c fizzbuzz_no_heap.dmp
@@ -63,8 +58,7 @@ class MiniDumpTestCase(TestBase):
         self.assertTrue(eip.IsValid())
         self.assertEqual(pc, eip.GetValueAsUnsigned())
 
-    @skipUnlessWindows
-    @not_remote_testsuite_ready
+    @skipUnlessWindows # Minidump saving works only on windows
     def test_deeper_stack_in_mini_dump(self):
         """Test that we can examine a more interesting stack in a mini dump."""
         self.build()
@@ -100,8 +94,7 @@ class MiniDumpTestCase(TestBase):
             if (os.path.isfile(core)):
                 os.unlink(core)
 
-    @skipUnlessWindows
-    @not_remote_testsuite_ready
+    @skipUnlessWindows # Minidump saving works only on windows
     def test_local_variables_in_mini_dump(self):
         """Test that we can examine local variables in a mini dump."""
         self.build()

Modified: lldb/trunk/packages/Python/lldbsuite/test/functionalities/postmortem/wow64_minidump/TestWow64MiniDump.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/postmortem/wow64_minidump/TestWow64MiniDump.py?rev=286352&r1=286351&r2=286352&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/functionalities/postmortem/wow64_minidump/TestWow64MiniDump.py (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/functionalities/postmortem/wow64_minidump/TestWow64MiniDump.py Wed Nov  9 04:16:11 2016
@@ -20,9 +20,8 @@ from lldbsuite.test import lldbutil
 class Wow64MiniDumpTestCase(TestBase):
 
     mydir = TestBase.compute_mydir(__file__)
+    NO_DEBUG_INFO_TESTCASE = True
 
-    @skipUnlessWindows  # for now mini-dump debugging is limited to Windows hosts
-    @no_debug_info_test
     def test_wow64_mini_dump(self):
         """Test that lldb can read the process information from the minidump."""
         # target create -c fizzbuzz_wow64.dmp
@@ -32,8 +31,6 @@ class Wow64MiniDumpTestCase(TestBase):
         self.assertEqual(process.GetNumThreads(), 1)
         self.assertEqual(process.GetProcessID(), 0x1E9C)
 
-    @skipUnlessWindows  # for now mini-dump debugging is limited to Windows hosts
-    @no_debug_info_test
     def test_thread_info_in_wow64_mini_dump(self):
         """Test that lldb can read the thread information from the minidump."""
         # target create -c fizzbuzz_wow64.dmp
@@ -50,8 +47,6 @@ class Wow64MiniDumpTestCase(TestBase):
         thread = process.GetThreadAtIndex(0)
         self.assertEqual(thread.GetStopReason(), lldb.eStopReasonNone)
 
-    @skipUnlessWindows  # for now mini-dump debugging is limited to Windows hosts
-    @no_debug_info_test
     def test_stack_info_in_wow64_mini_dump(self):
         """Test that we can see a trivial stack in a VS-generate mini dump."""
         # target create -c fizzbuzz_no_heap.dmp

Modified: lldb/trunk/source/API/SystemInitializerFull.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/API/SystemInitializerFull.cpp?rev=286352&r1=286351&r2=286352&view=diff
==============================================================================
--- lldb/trunk/source/API/SystemInitializerFull.cpp (original)
+++ lldb/trunk/source/API/SystemInitializerFull.cpp Wed Nov  9 04:16:11 2016
@@ -109,7 +109,6 @@
 
 #if defined(_MSC_VER)
 #include "Plugins/Process/Windows/Live/ProcessWindowsLive.h"
-#include "Plugins/Process/Windows/MiniDump/ProcessWinMiniDump.h"
 #include "lldb/Host/windows/windows.h"
 #endif
 
@@ -306,9 +305,6 @@ void SystemInitializerFull::Initialize()
   JITLoaderGDB::Initialize();
   ProcessElfCore::Initialize();
   minidump::ProcessMinidump::Initialize();
-#if defined(_MSC_VER)
-  ProcessWinMiniDump::Initialize();
-#endif
   MemoryHistoryASan::Initialize();
   AddressSanitizerRuntime::Initialize();
   ThreadSanitizerRuntime::Initialize();
@@ -432,9 +428,6 @@ void SystemInitializerFull::Terminate()
   JITLoaderGDB::Terminate();
   ProcessElfCore::Terminate();
   minidump::ProcessMinidump::Terminate();
-#if defined(_MSC_VER)
-  ProcessWinMiniDump::Terminate();
-#endif
   MemoryHistoryASan::Terminate();
   AddressSanitizerRuntime::Terminate();
   ThreadSanitizerRuntime::Terminate();

Modified: lldb/trunk/source/Plugins/Process/minidump/ProcessMinidump.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/minidump/ProcessMinidump.cpp?rev=286352&r1=286351&r2=286352&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Process/minidump/ProcessMinidump.cpp (original)
+++ lldb/trunk/source/Plugins/Process/minidump/ProcessMinidump.cpp Wed Nov  9 04:16:11 2016
@@ -63,11 +63,7 @@ lldb::ProcessSP ProcessMinidump::CreateI
   lldb::DataBufferSP all_data_sp(crash_file->MemoryMapFileContents());
   auto minidump_parser = MinidumpParser::Create(all_data_sp);
   // check if the parser object is valid
-  // skip if the Minidump file is Windows generated, because we are still
-  // work-in-progress
-  if (!minidump_parser ||
-      minidump_parser->GetArchitecture().GetTriple().getOS() ==
-          llvm::Triple::OSType::Win32)
+  if (!minidump_parser)
     return nullptr;
 
   return std::make_shared<ProcessMinidump>(target_sp, listener_sp, *crash_file,




More information about the lldb-commits mailing list