diff options
Diffstat (limited to 'lldb/test/python_api/default-constructor/TestDefaultConstructorForAPIObjects.py')
| -rw-r--r-- | lldb/test/python_api/default-constructor/TestDefaultConstructorForAPIObjects.py | 373 |
1 files changed, 0 insertions, 373 deletions
diff --git a/lldb/test/python_api/default-constructor/TestDefaultConstructorForAPIObjects.py b/lldb/test/python_api/default-constructor/TestDefaultConstructorForAPIObjects.py deleted file mode 100644 index 6ec0350d3d55..000000000000 --- a/lldb/test/python_api/default-constructor/TestDefaultConstructorForAPIObjects.py +++ /dev/null @@ -1,373 +0,0 @@ -""" -Test lldb Python API object's default constructor and make sure it is invalid -after initial construction. - -There are also some cases of boundary condition testings sprinkled throughout -the tests where None is passed to SB API which expects (const char *) in the -C++ API counterpart. Passing None should not crash lldb! - -There are three exceptions to the above general rules, though; API objects -SBCommadnReturnObject, SBStream, and SBSymbolContextList, are all valid objects -after default construction. -""" - -import os, time -import re -import unittest2 -import lldb, lldbutil -from lldbtest import * - -class APIDefaultConstructorTestCase(TestBase): - - mydir = os.path.join("python_api", "default-constructor") - - @python_api_test - def test_SBAddress(self): - obj = lldb.SBAddress() - if self.TraceOn(): - print obj - self.assertFalse(obj) - # Do fuzz testing on the invalid obj, it should not crash lldb. - import sb_address - sb_address.fuzz_obj(obj) - - @python_api_test - def test_SBBlock(self): - obj = lldb.SBBlock() - if self.TraceOn(): - print obj - self.assertFalse(obj) - # Do fuzz testing on the invalid obj, it should not crash lldb. - import sb_block - sb_block.fuzz_obj(obj) - - @python_api_test - def test_SBBreakpoint(self): - obj = lldb.SBBreakpoint() - if self.TraceOn(): - print obj - self.assertFalse(obj) - # Do fuzz testing on the invalid obj, it should not crash lldb. - import sb_breakpoint - sb_breakpoint.fuzz_obj(obj) - - @python_api_test - def test_SBBreakpointLocation(self): - obj = lldb.SBBreakpointLocation() - if self.TraceOn(): - print obj - self.assertFalse(obj) - # Do fuzz testing on the invalid obj, it should not crash lldb. - import sb_breakpointlocation - sb_breakpointlocation.fuzz_obj(obj) - - @python_api_test - def test_SBBroadcaster(self): - obj = lldb.SBBroadcaster() - 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): - """SBCommandReturnObject object is valid after default construction.""" - obj = lldb.SBCommandReturnObject() - if self.TraceOn(): - print obj - self.assertTrue(obj) - - @python_api_test - def test_SBCommunication(self): - obj = lldb.SBCommunication() - if self.TraceOn(): - print obj - self.assertFalse(obj) - # Do fuzz testing on the invalid obj, it should not crash lldb. - import sb_communication - sb_communication.fuzz_obj(obj) - - @python_api_test - def test_SBCompileUnit(self): - obj = lldb.SBCompileUnit() - if self.TraceOn(): - print obj - self.assertFalse(obj) - # Do fuzz testing on the invalid obj, it should not crash lldb. - import sb_compileunit - sb_compileunit.fuzz_obj(obj) - - @python_api_test - def test_SBDebugger(self): - obj = lldb.SBDebugger() - if self.TraceOn(): - print obj - self.assertFalse(obj) - # Do fuzz testing on the invalid obj, it should not crash lldb. - import sb_debugger - sb_debugger.fuzz_obj(obj) - - @python_api_test - def test_SBError(self): - obj = lldb.SBError() - if self.TraceOn(): - print obj - self.assertFalse(obj) - # Do fuzz testing on the invalid obj, it should not crash lldb. - import sb_error - sb_error.fuzz_obj(obj) - - @python_api_test - def test_SBEvent(self): - obj = lldb.SBEvent() - # This is just to test that typemap, as defined in lldb.swig, works. - obj2 = lldb.SBEvent(0, "abc") - if self.TraceOn(): - print obj - self.assertFalse(obj) - # Do fuzz testing on the invalid obj, it should not crash lldb. - import sb_event - sb_event.fuzz_obj(obj) - - @python_api_test - def test_SBFileSpec(self): - obj = lldb.SBFileSpec() - # This is just to test that FileSpec(None) does not crash. - obj2 = lldb.SBFileSpec(None, True) - if self.TraceOn(): - print obj - self.assertFalse(obj) - # Do fuzz testing on the invalid obj, it should not crash lldb. - import sb_filespec - sb_filespec.fuzz_obj(obj) - - @python_api_test - def test_SBFrame(self): - obj = lldb.SBFrame() - if self.TraceOn(): - print obj - self.assertFalse(obj) - # Do fuzz testing on the invalid obj, it should not crash lldb. - import sb_frame - sb_frame.fuzz_obj(obj) - - @python_api_test - def test_SBFunction(self): - obj = lldb.SBFunction() - if self.TraceOn(): - print obj - self.assertFalse(obj) - # Do fuzz testing on the invalid obj, it should not crash lldb. - import sb_function - sb_function.fuzz_obj(obj) - - @python_api_test - def test_SBInputReader(self): - obj = lldb.SBInputReader() - if self.TraceOn(): - print obj - self.assertFalse(obj) - # Do fuzz testing on the invalid obj, it should not crash lldb. - import sb_inputreader - sb_inputreader.fuzz_obj(obj) - - @python_api_test - def test_SBInstruction(self): - obj = lldb.SBInstruction() - if self.TraceOn(): - print obj - self.assertFalse(obj) - # Do fuzz testing on the invalid obj, it should not crash lldb. - import sb_instruction - sb_instruction.fuzz_obj(obj) - - @python_api_test - def test_SBInstructionList(self): - obj = lldb.SBInstructionList() - if self.TraceOn(): - print obj - self.assertFalse(obj) - # Do fuzz testing on the invalid obj, it should not crash lldb. - import sb_instructionlist - sb_instructionlist.fuzz_obj(obj) - - @python_api_test - def test_SBLineEntry(self): - obj = lldb.SBLineEntry() - if self.TraceOn(): - print obj - self.assertFalse(obj) - # Do fuzz testing on the invalid obj, it should not crash lldb. - import sb_lineentry - sb_lineentry.fuzz_obj(obj) - - @python_api_test - def test_SBListener(self): - obj = lldb.SBListener() - if self.TraceOn(): - print obj - self.assertFalse(obj) - # Do fuzz testing on the invalid obj, it should not crash lldb. - import sb_listener - sb_listener.fuzz_obj(obj) - - @python_api_test - def test_SBModule(self): - obj = lldb.SBModule() - if self.TraceOn(): - print obj - self.assertFalse(obj) - # Do fuzz testing on the invalid obj, it should not crash lldb. - import sb_module - sb_module.fuzz_obj(obj) - - @python_api_test - def test_SBProcess(self): - obj = lldb.SBProcess() - if self.TraceOn(): - print obj - self.assertFalse(obj) - # Do fuzz testing on the invalid obj, it should not crash lldb. - import sb_process - 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() - if self.TraceOn(): - print obj - self.assertTrue(obj) - - @python_api_test - def test_SBStringList(self): - obj = lldb.SBStringList() - if self.TraceOn(): - print obj - self.assertFalse(obj) - # Do fuzz testing on the invalid obj, it should not crash lldb. - import sb_stringlist - sb_stringlist.fuzz_obj(obj) - - @python_api_test - def test_SBSymbol(self): - obj = lldb.SBSymbol() - if self.TraceOn(): - print obj - self.assertFalse(obj) - # Do fuzz testing on the invalid obj, it should not crash lldb. - import sb_symbol - sb_symbol.fuzz_obj(obj) - - @python_api_test - def test_SBSymbolContext(self): - obj = lldb.SBSymbolContext() - if self.TraceOn(): - print obj - self.assertFalse(obj) - # Do fuzz testing on the invalid obj, it should not crash lldb. - import sb_symbolcontext - sb_symbolcontext.fuzz_obj(obj) - - @python_api_test - def test_SBSymbolContextList(self): - """SBSymbolContextList object is valid after default construction.""" - obj = lldb.SBSymbolContextList() - if self.TraceOn(): - print obj - self.assertTrue(obj) - - @python_api_test - def test_SBTarget(self): - obj = lldb.SBTarget() - if self.TraceOn(): - print obj - self.assertFalse(obj) - # Do fuzz testing on the invalid obj, it should not crash lldb. - import sb_target - sb_target.fuzz_obj(obj) - - @python_api_test - def test_SBThread(self): - obj = lldb.SBThread() - if self.TraceOn(): - print obj - self.assertFalse(obj) - # Do fuzz testing on the invalid obj, it should not crash lldb. - import sb_thread - sb_thread.fuzz_obj(obj) - - @python_api_test - def test_SBType(self): - try: - obj = lldb.SBType() - if self.TraceOn(): - print obj - self.assertFalse(obj) - # If we reach here, the test fails. - self.fail("lldb.SBType() should fail, not succeed!") - except: - # Exception is expected. - return - - # Unreachable code because lldb.SBType() should fail. - # Do fuzz testing on the invalid obj, it should not crash lldb. - import sb_type - sb_type.fuzz_obj(obj) - - @python_api_test - def test_SBTypeList(self): - """SBTypeList object is valid after default construction.""" - obj = lldb.SBTypeList() - if self.TraceOn(): - print obj - self.assertTrue(obj) - - @python_api_test - def test_SBValue(self): - obj = lldb.SBValue() - if self.TraceOn(): - print obj - self.assertFalse(obj) - # Do fuzz testing on the invalid obj, it should not crash lldb. - import sb_value - sb_value.fuzz_obj(obj) - - @python_api_test - def test_SBValueList(self): - obj = lldb.SBValueList() - if self.TraceOn(): - print obj - self.assertFalse(obj) - # Do fuzz testing on the invalid obj, it should not crash lldb. - import sb_valuelist - sb_valuelist.fuzz_obj(obj) - - @python_api_test - def test_SBWatchpoint(self): - obj = lldb.SBWatchpoint() - if self.TraceOn(): - print obj - self.assertFalse(obj) - # Do fuzz testing on the invalid obj, it should not crash lldb. - import sb_watchpoint - sb_watchpoint.fuzz_obj(obj) - - -if __name__ == '__main__': - import atexit - lldb.SBDebugger.Initialize() - atexit.register(lambda: lldb.SBDebugger.Terminate()) - unittest2.main() |
