aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@polymtl.ca>2021-07-13 21:07:32 -0400
committerSimon Marchi <simon.marchi@polymtl.ca>2021-07-23 15:38:54 -0400
commit3e1e8561c387dbe2dbb93d52fbd27ebcb0b7f3a1 (patch)
tree1a3b4c168febb86029497af34429340c7f37f59c
parent5538b03c98e77756b1e1d3e3be86f997a78e6d11 (diff)
downloadgdb-3e1e8561c387dbe2dbb93d52fbd27ebcb0b7f3a1.zip
gdb-3e1e8561c387dbe2dbb93d52fbd27ebcb0b7f3a1.tar.gz
gdb-3e1e8561c387dbe2dbb93d52fbd27ebcb0b7f3a1.tar.bz2
gdb/testsuite: test get/set value of unregistered Guile parameter
When creating a parameter in Guile, you have to create it using make-parameter and then register it with GDB with register-parameter!. In between, it's still possible (though not documented) to set the parameter's value. I broke this use case by mistake while writing this series, so thought it would be good to have a test for it. I suppose that people could use this "feature" to give their parameter an initial value, even though make-parameter has an initial-value parameter for this. Nevertheless, changing this behavior could break some scripts, which is why I think it's important for it to be tested. Change-Id: I5b2103e3cec0cfdcccf7ffb00eb05fed8626e66d
-rw-r--r--gdb/testsuite/gdb.guile/scm-parameter.exp8
1 files changed, 8 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.guile/scm-parameter.exp b/gdb/testsuite/gdb.guile/scm-parameter.exp
index 67120b2..5a2fb42 100644
--- a/gdb/testsuite/gdb.guile/scm-parameter.exp
+++ b/gdb/testsuite/gdb.guile/scm-parameter.exp
@@ -176,6 +176,14 @@ with_test_prefix "test-restricted-param" {
gdb_test "guile (register-parameter! (make-parameter \"height\"))" \
"ERROR.*is already defined.*" "error registering existing parameter"
+# Test printing and setting the value of an unregistered parameter.
+gdb_test "guile (print (parameter-value (make-parameter \"foo\")))" \
+ "= #f"
+gdb_test "guile (define myparam (make-parameter \"foo\"))"
+gdb_test_no_output "guile (set-parameter-value! myparam #t)"
+gdb_test "guile (print (parameter-value myparam))" \
+ "= #t"
+
# Test registering a parameter named with what was an ambiguous spelling
# of existing parameters.