aboutsummaryrefslogtreecommitdiff
path: root/packages/Python/lldbsuite/test/python_api/default-constructor/sb_frame.py
diff options
context:
space:
mode:
Diffstat (limited to 'packages/Python/lldbsuite/test/python_api/default-constructor/sb_frame.py')
-rw-r--r--packages/Python/lldbsuite/test/python_api/default-constructor/sb_frame.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/packages/Python/lldbsuite/test/python_api/default-constructor/sb_frame.py b/packages/Python/lldbsuite/test/python_api/default-constructor/sb_frame.py
new file mode 100644
index 000000000000..41edaff02ed7
--- /dev/null
+++ b/packages/Python/lldbsuite/test/python_api/default-constructor/sb_frame.py
@@ -0,0 +1,37 @@
+"""
+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.GetFrameID()
+ obj.GetPC()
+ obj.SetPC(0xffffffff)
+ obj.GetSP()
+ obj.GetFP()
+ obj.GetPCAddress()
+ obj.GetSymbolContext(0)
+ obj.GetModule()
+ obj.GetCompileUnit()
+ obj.GetFunction()
+ obj.GetSymbol()
+ obj.GetBlock()
+ obj.GetFunctionName()
+ obj.IsInlined()
+ obj.EvaluateExpression("x + y")
+ obj.EvaluateExpression("x + y", lldb.eDynamicCanRunTarget)
+ obj.GetFrameBlock()
+ obj.GetLineEntry()
+ obj.GetThread()
+ obj.Disassemble()
+ obj.GetVariables(True, True, True, True)
+ obj.GetVariables(True, True, True, False, lldb.eDynamicCanRunTarget)
+ obj.GetRegisters()
+ obj.FindVariable("my_var")
+ obj.FindVariable("my_var", lldb.eDynamicCanRunTarget)
+ obj.FindValue("your_var", lldb.eValueTypeVariableGlobal)
+ obj.FindValue("your_var", lldb.eValueTypeVariableStatic, lldb.eDynamicCanRunTarget)
+ obj.GetDescription(lldb.SBStream())
+ obj.Clear()