aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2024-12-10 20:30:05 +0100
committerTom de Vries <tdevries@suse.de>2024-12-10 20:30:05 +0100
commitba8b77eec15a26a6da11e9f1ef058ddca0af1b5d (patch)
treea0fc750d6ed6ea2b8589487d81a9d6caf3b2be4e /gdb
parentc79fb66c7837cbc3b5f3915d8c23bb5747235c34 (diff)
downloadgdb-ba8b77eec15a26a6da11e9f1ef058ddca0af1b5d.zip
gdb-ba8b77eec15a26a6da11e9f1ef058ddca0af1b5d.tar.gz
gdb-ba8b77eec15a26a6da11e9f1ef058ddca0af1b5d.tar.bz2
[gdb/testsuite] Use setVariable in gdb.dap/scopes.exp
The test-case gdb.dap/scopes.exp contains the following outdated comment: ... # setVariable isn't implemented yet, so use the register name. ... Now that setVariable is implemented, use it to set variable scalar, and remove the bit that sets the first register. That part is known to fail on s390x, because the first register isn't writeable [1]. Tested on x86_64-linux. Suggested-By: Tom Tromey <tom@tromey.com> Approved-By: Tom Tromey <tom@tromey.com> [1] https://sourceware.org/pipermail/gdb-patches/2024-December/213823.html
Diffstat (limited to 'gdb')
-rw-r--r--gdb/testsuite/gdb.dap/scopes.exp27
1 files changed, 9 insertions, 18 deletions
diff --git a/gdb/testsuite/gdb.dap/scopes.exp b/gdb/testsuite/gdb.dap/scopes.exp
index a8a0c01..e0c7786 100644
--- a/gdb/testsuite/gdb.dap/scopes.exp
+++ b/gdb/testsuite/gdb.dap/scopes.exp
@@ -134,23 +134,14 @@ set val [dap_check_request_and_response "fetch first register" \
"variables" \
[format {o variablesReference [i %d] count [i 1]} $num]]
-# Try setting the value to something else.
-set val [dict get [lindex $val 0] body variables]
-set name [dict get [lindex $val 0] name]
-set val [dict get [lindex $val 0] value]
-# Just make sure it is different from the original value.
-set val [expr {$val ^ 7}]
-
-# setVariable isn't implemented yet, so use the register name. Note
-# that we sneak the "$" into the name, written in a slightly funny way
-# to work around apparent TON limitations.
-set response [dap_check_request_and_response "set first register" \
- setExpression \
- [format {o expression [s \$%s] value [s %d] frameId [i %d]} \
- $name $val $frame_id]]
-set response [lindex $response 0]
-
-gdb_assert {[dict get $response body value] == $val} \
- "setting register yields updated value"
+set num [dict get $scope variablesReference]
+set refs [lindex [dap_check_request_and_response "set variable scalar" \
+ "setVariable" \
+ [format {o variablesReference [i %d] name [s scalar] \
+ value [s 32]} \
+ $num]] \
+ 0]
+gdb_assert { [dict get $refs body value] == 32 } \
+ "setting variable yields updated value"
dap_shutdown