jasonmolenda created this revision.
jasonmolenda added a reviewer: labath.
Herald added a subscriber: abidh.
Herald added a project: LLDB.
Running the testsuite against an iOS device, it seems like I can lose the
remote platform when certain tests run (and running in single-threaded mode aka
no-multiprocess mode). Attached is a patch to use the setUp/tearDown test
class methods to save/restore the platform.
I'm not sure if fixing this on a test-by-test basis is the right place for it.
It might be better to have dotest.py's run_suite() save the remote platform and
lldbtest.py's class Base setUpClass() method re-set the platform before the
test is invoked, in case it was mutated during a test run.
Pavel, what do you think about this?
Repository:
rLLDB LLDB
https://reviews.llvm.org/D66331
Files:
packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestWriteMemory.py
packages/Python/lldbsuite/test/functionalities/postmortem/elf-core/gcore/TestGCore.py
packages/Python/lldbsuite/test/functionalities/postmortem/elf-core/thread_crash/TestLinuxCoreThreads.py
packages/Python/lldbsuite/test/tools/lldb-server/platform-process-connect/TestPlatformProcessConnect.py
Index:
packages/Python/lldbsuite/test/tools/lldb-server/platform-process-connect/TestPlatformProcessConnect.py
===================================================================
---
packages/Python/lldbsuite/test/tools/lldb-server/platform-process-connect/TestPlatformProcessConnect.py
+++
packages/Python/lldbsuite/test/tools/lldb-server/platform-process-connect/TestPlatformProcessConnect.py
@@ -11,6 +11,14 @@
class TestPlatformProcessConnect(gdbremote_testcase.GdbRemoteTestCaseBase):
mydir = TestBase.compute_mydir(__file__)
+ def setUp(self):
+ super(TestPlatformProcessConnect, self).setUp()
+ self._initial_platform = lldb.DBG.GetSelectedPlatform()
+
+ def tearDown(self):
+ lldb.DBG.SetSelectedPlatform(self._initial_platform)
+ super(TestPlatformProcessConnect, self).tearDown()
+
@llgs_test
@no_debug_info_test
@skipIf(remote=False)
Index:
packages/Python/lldbsuite/test/functionalities/postmortem/elf-core/thread_crash/TestLinuxCoreThreads.py
===================================================================
---
packages/Python/lldbsuite/test/functionalities/postmortem/elf-core/thread_crash/TestLinuxCoreThreads.py
+++
packages/Python/lldbsuite/test/functionalities/postmortem/elf-core/thread_crash/TestLinuxCoreThreads.py
@@ -15,8 +15,15 @@
NO_DEBUG_INFO_TESTCASE = True
mydir = TestBase.compute_mydir(__file__)
- _initial_platform = lldb.DBG.GetSelectedPlatform()
+ def setUp(self):
+ super(LinuxCoreThreadsTestCase, self).setUp()
+ self._initial_platform = lldb.DBG.GetSelectedPlatform()
+
+ def tearDown(self):
+ lldb.DBG.SetSelectedPlatform(self._initial_platform)
+ super(LinuxCoreThreadsTestCase, self).tearDown()
+
_i386_pid = 5193
_x86_64_pid = 5222
@@ -56,4 +63,3 @@
self.assertEqual(signal, 0)
self.dbg.DeleteTarget(target)
- lldb.DBG.SetSelectedPlatform(self._initial_platform)
Index:
packages/Python/lldbsuite/test/functionalities/postmortem/elf-core/gcore/TestGCore.py
===================================================================
---
packages/Python/lldbsuite/test/functionalities/postmortem/elf-core/gcore/TestGCore.py
+++
packages/Python/lldbsuite/test/functionalities/postmortem/elf-core/gcore/TestGCore.py
@@ -15,8 +15,14 @@
NO_DEBUG_INFO_TESTCASE = True
mydir = TestBase.compute_mydir(__file__)
- _initial_platform = lldb.DBG.GetSelectedPlatform()
+ def setUp(self):
+ super(GCoreTestCase, self).setUp()
+ self._initial_platform = lldb.DBG.GetSelectedPlatform()
+ def tearDown(self):
+ lldb.DBG.SetSelectedPlatform(self._initial_platform)
+ super(GCoreTestCase, self).tearDown()
+
_i386_pid = 5586
_x86_64_pid = 5669
@@ -47,4 +53,3 @@
self.assertEqual(signal, 19)
self.dbg.DeleteTarget(target)
- lldb.DBG.SetSelectedPlatform(self._initial_platform)
Index:
packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestWriteMemory.py
===================================================================
---
packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestWriteMemory.py
+++
packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestWriteMemory.py
@@ -13,6 +13,14 @@
def setBreakpoint(self, packet):
return "OK"
+ def setUp(self):
+ super(TestWriteMemory, self).setUp()
+ self._initial_platform = lldb.DBG.GetSelectedPlatform()
+
+ def tearDown(self):
+ lldb.DBG.SetSelectedPlatform(self._initial_platform)
+ super(TestWriteMemory, self).tearDown()
+
self.server.responder = MyResponder()
target = self.dbg.CreateTargetWithFileAndTargetTriple('',
'x86_64-pc-linux')
process = self.connect(target)
Index: packages/Python/lldbsuite/test/tools/lldb-server/platform-process-connect/TestPlatformProcessConnect.py
===================================================================
--- packages/Python/lldbsuite/test/tools/lldb-server/platform-process-connect/TestPlatformProcessConnect.py
+++ packages/Python/lldbsuite/test/tools/lldb-server/platform-process-connect/TestPlatformProcessConnect.py
@@ -11,6 +11,14 @@
class TestPlatformProcessConnect(gdbremote_testcase.GdbRemoteTestCaseBase):
mydir = TestBase.compute_mydir(__file__)
+ def setUp(self):
+ super(TestPlatformProcessConnect, self).setUp()
+ self._initial_platform = lldb.DBG.GetSelectedPlatform()
+
+ def tearDown(self):
+ lldb.DBG.SetSelectedPlatform(self._initial_platform)
+ super(TestPlatformProcessConnect, self).tearDown()
+
@llgs_test
@no_debug_info_test
@skipIf(remote=False)
Index: packages/Python/lldbsuite/test/functionalities/postmortem/elf-core/thread_crash/TestLinuxCoreThreads.py
===================================================================
--- packages/Python/lldbsuite/test/functionalities/postmortem/elf-core/thread_crash/TestLinuxCoreThreads.py
+++ packages/Python/lldbsuite/test/functionalities/postmortem/elf-core/thread_crash/TestLinuxCoreThreads.py
@@ -15,8 +15,15 @@
NO_DEBUG_INFO_TESTCASE = True
mydir = TestBase.compute_mydir(__file__)
- _initial_platform = lldb.DBG.GetSelectedPlatform()
+ def setUp(self):
+ super(LinuxCoreThreadsTestCase, self).setUp()
+ self._initial_platform = lldb.DBG.GetSelectedPlatform()
+
+ def tearDown(self):
+ lldb.DBG.SetSelectedPlatform(self._initial_platform)
+ super(LinuxCoreThreadsTestCase, self).tearDown()
+
_i386_pid = 5193
_x86_64_pid = 5222
@@ -56,4 +63,3 @@
self.assertEqual(signal, 0)
self.dbg.DeleteTarget(target)
- lldb.DBG.SetSelectedPlatform(self._initial_platform)
Index: packages/Python/lldbsuite/test/functionalities/postmortem/elf-core/gcore/TestGCore.py
===================================================================
--- packages/Python/lldbsuite/test/functionalities/postmortem/elf-core/gcore/TestGCore.py
+++ packages/Python/lldbsuite/test/functionalities/postmortem/elf-core/gcore/TestGCore.py
@@ -15,8 +15,14 @@
NO_DEBUG_INFO_TESTCASE = True
mydir = TestBase.compute_mydir(__file__)
- _initial_platform = lldb.DBG.GetSelectedPlatform()
+ def setUp(self):
+ super(GCoreTestCase, self).setUp()
+ self._initial_platform = lldb.DBG.GetSelectedPlatform()
+ def tearDown(self):
+ lldb.DBG.SetSelectedPlatform(self._initial_platform)
+ super(GCoreTestCase, self).tearDown()
+
_i386_pid = 5586
_x86_64_pid = 5669
@@ -47,4 +53,3 @@
self.assertEqual(signal, 19)
self.dbg.DeleteTarget(target)
- lldb.DBG.SetSelectedPlatform(self._initial_platform)
Index: packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestWriteMemory.py
===================================================================
--- packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestWriteMemory.py
+++ packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestWriteMemory.py
@@ -13,6 +13,14 @@
def setBreakpoint(self, packet):
return "OK"
+ def setUp(self):
+ super(TestWriteMemory, self).setUp()
+ self._initial_platform = lldb.DBG.GetSelectedPlatform()
+
+ def tearDown(self):
+ lldb.DBG.SetSelectedPlatform(self._initial_platform)
+ super(TestWriteMemory, self).tearDown()
+
self.server.responder = MyResponder()
target = self.dbg.CreateTargetWithFileAndTargetTriple('', 'x86_64-pc-linux')
process = self.connect(target)
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits