summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/python_api/event/TestEvents.py
diff options
context:
space:
mode:
authorTodd Fiala <todd.fiala@gmail.com>2016-05-05 17:48:14 +0000
committerTodd Fiala <todd.fiala@gmail.com>2016-05-05 17:48:14 +0000
commit57a4e5b3d0702b351daa48374d4c852fc91700c2 (patch)
tree2477055aeb7cef7e60cdf6a05a2d90d9f22d1acb /lldb/packages/Python/lldbsuite/test/python_api/event/TestEvents.py
parentb34e3a1877fb095b0386c7e3675aca66ff26edeb (diff)
downloadbcm5719-llvm-57a4e5b3d0702b351daa48374d4c852fc91700c2.tar.gz
bcm5719-llvm-57a4e5b3d0702b351daa48374d4c852fc91700c2.zip
Fix TestEvents.py on OS X
This change addresses a hang/segfault in TestEvents.py. The threads that run the listener loops now do an SBListener.Clear() before they wrap up their work. This prevents the test from trying to clean up the SBListener too late. There is a separate issue here which is that we should prevent this clean-up time lock-up, but that is out of scope for this particular change. I'd like to get these tests back and running the normal flow rather than skipping them. This addresses: llvm.org/pr25924 (at least, the OS X side, although I suspect this will also address Linux) http://reviews.llvm.org/D19983 reviewed by: Jim Ingham llvm-svn: 268653
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api/event/TestEvents.py')
-rw-r--r--lldb/packages/Python/lldbsuite/test/python_api/event/TestEvents.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/python_api/event/TestEvents.py b/lldb/packages/Python/lldbsuite/test/python_api/event/TestEvents.py
index ca829bf6d25..baefd94497b 100644
--- a/lldb/packages/Python/lldbsuite/test/python_api/event/TestEvents.py
+++ b/lldb/packages/Python/lldbsuite/test/python_api/event/TestEvents.py
@@ -13,7 +13,6 @@ from lldbsuite.test.decorators import *
from lldbsuite.test.lldbtest import *
from lldbsuite.test import lldbutil
-@skipIfDarwin # llvm.org/pr25924, sometimes generating SIGSEGV
@skipIfLinux # llvm.org/pr25924, sometimes generating SIGSEGV
class EventAPITestCase(TestBase):
@@ -86,6 +85,7 @@ class EventAPITestCase(TestBase):
if traceOn:
print("timeout occurred waiting for event...")
count = count + 1
+ listener.Clear()
return
# Let's start the listening thread to retrieve the events.
@@ -103,6 +103,8 @@ class EventAPITestCase(TestBase):
# Wait until the 'MyListeningThread' terminates.
my_thread.join()
+ # Shouldn't we be testing against some kind of expectation here?
+
@add_test_categories(['pyapi'])
@expectedFlakeyLinux("llvm.org/pr23730") # Flaky, fails ~1/100 cases
def test_wait_for_event(self):
@@ -155,10 +157,11 @@ class EventAPITestCase(TestBase):
#print("Got a valid event:", event)
#print("Event data flavor:", event.GetDataFlavor())
#print("Event type:", lldbutil.state_type_to_str(event.GetType()))
+ listener.Clear()
return
count = count + 1
print("Timeout: listener.WaitForEvent")
-
+ listener.Clear()
return
# Use Python API to kill the process. The listening thread should be
@@ -266,7 +269,7 @@ class EventAPITestCase(TestBase):
count = count + 1
if count > 6:
break
-
+ listener.Clear()
return
# Use Python API to continue the process. The listening thread should be
OpenPOWER on IntegriCloud