summaryrefslogtreecommitdiffstats
path: root/lldb/test/python_api
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/test/python_api')
-rw-r--r--lldb/test/python_api/default-constructor/TestDefaultConstructorForAPIObjects.py3
-rw-r--r--lldb/test/python_api/default-constructor/sb_broadcaster.py19
2 files changed, 22 insertions, 0 deletions
diff --git a/lldb/test/python_api/default-constructor/TestDefaultConstructorForAPIObjects.py b/lldb/test/python_api/default-constructor/TestDefaultConstructorForAPIObjects.py
index edd0317ae3c..b744d541eb6 100644
--- a/lldb/test/python_api/default-constructor/TestDefaultConstructorForAPIObjects.py
+++ b/lldb/test/python_api/default-constructor/TestDefaultConstructorForAPIObjects.py
@@ -63,6 +63,9 @@ class APIDefaultConstructorTestCase(TestBase):
if self.TraceOn():
print obj
self.assertFalse(obj)
+ # Do fuzz testing on the invalid obj, it should not crash lldb.
+ import sb_broadcaster
+ sb_broadcaster.fuzz_obj(obj)
@python_api_test
def test_SBCommandReturnObject(self):
diff --git a/lldb/test/python_api/default-constructor/sb_broadcaster.py b/lldb/test/python_api/default-constructor/sb_broadcaster.py
new file mode 100644
index 00000000000..14c7f29e181
--- /dev/null
+++ b/lldb/test/python_api/default-constructor/sb_broadcaster.py
@@ -0,0 +1,19 @@
+"""
+Fuzz tests an object after the default construction to make sure it does not crash lldb.
+"""
+
+import sys
+import lldb
+
+def fuzz_obj(obj):
+ obj.BroadcastEventByType(lldb.eBreakpointEventTypeInvalidType, True)
+ obj.BroadcastEvent(lldb.SBEvent(), False)
+ listener = lldb.SBListener("fuzz_testing")
+ obj.AddInitialEventsToListener(listener, 0xffffffff)
+ obj.AddInitialEventsToListener(listener, 0)
+ obj.AddListener(listener, 0xffffffff)
+ obj.AddListener(listener, 0)
+ obj.GetName()
+ obj.EventTypeHasListeners(0)
+ obj.RemoveListener(listener, 0xffffffff)
+ obj.RemoveListener(listener, 0)
OpenPOWER on IntegriCloud