Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [patch] Have gdb_breakpoint call pass
@ 2012-10-01 16:49 dje
  2012-10-12  7:02 ` Regression for gdb.base/stap-probe.exp (and some others) [Re: [patch] Have gdb_breakpoint call pass] Jan Kratochvil
  0 siblings, 1 reply; 7+ messages in thread
From: dje @ 2012-10-01 16:49 UTC (permalink / raw)
  To: gdb-patches

Hi.

I was using gdb_breakpoint in a test and noticed an inconsistency.
If it is going to call fail in the !no-message case, it should
also call pass.  OTOH, calling pass adds ~1000 passes to the test
results and I don't know if that's good or bad.
[Still, I hate the inconsistency!]

Doing that then causes runto to start issuing passes it otherwise
wouldn't, which I think are ok (for the same reasons of consistency),
except that in the runto_main case the new passes felt a bit much,
so I made runto_main pass no-message to runto.

For callers that want passes (in addition to fails), I added a new option
"message" (opposite of "no-message"), and added the same support to runto
(gotta love consistency).

Also, tests that call gdb_expect and don't watch for eof may
erroneously pass if gdb crashes, so I added an eof case to gdb_breakpoint.

Regression tested on amd64-linux.

I will check this in in a few days if there are no objections.
[This patch isn't my first choice, and if desired I'm happy to remove
"message" and have gdb_breakpoint and runto always print passes (in
addition to the fails they already print).
The current patch preserves the status quo.]

2012-10-01  Doug Evans  <dje@google.com>

	* lib/gdb.exp (gdb_breakpoint): Fix varargs scan.
	Recognize "message" -> print pass and fail.  Add eof case.
	(runto): Recognize message, no-message.  Print pass/fail if requested,
	with same treatment as gdb_breakpoint.
	(runto_main): Pass no-message to runto.
	(gdb_internal_error_resync): Add log message.
	(gdb_file_cmd): Tweak internal error fail text for consistency.

Index: testsuite/lib/gdb.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/lib/gdb.exp,v
retrieving revision 1.217
diff -u -p -r1.217 gdb.exp
--- testsuite/lib/gdb.exp	21 Sep 2012 20:01:12 -0000	1.217
+++ testsuite/lib/gdb.exp	1 Oct 2012 16:40:16 -0000
@@ -334,29 +334,44 @@ proc gdb_start_cmd {args} {
 
 # Set a breakpoint at FUNCTION.  If there is an additional argument it is
 # a list of options; the supported options are allow-pending, temporary,
-# and no-message.
+# message, no-message, and passfail.
+# The result is 1 for success, 0 for failure.
+#
+# Note: The handling of message vs no-message is messed up, but it's based
+# on historical usage.  By default this function does not print passes,
+# only fails.
+# no-message: turns off printing of fails (and passes, but they're already off)
+# message: turns on printing of passes (and fails, but they're already on)
 
 proc gdb_breakpoint { function args } {
     global gdb_prompt
     global decimal
 
     set pending_response n
-    if {[lsearch -exact [lindex $args 0] allow-pending] != -1} {
+    if {[lsearch -exact $args allow-pending] != -1} {
 	set pending_response y
     }
 
     set break_command "break"
     set break_message "Breakpoint"
-    if {[lsearch -exact [lindex $args 0] temporary] != -1} {
+    if {[lsearch -exact $args temporary] != -1} {
 	set break_command "tbreak"
 	set break_message "Temporary breakpoint"
     }
 
-    set no_message 0
-    if {[lsearch -exact [lindex $args 0] no-message] != -1} {
-	set no_message 1
+    set print_pass 0
+    set print_fail 1
+    set no_message_loc [lsearch -exact $args no-message]
+    set message_loc [lsearch -exact $args message]
+    # The last one to appear in args wins.
+    if { $no_message_loc > $message_loc } {
+	set print_fail 0
+    } elseif { $message_loc > $no_message_loc } {
+	set print_pass 1
     }
 
+    set test_name "setting breakpoint at $function"
+
     send_gdb "$break_command $function\n"
     # The first two regexps are what we get with -g, the third is without -g.
     gdb_expect 30 {
@@ -365,8 +380,8 @@ proc gdb_breakpoint { function args } {
 	-re "$break_message \[0-9\]* at .*$gdb_prompt $" {}
 	-re "$break_message \[0-9\]* \\(.*\\) pending.*$gdb_prompt $" {
 		if {$pending_response == "n"} {
-			if { $no_message == 0 } {
-				fail "setting breakpoint at $function"
+			if { $print_fail } {
+				fail $test_name
 			}
 			return 0
 		}
@@ -376,23 +391,34 @@ proc gdb_breakpoint { function args } {
 		exp_continue
 	}
 	-re "A problem internal to GDB has been detected" {
-		fail "setting breakpoint at $function in runto (GDB internal error)"
+		if { $print_fail } {
+		    fail "$test_name (GDB internal error)"
+		}
 		gdb_internal_error_resync
 		return 0
 	}
 	-re "$gdb_prompt $" {
-		if { $no_message == 0 } {
-			fail "setting breakpoint at $function"
+		if { $print_fail } {
+			fail $test_name
+		}
+		return 0
+	}
+	eof {
+		if { $print_fail } {
+			fail "$test_name (eof)"
 		}
 		return 0
 	}
 	timeout {
-		if { $no_message == 0 } {
-			fail "setting breakpoint at $function (timeout)"
+		if { $print_fail } {
+			fail "$test_name (timeout)"
 		}
 		return 0
 	}
     }
+    if { $print_pass } {
+	pass $test_name
+    }
     return 1;
 }    
 
@@ -400,8 +426,15 @@ proc gdb_breakpoint { function args } {
 # Since this is the only breakpoint that will be set, if it stops
 # at a breakpoint, we will assume it is the one we want.  We can't
 # just compare to "function" because it might be a fully qualified,
-# single quoted C++ function specifier.  If there's an additional argument,
-# pass it to gdb_breakpoint.
+# single quoted C++ function specifier.
+#
+# If there are additional arguments, pass them to gdb_breakpoint.
+# We recognize no-message/message ourselves.
+# The default is no-message.
+# no-message is messed up here, like gdb_breakpoint: to preserve
+# historical usage fails are always printed by default.
+# no-message: turns off printing of fails (and passes, but they're already off)
+# message: turns on printing of passes (and fails, but they're already on)
 
 proc runto { function args } {
     global gdb_prompt
@@ -409,7 +442,25 @@ proc runto { function args } {
 
     delete_breakpoints
 
-    if ![gdb_breakpoint $function [lindex $args 0]] {
+    # Default to "no-message".
+    set args "no-message $args"
+
+    set print_pass 0
+    set print_fail 1
+    set no_message_loc [lsearch -exact $args no-message]
+    set message_loc [lsearch -exact $args message]
+    # The last one to appear in args wins.
+    if { $no_message_loc > $message_loc } {
+	set print_fail 0
+    } elseif { $message_loc > $no_message_loc } {
+	set print_pass 1
+    }
+
+    set test_name "running to $function in runto"
+
+    # We need to use eval here to pass our varargs args to gdb_breakpoint
+    # which is also a varargs function.
+    if ![eval gdb_breakpoint $function $args] {
 	return 0;
     }
 
@@ -419,33 +470,52 @@ proc runto { function args } {
     # the "in func" output we get without -g.
     gdb_expect 30 {
 	-re "Break.* at .*:$decimal.*$gdb_prompt $" {
+	    if { $print_pass } {
+		pass $test_name
+	    }
 	    return 1
 	}
 	-re "Breakpoint \[0-9\]*, \[0-9xa-f\]* in .*$gdb_prompt $" { 
+	    if { $print_pass } {
+		pass $test_name
+	    }
 	    return 1
 	}
 	-re "The target does not support running in non-stop mode.\r\n$gdb_prompt $" {
-	    unsupported "Non-stop mode not supported"
+	    if { $print_fail } {
+		unsupported "Non-stop mode not supported"
+	    }
 	    return 0
 	}
 	-re ".*A problem internal to GDB has been detected" {
-	    fail "running to $function in runto (GDB internal error)"
+	    if { $print_fail } {
+		fail "$test_name (GDB internal error)"
+	    }
 	    gdb_internal_error_resync
 	    return 0
 	}
 	-re "$gdb_prompt $" { 
-	    fail "running to $function in runto"
+	    if { $print_fail } {
+		fail $test_name
+	    }
 	    return 0
 	}
 	eof { 
-	    fail "running to $function in runto (end of file)"
+	    if { $print_fail } {
+		fail "$test_name (end of file)"
+	    }
 	    return 0
 	}
 	timeout { 
-	    fail "running to $function in runto (timeout)"
+	    if { $print_fail } {
+		fail "$test_name (timeout)"
+	    }
 	    return 0
 	}
     }
+    if { $print_pass } {
+	pass $test_name
+    }
     return 1
 }
 
@@ -455,7 +525,7 @@ proc runto { function args } {
 # If you don't want that, use gdb_start_cmd.
 
 proc runto_main { } {
-    return [runto main]
+    return [runto main no-message]
 }
 
 ### Continue, and expect to hit a breakpoint.
@@ -508,6 +578,8 @@ proc gdb_continue_to_breakpoint {name {l
 proc gdb_internal_error_resync {} {
     global gdb_prompt
 
+    verbose -log "Resyncing due to internal error."
+
     set count 0
     while {$count < 10} {
 	gdb_expect {
@@ -1278,7 +1350,7 @@ proc gdb_file_cmd { arg } {
 	    return -1
         }
 	-re "A problem internal to GDB has been detected" {
-	    fail "($arg) GDB internal error"
+	    fail "($arg) (GDB internal error)"
 	    gdb_internal_error_resync
 	    return -1
 	}


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Regression for gdb.base/stap-probe.exp (and some others)  [Re: [patch] Have gdb_breakpoint call pass]
  2012-10-01 16:49 [patch] Have gdb_breakpoint call pass dje
@ 2012-10-12  7:02 ` Jan Kratochvil
  2012-10-15 13:50   ` Doug Evans
  2012-10-15 17:41   ` dje
  0 siblings, 2 replies; 7+ messages in thread
