labath created this revision. labath added reviewers: amccarth, zturner. labath added subscribers: lldb-commits, dvlahovski.
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. If it goes well on the bots, I'll delete the old plugin in a follow-up. https://reviews.llvm.org/D26393 Files: packages/Python/lldbsuite/test/functionalities/postmortem/minidump/TestMiniDump.py packages/Python/lldbsuite/test/functionalities/postmortem/wow64_minidump/TestWow64MiniDump.py source/API/SystemInitializerFull.cpp source/Plugins/Process/minidump/ProcessMinidump.cpp
Index: source/Plugins/Process/minidump/ProcessMinidump.cpp =================================================================== --- source/Plugins/Process/minidump/ProcessMinidump.cpp +++ source/Plugins/Process/minidump/ProcessMinidump.cpp @@ -63,11 +63,7 @@ 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, Index: source/API/SystemInitializerFull.cpp =================================================================== --- source/API/SystemInitializerFull.cpp +++ source/API/SystemInitializerFull.cpp @@ -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 @@ JITLoaderGDB::Initialize(); ProcessElfCore::Initialize(); minidump::ProcessMinidump::Initialize(); -#if defined(_MSC_VER) - ProcessWinMiniDump::Initialize(); -#endif MemoryHistoryASan::Initialize(); AddressSanitizerRuntime::Initialize(); ThreadSanitizerRuntime::Initialize(); @@ -432,9 +428,6 @@ JITLoaderGDB::Terminate(); ProcessElfCore::Terminate(); minidump::ProcessMinidump::Terminate(); -#if defined(_MSC_VER) - ProcessWinMiniDump::Terminate(); -#endif MemoryHistoryASan::Terminate(); AddressSanitizerRuntime::Terminate(); ThreadSanitizerRuntime::Terminate(); Index: packages/Python/lldbsuite/test/functionalities/postmortem/wow64_minidump/TestWow64MiniDump.py =================================================================== --- packages/Python/lldbsuite/test/functionalities/postmortem/wow64_minidump/TestWow64MiniDump.py +++ packages/Python/lldbsuite/test/functionalities/postmortem/wow64_minidump/TestWow64MiniDump.py @@ -20,9 +20,8 @@ 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 @@ 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 @@ 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 Index: packages/Python/lldbsuite/test/functionalities/postmortem/minidump/TestMiniDump.py =================================================================== --- packages/Python/lldbsuite/test/functionalities/postmortem/minidump/TestMiniDump.py +++ packages/Python/lldbsuite/test/functionalities/postmortem/minidump/TestMiniDump.py @@ -15,9 +15,8 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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()
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits