diff options
-rw-r--r-- | lldb/test/python_api/default-constructor/TestDefaultConstructorForAPIObjects.py | 10 | ||||
-rw-r--r-- | lldb/test/python_api/default-constructor/sb_section.py | 20 |
2 files changed, 30 insertions, 0 deletions
diff --git a/lldb/test/python_api/default-constructor/TestDefaultConstructorForAPIObjects.py b/lldb/test/python_api/default-constructor/TestDefaultConstructorForAPIObjects.py index b46a9fa7bea..2340a6130a7 100644 --- a/lldb/test/python_api/default-constructor/TestDefaultConstructorForAPIObjects.py +++ b/lldb/test/python_api/default-constructor/TestDefaultConstructorForAPIObjects.py @@ -228,6 +228,16 @@ class APIDefaultConstructorTestCase(TestBase): sb_process.fuzz_obj(obj) @python_api_test + def test_SBSection(self): + obj = lldb.SBSection() + if self.TraceOn(): + print obj + self.assertFalse(obj) + # Do fuzz testing on the invalid obj, it should not crash lldb. + import sb_section + sb_section.fuzz_obj(obj) + + @python_api_test def test_SBStream(self): """SBStream object is valid after default construction.""" obj = lldb.SBStream() diff --git a/lldb/test/python_api/default-constructor/sb_section.py b/lldb/test/python_api/default-constructor/sb_section.py new file mode 100644 index 00000000000..df33338ac9d --- /dev/null +++ b/lldb/test/python_api/default-constructor/sb_section.py @@ -0,0 +1,20 @@ +""" +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.IsValid() + obj.GetName() + obj.FindSubSection("hello_section_name") + obj.GetNumSubSections() + obj.GetSubSectionAtIndex(600) + obj.GetFileAddress() + obj.GetByteSize() + obj.GetFileOffset() + obj.GetFileByteSize() + obj.GetSectionData(1000, 100) + obj.GetSectionType() + obj.GetDescription(lldb.SBStream()) |