From: Jan Kratochvil @ 2012-10-12  7:02 UTC (permalink / raw)
  To: dje; +Cc: gdb-patches

On Mon, 01 Oct 2012 18:49:21 +0200, dje@google.com wrote:
> 2012-10-01  Doug Evans  <dje@google.com>
> 
> 	* lib/gdb.exp (gdb_breakpoint): Fix varargs scan.
> 	Recognize "message" -> print pass and fail.  Add eof case.
> 	(runto): Recognize message, no-message.  Print pass/fail if requested,
> 	with same treatment as gdb_breakpoint.
> 	(runto_main): Pass no-message to runto.
> 	(gdb_internal_error_resync): Add log message.
> 	(gdb_file_cmd): Tweak internal error fail text for consistency.

 Running gdb/testsuite/gdb.base/stap-probe.exp ...
 PASS: gdb.base/stap-probe.exp: without semaphore, not optimized: check argument not at probe point
 PASS: gdb.base/stap-probe.exp: without semaphore, not optimized: info probes stap
-PASS: gdb.base/stap-probe.exp: without semaphore, not optimized: run to -pstap test:user
+FAIL: gdb.base/stap-probe.exp: without semaphore, not optimized: run to -pstap test:user
[...]
(many of PASS->FAIL for gdb.base/stap-probe.exp)

