[PATCH] [gdb/testsuite] Fix scopes check in gdb.dap/rust-slices.exp

Kevin Buettner kevinb@redhat.com
Sun Jul 21 00:30:49 GMT 2024


On Thu, 18 Jul 2024 14:41:32 +0200
Tom de Vries <tdevries@suse.de> wrote:

> When running test-case gdb.dap/rust-slices.exp on aarch64-linux
> (debian 12/bookworm), I run into:
> ...
> {"request_seq": 6, "type": "response", "command": "scopes", "body": {"scopes": [{"variablesReference": 1, "name": "Locals", "presentationHint": "locals", "expensive": false, "namedVariables": 3, "line": 28, "source": {"name": "rust-slices.rs", "path": "/home/linux/gdb/binutils-gdb.git/gdb/testsuite/gdb.dap/rust-slices.rs"}}, {"variablesReference": 2, "name": "Registers", "presentationHint": "registers", "expensive": false, "namedVariables": 261, "line": 28, "source": {"name": "rust-slices.rs", "path": "/home/linux/gdb/binutils-gdb.git/gdb/testsuite/gdb.dap/rust-slices.rs"}}]}, "success": true, "seq": 20}PASS: gdb.dap/rust-slices.exp: get scopes success
> FAIL: gdb.dap/rust-slices.exp: three scopes
> PASS: gdb.dap/rust-slices.exp: scope is locals
> PASS: gdb.dap/rust-slices.exp: locals presentation hint
> PASS: gdb.dap/rust-slices.exp: three vars in scope
> ...
> 
> The test-case expects three scopes due to a rust compiler issue:
> ...
>  # There are three scopes because an artificial symbol ends up in the
>  # DWARF.  See https://github.com/rust-lang/rust/issues/125126.
>  gdb_assert {[llength $scopes] == 3} "three scopes"
> ...
> but it seems that the version used here (rustc 1.63.0, llvm 14.0.6) doesn't
> have this issue.
> 
> Fix this by allowing two or three scopes, and changing the test name to
> "two scopes".
> 
> Tested on aarch64-linux.
> 
> PR testsuite/31983
> Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31983

LGTM.

Approved-by: Kevin Buettner <kevinb@redhat.com>



More information about the Gdb-patches mailing list