From 57e34b21db38423e437e4cc97f56dbc468b583a7 Mon Sep 17 00:00:00 2001 From: Johnny Chen Date: Fri, 24 Jun 2011 22:53:12 +0000 Subject: Add fuzz calls for SBBroadcaster. llvm-svn: 133837 --- .../TestDefaultConstructorForAPIObjects.py | 3 +++ .../python_api/default-constructor/sb_broadcaster.py | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 lldb/test/python_api/default-constructor/sb_broadcaster.py (limited to 'lldb/test/python_api/default-constructor') 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) -- cgit v1.2.3