8ff7e49469b5392bd0663a503023b9987dd1b9de is the first bad commit
commit 8ff7e49469b5392bd0663a503023b9987dd1b9de
Author: Doug Evans <dje@google.com>
Date:   Thu Oct 11 15:59:56 2012 +0000

	* lib/gdb.exp (gdb_breakpoint): Fix varargs scan.
	Recognize "message" -> print pass and fail.  Add eof case.
	(runto): Recognize message, no-message.  Print pass/fail if requested,
	with same treatment as gdb_breakpoint.
	(runto_main): Pass no-message to runto.
	(gdb_internal_error_resync): Add log message.
	(gdb_file_cmd): Tweak internal error fail text for consistency.


-(gdb) break -pstap test:user
-Breakpoint 2 at 0x4005a1
-(gdb) run 
-[...]
-(gdb) PASS: gdb.base/stap-probe.exp: without semaphore, not optimized: run to -pstap test:user
+(gdb) break -pstap
+Function "-pstap" not defined.
+Make breakpoint pending on future shared library load? (y or [n]) n
+(gdb) FAIL: gdb.base/stap-probe.exp: without semaphore, not optimized: run to -pstap test:user


Also:
 (gdb) break jmisc.main(java.lang.String[])
 Function "jmisc.main(java.lang.String[])" not defined.
