Re: [PATCH] gdb: use gdb_test_multiple in gdb_breakpoint

Tom de Vries via Gdb-patches
2023-01-05T16:32:21Z

On 1/5/23 17:28, Simon Marchi wrote:
> On 1/5/23 04:04, Tom de Vries wrote:
>> On 1/3/23 20:22, Simon Marchi via Gdb-patches wrote:
>>> - -re "$gdb_prompt $" {
>>> - if { $print_fail } {
>>> - fail $test_name
>>> - }
>>> - return 0
>>> - }
>>
>> This caused:
>> ...
>> FAIL: gdb.dwarf2/dw2-main-no-line-number.exp: gdb_breakpoint: set breakpoint at 1
>> FAIL: gdb.dwarf2/dw2-main-no-line-number.exp: !$breakpoint_at_missing_lineno_set
>> FAIL: gdb.go/methods.exp: going to first breakpoint (the program exited)
>> FAIL: gdb.go/methods.exp: going to second breakpoint (the program is no longer running)
>> ...
>>
>> Re-inserting this piece of code fixes it.
>
> Ah, sorry for this, and thanks for reporting. The CI test job I usually
> use is a bit broken right now, so I don't test as well as I should.

Ah, that's too bad, I hope you get it running properly again.

> Does the patch below look good?
>

LGTM, thanks.

- Tom

>
> From db4ea2e9710bfe460d5f99ebf8d3fd670a81dfa2 Mon Sep 17 00:00:00 2001
> From: Simon Marchi <simon.marchi@polymtl.ca>
> Date: Thu, 5 Jan 2023 11:23:45 -0500
> Subject: [PATCH] gdb/testsuite: add back needed -re clause in gdb_breakpoint
>
> Commit 4b9728be ("gdb: use gdb_test_multiple in gdb_breakpoint") caused,
> amongst others:
>
> (gdb) break 1^M
> No line 1 in the current file.^M
> Make breakpoint pending on future shared library load? (y or [n]) n^M
> (gdb) FAIL: gdb.dwarf2/dw2-main-no-line-number.exp: gdb_breakpoint: set breakpoint at 1
> FAIL: gdb.dwarf2/dw2-main-no-line-number.exp: !$breakpoint_at_missing_lineno_set
>
> This is because it removed one empty -re clause (matching just the
> prompt) that is necessary after replying "n" to the pending breakpoint
> question. Add this clause back.
>
> Change-Id: Ibfaa059d58bbea660bc29f0547e2f75c323fcbc6
> ---
> gdb/testsuite/lib/gdb.exp | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
> index e17eace4cb13..af538e5c8fbd 100644
> --- a/gdb/testsuite/lib/gdb.exp
> +++ b/gdb/testsuite/lib/gdb.exp
> @@ -657,6 +657,12 @@ proc gdb_breakpoint { linespec args } {
> send_gdb "$pending_response\n"
> exp_continue
> }
> + -re "$gdb_prompt $" {
> + if { $print_fail } {
> + fail $test_name
> + }
> + return 0
> + }
> }
> if { $print_pass } {
> pass $test_name
>
> base-commit: d66641b604182246b648f662d3c32200ac921365