xref: /llvm-project/lldb/test/API/python_api/default-constructor/TestDefaultConstructorForAPIObjects.py (revision e0053bc04e6b80ece8b334b268c2942e012009b9)
199451b44SJordan Rupprecht"""
299451b44SJordan RupprechtTest lldb Python API object's default constructor and make sure it is invalid
399451b44SJordan Rupprechtafter initial construction.
499451b44SJordan Rupprecht
599451b44SJordan RupprechtThere are also some cases of boundary condition testings sprinkled throughout
699451b44SJordan Rupprechtthe tests where None is passed to SB API which expects (const char *) in the
799451b44SJordan RupprechtC++ API counterpart.  Passing None should not crash lldb!
899451b44SJordan Rupprecht
999451b44SJordan RupprechtThere are three exceptions to the above general rules, though; API objects
10e9264b74SKazuaki IshizakiSBCommandReturnObject, SBStream, and SBSymbolContextList, are all valid objects
1199451b44SJordan Rupprechtafter default construction.
1299451b44SJordan Rupprecht"""
1399451b44SJordan Rupprecht
1499451b44SJordan Rupprechtimport lldb
1599451b44SJordan Rupprechtfrom lldbsuite.test.decorators import *
1699451b44SJordan Rupprechtfrom lldbsuite.test.lldbtest import *
1799451b44SJordan Rupprechtfrom lldbsuite.test import lldbutil
1899451b44SJordan Rupprecht
1999451b44SJordan Rupprecht
2099451b44SJordan Rupprechtclass APIDefaultConstructorTestCase(TestBase):
2199451b44SJordan Rupprecht    NO_DEBUG_INFO_TESTCASE = True
2299451b44SJordan Rupprecht
2399451b44SJordan Rupprecht    def test_SBAddress(self):
2499451b44SJordan Rupprecht        obj = lldb.SBAddress()
2599451b44SJordan Rupprecht        if self.TraceOn():
2699451b44SJordan Rupprecht            print(obj)
2799451b44SJordan Rupprecht        self.assertFalse(obj)
2899451b44SJordan Rupprecht        # Do fuzz testing on the invalid obj, it should not crash lldb.
2999451b44SJordan Rupprecht        import sb_address
30*2238dcc3SJonas Devlieghere
3199451b44SJordan Rupprecht        sb_address.fuzz_obj(obj)
3299451b44SJordan Rupprecht
3399451b44SJordan Rupprecht    def test_SBBlock(self):
3499451b44SJordan Rupprecht        obj = lldb.SBBlock()
3599451b44SJordan Rupprecht        if self.TraceOn():
3699451b44SJordan Rupprecht            print(obj)
3799451b44SJordan Rupprecht        self.assertFalse(obj)
3899451b44SJordan Rupprecht        # Do fuzz testing on the invalid obj, it should not crash lldb.
3999451b44SJordan Rupprecht        import sb_block
40*2238dcc3SJonas Devlieghere
4199451b44SJordan Rupprecht        sb_block.fuzz_obj(obj)
4299451b44SJordan Rupprecht
4399451b44SJordan Rupprecht    def test_SBBreakpoint(self):
4499451b44SJordan Rupprecht        obj = lldb.SBBreakpoint()
4599451b44SJordan Rupprecht        if self.TraceOn():
4699451b44SJordan Rupprecht            print(obj)
4799451b44SJordan Rupprecht        self.assertFalse(obj)
4899451b44SJordan Rupprecht        # Do fuzz testing on the invalid obj, it should not crash lldb.
4999451b44SJordan Rupprecht        import sb_breakpoint
50*2238dcc3SJonas Devlieghere
5199451b44SJordan Rupprecht        sb_breakpoint.fuzz_obj(obj)
5299451b44SJordan Rupprecht
5399451b44SJordan Rupprecht    def test_SBBreakpointLocation(self):
5499451b44SJordan Rupprecht        obj = lldb.SBBreakpointLocation()
5599451b44SJordan Rupprecht        if self.TraceOn():
5699451b44SJordan Rupprecht            print(obj)
5799451b44SJordan Rupprecht        self.assertFalse(obj)
5899451b44SJordan Rupprecht        # Do fuzz testing on the invalid obj, it should not crash lldb.
5999451b44SJordan Rupprecht        import sb_breakpointlocation
60*2238dcc3SJonas Devlieghere
6199451b44SJordan Rupprecht        sb_breakpointlocation.fuzz_obj(obj)
6299451b44SJordan Rupprecht
6399451b44SJordan Rupprecht    def test_SBBreakpointName(self):
6499451b44SJordan Rupprecht        obj = lldb.SBBreakpointName()
6599451b44SJordan Rupprecht        if self.TraceOn():
6699451b44SJordan Rupprecht            print(obj)
6799451b44SJordan Rupprecht        self.assertFalse(obj)
6899451b44SJordan Rupprecht        # Do fuzz testing on the invalid obj, it should not crash lldb.
6999451b44SJordan Rupprecht        import sb_breakpointname
70*2238dcc3SJonas Devlieghere
7199451b44SJordan Rupprecht        sb_breakpointname.fuzz_obj(obj)
7299451b44SJordan Rupprecht
7399451b44SJordan Rupprecht    def test_SBBroadcaster(self):
7499451b44SJordan Rupprecht        obj = lldb.SBBroadcaster()
7599451b44SJordan Rupprecht        if self.TraceOn():
7699451b44SJordan Rupprecht            print(obj)
7799451b44SJordan Rupprecht        self.assertFalse(obj)
7899451b44SJordan Rupprecht        # Do fuzz testing on the invalid obj, it should not crash lldb.
7999451b44SJordan Rupprecht        import sb_broadcaster
80*2238dcc3SJonas Devlieghere
8199451b44SJordan Rupprecht        sb_broadcaster.fuzz_obj(obj)
8299451b44SJordan Rupprecht
8399451b44SJordan Rupprecht    def test_SBCommandReturnObject(self):
8499451b44SJordan Rupprecht        """SBCommandReturnObject object is valid after default construction."""
8599451b44SJordan Rupprecht        obj = lldb.SBCommandReturnObject()
8699451b44SJordan Rupprecht        if self.TraceOn():
8799451b44SJordan Rupprecht            print(obj)
8899451b44SJordan Rupprecht        self.assertTrue(obj)
8999451b44SJordan Rupprecht
9099451b44SJordan Rupprecht    def test_SBCommunication(self):
9199451b44SJordan Rupprecht        obj = lldb.SBCommunication()
9299451b44SJordan Rupprecht        if self.TraceOn():
9399451b44SJordan Rupprecht            print(obj)
9499451b44SJordan Rupprecht        self.assertFalse(obj)
9599451b44SJordan Rupprecht        # Do fuzz testing on the invalid obj, it should not crash lldb.
9699451b44SJordan Rupprecht        import sb_communication
97*2238dcc3SJonas Devlieghere
9899451b44SJordan Rupprecht        sb_communication.fuzz_obj(obj)
9999451b44SJordan Rupprecht
10099451b44SJordan Rupprecht    def test_SBCompileUnit(self):
10199451b44SJordan Rupprecht        obj = lldb.SBCompileUnit()
10299451b44SJordan Rupprecht        if self.TraceOn():
10399451b44SJordan Rupprecht            print(obj)
10499451b44SJordan Rupprecht        self.assertFalse(obj)
10599451b44SJordan Rupprecht        # Do fuzz testing on the invalid obj, it should not crash lldb.
10699451b44SJordan Rupprecht        import sb_compileunit
107*2238dcc3SJonas Devlieghere
10899451b44SJordan Rupprecht        sb_compileunit.fuzz_obj(obj)
10999451b44SJordan Rupprecht
11099451b44SJordan Rupprecht    def test_SBDebugger(self):
11199451b44SJordan Rupprecht        obj = lldb.SBDebugger()
11299451b44SJordan Rupprecht        if self.TraceOn():
11399451b44SJordan Rupprecht            print(obj)
11499451b44SJordan Rupprecht        self.assertFalse(obj)
11599451b44SJordan Rupprecht        # Do fuzz testing on the invalid obj, it should not crash lldb.
11699451b44SJordan Rupprecht        import sb_debugger
117*2238dcc3SJonas Devlieghere
11899451b44SJordan Rupprecht        sb_debugger.fuzz_obj(obj)
11999451b44SJordan Rupprecht
12099451b44SJordan Rupprecht    def test_SBError(self):
12199451b44SJordan Rupprecht        obj = lldb.SBError()
12299451b44SJordan Rupprecht        if self.TraceOn():
12399451b44SJordan Rupprecht            print(obj)
12499451b44SJordan Rupprecht        self.assertFalse(obj)
12599451b44SJordan Rupprecht        # Do fuzz testing on the invalid obj, it should not crash lldb.
12699451b44SJordan Rupprecht        import sb_error
127*2238dcc3SJonas Devlieghere
12899451b44SJordan Rupprecht        sb_error.fuzz_obj(obj)
12999451b44SJordan Rupprecht
13099451b44SJordan Rupprecht    def test_SBEvent(self):
13199451b44SJordan Rupprecht        obj = lldb.SBEvent()
13299451b44SJordan Rupprecht        # This is just to test that typemap, as defined in lldb.swig, works.
13399451b44SJordan Rupprecht        obj2 = lldb.SBEvent(0, "abc")
13499451b44SJordan Rupprecht        if self.TraceOn():
13599451b44SJordan Rupprecht            print(obj)
13699451b44SJordan Rupprecht        self.assertFalse(obj)
13799451b44SJordan Rupprecht        # Do fuzz testing on the invalid obj, it should not crash lldb.
13899451b44SJordan Rupprecht        import sb_event
139*2238dcc3SJonas Devlieghere
14099451b44SJordan Rupprecht        sb_event.fuzz_obj(obj)
14199451b44SJordan Rupprecht
14299451b44SJordan Rupprecht    def test_SBFileSpec(self):
14399451b44SJordan Rupprecht        obj = lldb.SBFileSpec()
14499451b44SJordan Rupprecht        # This is just to test that FileSpec(None) does not crash.
14599451b44SJordan Rupprecht        obj2 = lldb.SBFileSpec(None, True)
14699451b44SJordan Rupprecht        if self.TraceOn():
14799451b44SJordan Rupprecht            print(obj)
14899451b44SJordan Rupprecht        self.assertFalse(obj)
14999451b44SJordan Rupprecht        # Do fuzz testing on the invalid obj, it should not crash lldb.
15099451b44SJordan Rupprecht        import sb_filespec
151*2238dcc3SJonas Devlieghere
15299451b44SJordan Rupprecht        sb_filespec.fuzz_obj(obj)
15399451b44SJordan Rupprecht
15499451b44SJordan Rupprecht    def test_SBFrame(self):
15599451b44SJordan Rupprecht        obj = lldb.SBFrame()
15699451b44SJordan Rupprecht        if self.TraceOn():
15799451b44SJordan Rupprecht            print(obj)
15899451b44SJordan Rupprecht        self.assertFalse(obj)
15999451b44SJordan Rupprecht        # Do fuzz testing on the invalid obj, it should not crash lldb.
16099451b44SJordan Rupprecht        import sb_frame
161*2238dcc3SJonas Devlieghere
16299451b44SJordan Rupprecht        sb_frame.fuzz_obj(obj)
16399451b44SJordan Rupprecht
16499451b44SJordan Rupprecht    def test_SBFunction(self):
16599451b44SJordan Rupprecht        obj = lldb.SBFunction()
16699451b44SJordan Rupprecht        if self.TraceOn():
16799451b44SJordan Rupprecht            print(obj)
16899451b44SJordan Rupprecht        self.assertFalse(obj)
16999451b44SJordan Rupprecht        # Do fuzz testing on the invalid obj, it should not crash lldb.
17099451b44SJordan Rupprecht        import sb_function
171*2238dcc3SJonas Devlieghere
17299451b44SJordan Rupprecht        sb_function.fuzz_obj(obj)
17399451b44SJordan Rupprecht
17499451b44SJordan Rupprecht    def test_SBFile(self):
17599451b44SJordan Rupprecht        sbf = lldb.SBFile()
17699451b44SJordan Rupprecht        self.assertFalse(sbf.IsValid())
17799451b44SJordan Rupprecht        self.assertFalse(bool(sbf))
178*2238dcc3SJonas Devlieghere        e, n = sbf.Write(b"foo")
17999451b44SJordan Rupprecht        self.assertTrue(e.Fail())
18099451b44SJordan Rupprecht        self.assertEqual(n, 0)
18199451b44SJordan Rupprecht        buffer = bytearray(100)
18299451b44SJordan Rupprecht        e, n = sbf.Read(buffer)
18399451b44SJordan Rupprecht        self.assertEqual(n, 0)
18499451b44SJordan Rupprecht        self.assertTrue(e.Fail())
18599451b44SJordan Rupprecht
18699451b44SJordan Rupprecht    def test_SBInstruction(self):
18799451b44SJordan Rupprecht        obj = lldb.SBInstruction()
18899451b44SJordan Rupprecht        if self.TraceOn():
18999451b44SJordan Rupprecht            print(obj)
19099451b44SJordan Rupprecht        self.assertFalse(obj)
19199451b44SJordan Rupprecht        # Do fuzz testing on the invalid obj, it should not crash lldb.
19299451b44SJordan Rupprecht        import sb_instruction
193*2238dcc3SJonas Devlieghere
19499451b44SJordan Rupprecht        sb_instruction.fuzz_obj(obj)
19599451b44SJordan Rupprecht
19699451b44SJordan Rupprecht    def test_SBInstructionList(self):
19799451b44SJordan Rupprecht        obj = lldb.SBInstructionList()
19899451b44SJordan Rupprecht        if self.TraceOn():
19999451b44SJordan Rupprecht            print(obj)
20099451b44SJordan Rupprecht        self.assertFalse(obj)
20199451b44SJordan Rupprecht        # Do fuzz testing on the invalid obj, it should not crash lldb.
20299451b44SJordan Rupprecht        import sb_instructionlist
203*2238dcc3SJonas Devlieghere
20499451b44SJordan Rupprecht        sb_instructionlist.fuzz_obj(obj)
20599451b44SJordan Rupprecht
20699451b44SJordan Rupprecht    def test_SBLineEntry(self):
20799451b44SJordan Rupprecht        obj = lldb.SBLineEntry()
20899451b44SJordan Rupprecht        if self.TraceOn():
20999451b44SJordan Rupprecht            print(obj)
21099451b44SJordan Rupprecht        self.assertFalse(obj)
21199451b44SJordan Rupprecht        # Do fuzz testing on the invalid obj, it should not crash lldb.
21299451b44SJordan Rupprecht        import sb_lineentry
213*2238dcc3SJonas Devlieghere
21499451b44SJordan Rupprecht        sb_lineentry.fuzz_obj(obj)
21599451b44SJordan Rupprecht
21699451b44SJordan Rupprecht    def test_SBListener(self):
21799451b44SJordan Rupprecht        obj = lldb.SBListener()
21899451b44SJordan Rupprecht        if self.TraceOn():
21999451b44SJordan Rupprecht            print(obj)
22099451b44SJordan Rupprecht        self.assertFalse(obj)
22199451b44SJordan Rupprecht        # Do fuzz testing on the invalid obj, it should not crash lldb.
22299451b44SJordan Rupprecht        import sb_listener
223*2238dcc3SJonas Devlieghere
22499451b44SJordan Rupprecht        sb_listener.fuzz_obj(obj)
22599451b44SJordan Rupprecht
22699451b44SJordan Rupprecht    def test_SBModule(self):
22799451b44SJordan Rupprecht        obj = lldb.SBModule()
22899451b44SJordan Rupprecht        if self.TraceOn():
22999451b44SJordan Rupprecht            print(obj)
23099451b44SJordan Rupprecht        self.assertFalse(obj)
23199451b44SJordan Rupprecht        # Do fuzz testing on the invalid obj, it should not crash lldb.
23299451b44SJordan Rupprecht        import sb_module
233*2238dcc3SJonas Devlieghere
23499451b44SJordan Rupprecht        sb_module.fuzz_obj(obj)
23599451b44SJordan Rupprecht
23699451b44SJordan Rupprecht    def test_SBProcess(self):
23799451b44SJordan Rupprecht        obj = lldb.SBProcess()
23899451b44SJordan Rupprecht        if self.TraceOn():
23999451b44SJordan Rupprecht            print(obj)
24099451b44SJordan Rupprecht        self.assertFalse(obj)
24199451b44SJordan Rupprecht        # Do fuzz testing on the invalid obj, it should not crash lldb.
24299451b44SJordan Rupprecht        import sb_process
243*2238dcc3SJonas Devlieghere
24499451b44SJordan Rupprecht        sb_process.fuzz_obj(obj)
24599451b44SJordan Rupprecht
24699451b44SJordan Rupprecht    def test_SBProcessInfo(self):
24799451b44SJordan Rupprecht        obj = lldb.SBProcessInfo()
24899451b44SJordan Rupprecht        if self.TraceOn():
24999451b44SJordan Rupprecht            print(obj)
25099451b44SJordan Rupprecht        self.assertFalse(obj)
25199451b44SJordan Rupprecht        # Do fuzz testing on the invalid obj, it should not crash lldb.
25299451b44SJordan Rupprecht        import sb_process_info
253*2238dcc3SJonas Devlieghere
25499451b44SJordan Rupprecht        sb_process_info.fuzz_obj(obj)
25599451b44SJordan Rupprecht
25699451b44SJordan Rupprecht    def test_SBSection(self):
25799451b44SJordan Rupprecht        obj = lldb.SBSection()
25899451b44SJordan Rupprecht        if self.TraceOn():
25999451b44SJordan Rupprecht            print(obj)
26099451b44SJordan Rupprecht        self.assertFalse(obj)
26199451b44SJordan Rupprecht        # Do fuzz testing on the invalid obj, it should not crash lldb.
26299451b44SJordan Rupprecht        import sb_section
263*2238dcc3SJonas Devlieghere
26499451b44SJordan Rupprecht        sb_section.fuzz_obj(obj)
26599451b44SJordan Rupprecht
26699451b44SJordan Rupprecht    def test_SBStream(self):
26799451b44SJordan Rupprecht        """SBStream object is valid after default construction."""
26899451b44SJordan Rupprecht        obj = lldb.SBStream()
26999451b44SJordan Rupprecht        if self.TraceOn():
27099451b44SJordan Rupprecht            print(obj)
27199451b44SJordan Rupprecht        self.assertTrue(obj)
27299451b44SJordan Rupprecht
27399451b44SJordan Rupprecht    def test_SBStringList(self):
27499451b44SJordan Rupprecht        obj = lldb.SBStringList()
27599451b44SJordan Rupprecht        if self.TraceOn():
27699451b44SJordan Rupprecht            print(obj)
27799451b44SJordan Rupprecht        self.assertFalse(obj)
27899451b44SJordan Rupprecht        # Do fuzz testing on the invalid obj, it should not crash lldb.
27999451b44SJordan Rupprecht        import sb_stringlist
280*2238dcc3SJonas Devlieghere
28199451b44SJordan Rupprecht        sb_stringlist.fuzz_obj(obj)
28299451b44SJordan Rupprecht
28399451b44SJordan Rupprecht    def test_SBSymbol(self):
28499451b44SJordan Rupprecht        obj = lldb.SBSymbol()
28599451b44SJordan Rupprecht        if self.TraceOn():
28699451b44SJordan Rupprecht            print(obj)
28799451b44SJordan Rupprecht        self.assertFalse(obj)
28899451b44SJordan Rupprecht        # Do fuzz testing on the invalid obj, it should not crash lldb.
28999451b44SJordan Rupprecht        import sb_symbol
290*2238dcc3SJonas Devlieghere
29199451b44SJordan Rupprecht        sb_symbol.fuzz_obj(obj)
29299451b44SJordan Rupprecht
29399451b44SJordan Rupprecht    def test_SBSymbolContext(self):
29499451b44SJordan Rupprecht        obj = lldb.SBSymbolContext()
29599451b44SJordan Rupprecht        if self.TraceOn():
29699451b44SJordan Rupprecht            print(obj)
29799451b44SJordan Rupprecht        self.assertFalse(obj)
29899451b44SJordan Rupprecht        # Do fuzz testing on the invalid obj, it should not crash lldb.
29999451b44SJordan Rupprecht        import sb_symbolcontext
300*2238dcc3SJonas Devlieghere
30199451b44SJordan Rupprecht        sb_symbolcontext.fuzz_obj(obj)
30299451b44SJordan Rupprecht
30399451b44SJordan Rupprecht    def test_SBSymbolContextList(self):
30499451b44SJordan Rupprecht        """SBSymbolContextList object is valid after default construction."""
30599451b44SJordan Rupprecht        obj = lldb.SBSymbolContextList()
30699451b44SJordan Rupprecht        if self.TraceOn():
30799451b44SJordan Rupprecht            print(obj)
30899451b44SJordan Rupprecht        self.assertTrue(obj)
30999451b44SJordan Rupprecht
31099451b44SJordan Rupprecht    def test_SBTarget(self):
31199451b44SJordan Rupprecht        obj = lldb.SBTarget()
31299451b44SJordan Rupprecht        if self.TraceOn():
31399451b44SJordan Rupprecht            print(obj)
31499451b44SJordan Rupprecht        self.assertFalse(obj)
31599451b44SJordan Rupprecht        # Do fuzz testing on the invalid obj, it should not crash lldb.
31699451b44SJordan Rupprecht        import sb_target
317*2238dcc3SJonas Devlieghere
31899451b44SJordan Rupprecht        sb_target.fuzz_obj(obj)
31999451b44SJordan Rupprecht
32099451b44SJordan Rupprecht    def test_SBThread(self):
32199451b44SJordan Rupprecht        obj = lldb.SBThread()
32299451b44SJordan Rupprecht        if self.TraceOn():
32399451b44SJordan Rupprecht            print(obj)
32499451b44SJordan Rupprecht        self.assertFalse(obj)
32599451b44SJordan Rupprecht        # Do fuzz testing on the invalid obj, it should not crash lldb.
32699451b44SJordan Rupprecht        import sb_thread
327*2238dcc3SJonas Devlieghere
32899451b44SJordan Rupprecht        sb_thread.fuzz_obj(obj)
32999451b44SJordan Rupprecht
33099451b44SJordan Rupprecht    def test_SBType(self):
33199451b44SJordan Rupprecht        try:
33299451b44SJordan Rupprecht            obj = lldb.SBType()
33399451b44SJordan Rupprecht            if self.TraceOn():
33499451b44SJordan Rupprecht                print(obj)
33599451b44SJordan Rupprecht            self.assertFalse(obj)
33699451b44SJordan Rupprecht            # If we reach here, the test fails.
33799451b44SJordan Rupprecht            self.fail("lldb.SBType() should fail, not succeed!")
33899451b44SJordan Rupprecht        except:
33999451b44SJordan Rupprecht            # Exception is expected.
34099451b44SJordan Rupprecht            return
34199451b44SJordan Rupprecht
34299451b44SJordan Rupprecht        # Unreachable code because lldb.SBType() should fail.
34399451b44SJordan Rupprecht        # Do fuzz testing on the invalid obj, it should not crash lldb.
34499451b44SJordan Rupprecht        import sb_type
345*2238dcc3SJonas Devlieghere
34699451b44SJordan Rupprecht        sb_type.fuzz_obj(obj)
34799451b44SJordan Rupprecht
34899451b44SJordan Rupprecht    def test_SBTypeList(self):
34999451b44SJordan Rupprecht        """SBTypeList object is valid after default construction."""
35099451b44SJordan Rupprecht        obj = lldb.SBTypeList()
35199451b44SJordan Rupprecht        if self.TraceOn():
35299451b44SJordan Rupprecht            print(obj)
35399451b44SJordan Rupprecht        self.assertTrue(obj)
35499451b44SJordan Rupprecht
35599451b44SJordan Rupprecht    def test_SBValue(self):
35699451b44SJordan Rupprecht        obj = lldb.SBValue()
35799451b44SJordan Rupprecht        if self.TraceOn():
35899451b44SJordan Rupprecht            print(obj)
35999451b44SJordan Rupprecht        self.assertFalse(obj)
36099451b44SJordan Rupprecht        # Do fuzz testing on the invalid obj, it should not crash lldb.
36199451b44SJordan Rupprecht        import sb_value
362*2238dcc3SJonas Devlieghere
36399451b44SJordan Rupprecht        sb_value.fuzz_obj(obj)
36499451b44SJordan Rupprecht
36599451b44SJordan Rupprecht    def test_SBValueList(self):
36699451b44SJordan Rupprecht        obj = lldb.SBValueList()
36799451b44SJordan Rupprecht        if self.TraceOn():
36899451b44SJordan Rupprecht            print(obj)
36999451b44SJordan Rupprecht        self.assertFalse(obj)
37099451b44SJordan Rupprecht        # Do fuzz testing on the invalid obj, it should not crash lldb.
37199451b44SJordan Rupprecht        import sb_valuelist
372*2238dcc3SJonas Devlieghere
37399451b44SJordan Rupprecht        sb_valuelist.fuzz_obj(obj)
37499451b44SJordan Rupprecht
37599451b44SJordan Rupprecht    def test_SBWatchpoint(self):
37699451b44SJordan Rupprecht        obj = lldb.SBWatchpoint()
37799451b44SJordan Rupprecht        if self.TraceOn():
37899451b44SJordan Rupprecht            print(obj)
37999451b44SJordan Rupprecht        self.assertFalse(obj)
38099451b44SJordan Rupprecht        # Do fuzz testing on the invalid obj, it should not crash lldb.
38199451b44SJordan Rupprecht        import sb_watchpoint
382*2238dcc3SJonas Devlieghere
38399451b44SJordan Rupprecht        sb_watchpoint.fuzz_obj(obj)
384