-Make breakpoint pending on future shared library load? (y or [n]) y
-Breakpoint 2 (jmisc.main(java.lang.String[])) pending.
[...]
+Make breakpoint pending on future shared library load? (y or [n]) n
+(gdb) FAIL: gdb.java/jmisc.exp: setting breakpoint at jmisc.main(java.lang.String[])



Regards,
Jan


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Regression for gdb.base/stap-probe.exp (and some others) [Re: [patch] Have gdb_breakpoint call pass]
  2012-10-12  7:02 ` Regression for gdb.base/stap-probe.exp (and some others) [Re: [patch] Have gdb_breakpoint call pass] Jan Kratochvil
@ 2012-10-15 13:50   ` Doug Evans
  2012-10-15 17:41   ` dje
  1 sibling, 0 replies; 7+ messages in thread
From: Doug Evans @ 2012-10-15 13:50 UTC (permalink / raw)
  To: Jan Kratochvil; +Cc: gdb-patches

On Fri, Oct 12, 2012 at 12:01 AM, Jan Kratochvil
<jan.kratochvil@redhat.com> wrote:
> On Mon, 01 Oct 2012 18:49:21 +0200, dje@google.com wrote:
>> 2012-10-01  Doug Evans  <dje@google.com>
>>
>>       * lib/gdb.exp (gdb_breakpoint): Fix varargs scan.
>>       Recognize "message" -> print pass and fail.  Add eof case.
>>       (runto): Recognize message, no-message.  Print pass/fail if requested,
>>       with same treatment as gdb_breakpoint.
>>       (runto_main): Pass no-message to runto.
>>       (gdb_internal_error_resync): Add log message.
>>       (gdb_file_cmd): Tweak internal error fail text for consistency.
>
>  Running gdb/testsuite/gdb.base/stap-probe.exp ...
>  PASS: gdb.base/stap-probe.exp: without semaphore, not optimized: check argument not at probe point
>  PASS: gdb.base/stap-probe.exp: without semaphore, not optimized: info probes stap
> -PASS: gdb.base/stap-probe.exp: without semaphore, not optimized: run to -pstap test:user
> +FAIL: gdb.base/stap-probe.exp: without semaphore, not optimized: run to -pstap test:user

Sorry about that.
I have a fix I hope to be able to install today.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Regression for gdb.base/stap-probe.exp (and some others)  [Re: [patch] Have gdb_breakpoint call pass]
  2012-10-12  7:02 ` Regression for gdb.base/stap-probe.exp (and some others) [Re: [patch] Have gdb_breakpoint call pass] Jan Kratochvil
  2012-10-15 13:50   ` Doug Evans
@ 2012-10-15 17:41   ` dje
  2012-10-15 18:35     ` Jan Kratochvil
  1 sibling, 1 reply; 7+ messages in thread
From: dje @ 2012-10-15 17:41 UTC (permalink / raw)
  To: Jan Kratochvil; +Cc: gdb-patches

Jan Kratochvil writes:
 > On Mon, 01 Oct 2012 18:49:21 +0200, dje@google.com wrote:
 > > 2012-10-01  Doug Evans  <dje@google.com>
 > > 
 > > 	* lib/gdb.exp (gdb_breakpoint): Fix varargs scan.
 > > 	Recognize "message" -> print pass and fail.  Add eof case.
 > > 	(runto): Recognize message, no-message.  Print pass/fail if requested,
 > > 	with same treatment as gdb_breakpoint.
 > > 	(runto_main): Pass no-message to runto.
 > > 	(gdb_internal_error_resync): Add log message.
 > > 	(gdb_file_cmd): Tweak internal error fail text for consistency.
 > 
 >  Running gdb/testsuite/gdb.base/stap-probe.exp ...
 >  PASS: gdb.base/stap-probe.exp: without semaphore, not optimized: check argument not at probe point
 >  PASS: gdb.base/stap-probe.exp: without semaphore, not optimized: info probes stap
 > -PASS: gdb.base/stap-probe.exp: without semaphore, not optimized: run to -pstap test:user
 > +FAIL: gdb.base/stap-probe.exp: without semaphore, not optimized: run to -pstap test:user
 > [...]
 > (many of PASS->FAIL for gdb.base/stap-probe.exp)

This test doesn't run on the ubuntu box I was testing on, but oh well.

This patch fixes stap-probe.exp on the Fedora box I tested on.
I didn't test jmisc.exp but it is likely the same issue.
Committed.

2012-10-15  Doug Evans  <dje@google.com>

	* lib/gdb.exp (runto): Fix call to gdb_breakpoint.

Index: gdb.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/lib/gdb.exp,v
retrieving revision 1.219
diff -u -p -r1.219 gdb.exp
--- gdb.exp	11 Oct 2012 15:59:57 -0000	1.219
+++ gdb.exp	15 Oct 2012 17:33:54 -0000
@@ -460,7 +460,10 @@ proc runto { function args } {
 
     # We need to use eval here to pass our varargs args to gdb_breakpoint
     # which is also a varargs function.
-    if ![eval gdb_breakpoint $function $args] {
+    # But we also have to be careful because $function may have multiple
+    # elements, and we don't want Tcl to move the remaining elements after
+    # the first to $args.  That is why $function is wrapped in {}.
+    if ![eval gdb_breakpoint {$function} $args] {
 	return 0;
     }
 


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Regression for gdb.base/stap-probe.exp (and some others)  [Re: [patch] Have gdb_breakpoint call pass]
  2012-10-15 17:41   ` dje
