@@ -43,3 +43,35 @@ def test_debugger_delete_invalid_target(self):
43
43
target = lldb .SBTarget ()
44
44
self .assertFalse (target .IsValid ())
45
45
self .dbg .DeleteTarget (target )
46
+
47
+ @add_test_categories (['pyapi' ])
48
+ def test_debugger_internal_variables (self ):
49
+ debugger_name = self .dbg .GetInstanceName ()
50
+
51
+ # Set a variable and check it was written successfully.
52
+ error = lldb .SBDebugger .SetInternalVariable (
53
+ 'target.prefer-dynamic-value' , 'no-dynamic-values' , debugger_name )
54
+ self .assertTrue (error .Success ())
55
+ ret = lldb .SBDebugger .GetInternalVariableValue (
56
+ 'target.prefer-dynamic-value' , debugger_name )
57
+ self .assertEqual (ret .GetSize (), 1 )
58
+ self .assertEqual (ret .GetStringAtIndex (0 ), 'no-dynamic-values' )
59
+
60
+ # Set a variable with a different value.
61
+ error = lldb .SBDebugger .SetInternalVariable (
62
+ 'target.prefer-dynamic-value' , 'no-run-target' , debugger_name )
63
+ self .assertTrue (error .Success ())
64
+ ret = lldb .SBDebugger .GetInternalVariableValue (
65
+ 'target.prefer-dynamic-value' , debugger_name )
66
+ self .assertEqual (ret .GetSize (), 1 )
67
+ self .assertEqual (ret .GetStringAtIndex (0 ), 'no-run-target' )
68
+
69
+ # Try setting invalid value, check for error.
70
+ error = lldb .SBDebugger .SetInternalVariable (
71
+ 'target.prefer-dynamic-value' , 'dummy-value' , debugger_name )
72
+ self .assertTrue (error .Fail ())
73
+ # Check that the value didn't change.
74
+ ret = lldb .SBDebugger .GetInternalVariableValue (
75
+ 'target.prefer-dynamic-value' , debugger_name )
76
+ self .assertEqual (ret .GetSize (), 1 )
77
+ self .assertEqual (ret .GetStringAtIndex (0 ), 'no-run-target' )
0 commit comments