summaryrefslogtreecommitdiffstats
path: root/gnu/llvm/lldb/packages/Python/lldbsuite/test/functionalities/set-data/TestSetData.py
diff options
context:
space:
mode:
authorpatrick <patrick@openbsd.org>2020-08-03 14:33:06 +0000
committerpatrick <patrick@openbsd.org>2020-08-03 14:33:06 +0000
commit061da546b983eb767bad15e67af1174fb0bcf31c (patch)
tree83c78b820819d70aa40c36d90447978b300078c5 /gnu/llvm/lldb/packages/Python/lldbsuite/test/functionalities/set-data/TestSetData.py
parentImport LLVM 10.0.0 release including clang, lld and lldb. (diff)
downloadwireguard-openbsd-061da546b983eb767bad15e67af1174fb0bcf31c.tar.xz
wireguard-openbsd-061da546b983eb767bad15e67af1174fb0bcf31c.zip
Import LLVM 10.0.0 release including clang, lld and lldb.
ok hackroom tested by plenty
Diffstat (limited to 'gnu/llvm/lldb/packages/Python/lldbsuite/test/functionalities/set-data/TestSetData.py')
-rw-r--r--gnu/llvm/lldb/packages/Python/lldbsuite/test/functionalities/set-data/TestSetData.py68
1 files changed, 68 insertions, 0 deletions
diff --git a/gnu/llvm/lldb/packages/Python/lldbsuite/test/functionalities/set-data/TestSetData.py b/gnu/llvm/lldb/packages/Python/lldbsuite/test/functionalities/set-data/TestSetData.py
new file mode 100644
index 00000000000..5b0a7bd07fe
--- /dev/null
+++ b/gnu/llvm/lldb/packages/Python/lldbsuite/test/functionalities/set-data/TestSetData.py
@@ -0,0 +1,68 @@
+"""
+Set the contents of variables and registers using raw data
+"""
+
+
+
+import lldb
+from lldbsuite.test.decorators import *
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test import lldbutil
+
+
+class SetDataTestCase(TestBase):
+
+ mydir = TestBase.compute_mydir(__file__)
+
+ @skipUnlessDarwin
+ def test_set_data(self):
+ """Test setting the contents of variables and registers using raw data."""
+ self.build()
+ exe = self.getBuildArtifact("a.out")
+ self.runCmd("file " + exe, CURRENT_EXECUTABLE_SET)
+
+ self.runCmd("br s -p First")
+ self.runCmd("br s -p Second")
+
+ self.runCmd("run", RUN_SUCCEEDED)
+
+ self.expect("p myFoo.x", VARIABLES_DISPLAYED_CORRECTLY,
+ substrs=['2'])
+
+ process = self.dbg.GetSelectedTarget().GetProcess()
+ frame = process.GetSelectedThread().GetFrameAtIndex(0)
+
+ x = frame.FindVariable("myFoo").GetChildMemberWithName("x")
+
+ my_data = lldb.SBData.CreateDataFromSInt32Array(
+ lldb.eByteOrderLittle, 8, [4])
+ err = lldb.SBError()
+
+ self.assertTrue(x.SetData(my_data, err))
+
+ self.runCmd("continue")
+
+ self.expect("p myFoo.x", VARIABLES_DISPLAYED_CORRECTLY,
+ substrs=['4'])
+
+ frame = process.GetSelectedThread().GetFrameAtIndex(0)
+
+ x = frame.FindVariable("string")
+
+ if process.GetAddressByteSize() == 8:
+ my_data = lldb.SBData.CreateDataFromUInt64Array(
+ process.GetByteOrder(), 8, [0])
+ else:
+ my_data = lldb.SBData.CreateDataFromUInt32Array(
+ process.GetByteOrder(), 4, [0])
+
+ err = lldb.SBError()
+
+ self.assertTrue(x.SetData(my_data, err))
+
+ self.expect(
+ "fr var -d run-target string",
+ VARIABLES_DISPLAYED_CORRECTLY,
+ substrs=[
+ 'NSString *',
+ 'nil'])