@ 2012-10-15 18:35     ` Jan Kratochvil
  2012-10-15 18:50       ` Doug Evans
  0 siblings, 1 reply; 7+ messages in thread
From: Jan Kratochvil @ 2012-10-15 18:35 UTC (permalink / raw)
  To: dje; +Cc: gdb-patches

Hi Doug,

On Mon, 15 Oct 2012 19:41:28 +0200, dje@google.com wrote:
> This patch fixes stap-probe.exp on the Fedora box I tested on.

Yes, it does.

> I didn't test jmisc.exp but it is likely the same issue.

No, it is not.

I guess you agree, I will check it in.  With '{ allow-pending }' the function
gets passed "{ allow-pending }" while with '{allow-pending}' it gets passed
"allow-pending".  tcl-8.5.12-3.fc18.x86_64


Thanks,
Jan


gdb/testsuite/
2012-10-15  Jan Kratochvil  <jan.kratochvil@redhat.com>

	Fix recent gdb_breakpoint regression.
	* gdb.java/jmisc.exp: gdb_breakpoint for $function - remove spaces from
	curly bracketed parameter.
	* gdb.java/jprint.exp: Likewise.

diff --git a/gdb/testsuite/gdb.java/jmisc.exp b/gdb/testsuite/gdb.java/jmisc.exp
index 7215861..64ae559 100644
--- a/gdb/testsuite/gdb.java/jmisc.exp
+++ b/gdb/testsuite/gdb.java/jmisc.exp
@@ -43,8 +43,8 @@ if [set_lang_java] then {
     # signature.
     runto_main
     set function "${testfile}.main(java.lang.String\[\])"
-    gdb_breakpoint "$function" { allow-pending }
-    gdb_breakpoint "${function}void" { allow-pending }
+    gdb_breakpoint "$function" {allow-pending}
+    gdb_breakpoint "${function}void" {allow-pending}
     gdb_continue_to_breakpoint $function
 
     gdb_test_multiple "ptype jmisc" "ptype jmisc" {
diff --git a/gdb/testsuite/gdb.java/jprint.exp b/gdb/testsuite/gdb.java/jprint.exp
index b2d5d31..ac5c55c 100644
--- a/gdb/testsuite/gdb.java/jprint.exp
+++ b/gdb/testsuite/gdb.java/jprint.exp
@@ -43,8 +43,8 @@ if [set_lang_java] then {
     # signature.
     runto_main
     set function "${testfile}.main(java.lang.String\[\])"
-    gdb_breakpoint "$function" { allow-pending }
-    gdb_breakpoint "${function}void" { allow-pending }
+    gdb_breakpoint "$function" {allow-pending}
+    gdb_breakpoint "${function}void" {allow-pending}
     gdb_continue_to_breakpoint $function
 
     gdb_test "p jvclass.addprint(4,5,6)" " = 15" "unambiguous static call"


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Regression for gdb.base/stap-probe.exp (and some others) [Re: [patch] Have gdb_breakpoint call pass]
  2012-10-15 18:35     ` Jan Kratochvil
@ 2012-10-15 18:50       ` Doug Evans
  2012-10-15 19:12         ` [commit] " Jan Kratochvil
  0 siblings, 1 reply; 7+ messages in thread
From: Doug Evans @ 2012-10-15 18:50 UTC (permalink / raw)
  To: Jan Kratochvil; +Cc: gdb-patches

On Mon, Oct 15, 2012 at 2:35 PM, Jan Kratochvil
<jan.kratochvil@redhat.com> wrote:
> Hi Doug,
>
> On Mon, 15 Oct 2012 19:41:28 +0200, dje@google.com wrote:
>> This patch fixes stap-probe.exp on the Fedora box I tested on.
>
> Yes, it does.
>
>> I didn't test jmisc.exp but it is likely the same issue.
>
> No, it is not.
>
> I guess you agree, I will check it in.  With '{ allow-pending }' the function
> gets passed "{ allow-pending }" while with '{allow-pending}' it gets passed
> "allow-pending".  tcl-8.5.12-3.fc18.x86_64

I gather the issue is that the code is now treating { allow-pending }
like " allow-pending ", and the test for "allow-pending" (no spaces)
is now failing.  Given that gdb_breakpoint is a varargs function, and
parameters like allow-pending are part of the varargs parameters, it
seems wrong to pass allow-pending as a list itself (which the braces
imply), so perhaps we should remove the braces altogether.
i.e., s/{ allow-pending }/allow-pending/

>
> Thanks,
> Jan
>
>
> gdb/testsuite/
> 2012-10-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
>
>         Fix recent gdb_breakpoint regression.
>         * gdb.java/jmisc.exp: gdb_breakpoint for $function - remove spaces from
>         curly bracketed parameter.
>         * gdb.java/jprint.exp: Likewise.
>
> diff --git a/gdb/testsuite/gdb.java/jmisc.exp b/gdb/testsuite/gdb.java/jmisc.exp
> index 7215861..64ae559 100644
> --- a/gdb/testsuite/gdb.java/jmisc.exp
> +++ b/gdb/testsuite/gdb.java/jmisc.exp
> @@ -43,8 +43,8 @@ if [set_lang_java] then {
>      # signature.
>      runto_main
>      set function "${testfile}.main(java.lang.String\[\])"
> -    gdb_breakpoint "$function" { allow-pending }
> -    gdb_breakpoint "${function}void" { allow-pending }
> +    gdb_breakpoint "$function" {allow-pending}
> +    gdb_breakpoint "${function}void" {allow-pending}
>      gdb_continue_to_breakpoint $function
>
>      gdb_test_multiple "ptype jmisc" "ptype jmisc" {
> diff --git a/gdb/testsuite/gdb.java/jprint.exp b/gdb/testsuite/gdb.java/jprint.exp
> index b2d5d31..ac5c55c 100644
> --- a/gdb/testsuite/gdb.java/jprint.exp
> +++ b/gdb/testsuite/gdb.java/jprint.exp
> @@ -43,8 +43,8 @@ if [set_lang_java] then {
>      # signature.
>      runto_main
>      set function "${testfile}.main(java.lang.String\[\])"
> -    gdb_breakpoint "$function" { allow-pending }
> -    gdb_breakpoint "${function}void" { allow-pending }
> +    gdb_breakpoint "$function" {allow-pending}
> +    gdb_breakpoint "${function}void" {allow-pending}
>      gdb_continue_to_breakpoint $function
>
>      gdb_test "p jvclass.addprint(4,5,6)" " = 15" "unambiguous static call"


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [commit] Regression for gdb.base/stap-probe.exp (and some others) [Re: [patch] Have gdb_breakpoint call pass]
  2012-10-15 18:50       ` Doug Evans
@ 2012-10-15 19:12         ` Jan Kratochvil
  0 siblings, 0 replies; 7+ messages in thread
From: Jan Kratochvil @ 2012-10-15 19:12 UTC (permalink / raw)
  To: Doug Evans; +Cc: gdb-patches

On Mon, 15 Oct 2012 20:49:59 +0200, Doug Evans wrote:
> I gather the issue is that the code is now treating { allow-pending }
> like " allow-pending ", and the test for "allow-pending" (no spaces)
> is now failing.

Surprisingly not, I do not find it too clear:

gdb_breakpoint "$function" { allow-pending }
->
args=<{ allow-pending }>

gdb_breakpoint "$function" {allow-pending}
->
args=<allow-pending>


> Given that gdb_breakpoint is a varargs function, and
> parameters like allow-pending are part of the varargs parameters, it
> seems wrong to pass allow-pending as a list itself (which the braces
> imply), so perhaps we should remove the braces altogether.
> i.e., s/{ allow-pending }/allow-pending/

Checked in that way.


Thanks,
Jan


http://sourceware.org/ml/gdb-cvs/2012-10/msg00056.html

--- src/gdb/testsuite/ChangeLog	2012/10/15 17:35:54	1.3414
+++ src/gdb/testsuite/ChangeLog	2012/10/15 19:11:56	1.3415
@@ -1,3 +1,11 @@
+2012-10-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
+	    Doug Evans  <dje@google.com>
+
+	Fix recent gdb_breakpoint regression.
+	* gdb.java/jmisc.exp: gdb_breakpoint for $function - remove curly
+	braces from the parameter.
+	* gdb.java/jprint.exp: Likewise.
+
 2012-10-15  Doug Evans  <dje@google.com>
 
 	* lib/gdb.exp (runto): Fix call to gdb_breakpoint.
--- src/gdb/testsuite/gdb.java/jmisc.exp	2012/06/22 16:44:15	1.25
+++ src/gdb/testsuite/gdb.java/jmisc.exp	2012/10/15 19:11:56	1.26
@@ -43,8 +43,8 @@
     # signature.
     runto_main
     set function "${testfile}.main(java.lang.String\[\])"
-    gdb_breakpoint "$function" { allow-pending }
-    gdb_breakpoint "${function}void" { allow-pending }
+    gdb_breakpoint "$function" allow-pending
+    gdb_breakpoint "${function}void" allow-pending
     gdb_continue_to_breakpoint $function
 
     gdb_test_multiple "ptype jmisc" "ptype jmisc" {
--- src/gdb/testsuite/gdb.java/jprint.exp	2012/06/22 16:44:15	1.23
+++ src/gdb/testsuite/gdb.java/jprint.exp	2012/10/15 19:11:56	1.24
@@ -43,8 +43,8 @@
     # signature.
     runto_main
     set function "${testfile}.main(java.lang.String\[\])"
-    gdb_breakpoint "$function" { allow-pending }
-    gdb_breakpoint "${function}void" { allow-pending }
+    gdb_breakpoint "$function" allow-pending
+    gdb_breakpoint "${function}void" allow-pending
     gdb_continue_to_breakpoint $function
 
     gdb_test "p jvclass.addprint(4,5,6)" " = 15" "unambiguous static call"


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-10-15 19:12 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-10-01 16:49 [patch] Have gdb_breakpoint call pass dje
2012-10-12  7:02 ` Regression for gdb.base/stap-probe.exp (and some others) [Re: [patch] Have gdb_breakpoint call pass] Jan Kratochvil
2012-10-15 13:50   ` Doug Evans
2012-10-15 17:41   ` dje
2012-10-15 18:35     ` Jan Kratochvil
2012-10-15 18:50       ` Doug Evans
2012-10-15 19:12         ` [commit] " Jan Kratochvil

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox