diff options
author | Simon Marchi <simon.marchi@polymtl.ca> | 2021-07-13 21:07:32 -0400 |
---|---|---|
committer | Simon Marchi <simon.marchi@polymtl.ca> | 2021-07-23 15:38:54 -0400 |
commit | 3e1e8561c387dbe2dbb93d52fbd27ebcb0b7f3a1 (patch) | |
tree | 1a3b4c168febb86029497af34429340c7f37f59c | |
parent | 5538b03c98e77756b1e1d3e3be86f997a78e6d11 (diff) | |
download | gdb-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.exp | 8 |
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. |