From c780cc2f5062451a568458b6ef9b8aef7cc1dd8a Mon Sep 17 00:00:00 2001 From: Jan Kratochvil Date: Mon, 13 Oct 2014 13:39:48 +0200 Subject: [PATCH] Fix "save breakpoints" for "catch" command gdb/ChangeLog 2014-10-13 Miroslav Franc Jan Kratochvil Fix "save breakpoints" for "catch" command. * break-catch-sig.c (signal_catchpoint_print_recreate): Add trailing newline. gdb/testsuite/ChangeLog 2014-10-13 Jan Kratochvil Yao Qi Fix "save breakpoints" for "catch" command. * gdb.base/catch-signal.exp: Add gdb_breakpoint "main". Remove -nonewline. Match also the added "main" line. --- gdb/ChangeLog | 7 +++++++ gdb/break-catch-sig.c | 1 + gdb/testsuite/ChangeLog | 7 +++++++ gdb/testsuite/gdb.base/catch-signal.exp | 20 ++++++++++++++------ 4 files changed, 29 insertions(+), 6 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 724a97181f7..97bc9bd64c8 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2014-10-13 Miroslav Franc + Jan Kratochvil + + Fix "save breakpoints" for "catch" command. + * break-catch-sig.c (signal_catchpoint_print_recreate): Add trailing + newline. + 2014-10-12 Miroslav Franc Fix "save breakpoints" for "disable $bpnum" command. diff --git a/gdb/break-catch-sig.c b/gdb/break-catch-sig.c index c41bf331499..579fb78989f 100644 --- a/gdb/break-catch-sig.c +++ b/gdb/break-catch-sig.c @@ -346,6 +346,7 @@ signal_catchpoint_print_recreate (struct breakpoint *b, struct ui_file *fp) } else if (c->catch_all) fprintf_unfiltered (fp, " all"); + fputc_unfiltered ('\n', fp); } /* Implement the "explains_signal" breakpoint_ops method for signal diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index bb362dcaeba..0b2f653ff1b 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2014-10-13 Jan Kratochvil + Yao Qi + + Fix "save breakpoints" for "catch" command. + * gdb.base/catch-signal.exp: Add gdb_breakpoint "main". + Remove -nonewline. Match also the added "main" line. + 2014-10-12 Jan Kratochvil Fix "save breakpoints" for "disable $bpnum" command. diff --git a/gdb/testsuite/gdb.base/catch-signal.exp b/gdb/testsuite/gdb.base/catch-signal.exp index 22caf401b3e..3045b8c09fd 100644 --- a/gdb/testsuite/gdb.base/catch-signal.exp +++ b/gdb/testsuite/gdb.base/catch-signal.exp @@ -117,6 +117,7 @@ foreach {arg desc} {"" "standard signals" \ "set catchpoint '$arg' for printing" gdb_test "info break" "$decimal.*catchpoint.*signal.*$desc.*" \ "info break for '$arg'" + gdb_breakpoint "main" gdb_test "save breakpoints [standard_output_file bps.$i]" \ "Saved to file .*bps.$i.*" \ "save breakpoints for '$arg'" @@ -124,7 +125,8 @@ foreach {arg desc} {"" "standard signals" \ set filename [remote_upload host [standard_output_file bps.$i] \ [standard_output_file bps-local.$i]] set fd [open $filename] - set contents [read -nonewline $fd] + set file_data [read $fd] + set data [split $file_data "\n"] close $fd if {$arg == ""} { @@ -132,11 +134,17 @@ foreach {arg desc} {"" "standard signals" \ } else { set pattern "catch signal $arg" } - if {[string match $pattern $contents]} { - pass "results of save breakpoints for '$arg'" - } else { - fail "results of save breakpoints for '$arg'" - } + gdb_assert {[expr [llength $data] == 3]} \ + "Number of lines of save breakpoints for '$arg'" + # Check the first line. + gdb_assert {[string match $pattern [lindex $data 0]]} \ + "1st line of save breakpoints for '$arg'" + # Check the second line. + gdb_assert {[string match "break main" [lindex $data 1]]} \ + "2nd line of save breakpoints for '$arg'" + # Check the trailing newline. + gdb_assert {[string match "" [lindex $data 2]]} \ + "Trailing newline of save breakpoints for '$arg'" incr i } -- 2.30.2