Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [patch] reverse-finish.exp
@ 2009-07-15  8:33 Michael Snyder
  2009-07-16 10:18 ` Hui Zhu
  0 siblings, 1 reply; 2+ messages in thread
From: Michael Snyder @ 2009-07-15  8:33 UTC (permalink / raw)
  To: gdb-patches, Hui Zhu

[-- Attachment #1: Type: text/plain, Size: 265 bytes --]

I goofed when I wrote this test.  I was thinking that
reverse-finish would always bring us to the beginning
of the calling source line, but it won't.  Just like
forward finish, it may stop in the middle of the line.

Hui, this should make this test pass on amd64.


[-- Attachment #2: finish.txt --]
[-- Type: text/plain, Size: 3002 bytes --]

2009-07-14  Michael Snyder  <msnyder@vmware.com>

	* gdb.reverse/finish-reverse.exp: Do not expect reverse-finish
	to bring gdb to the beginning of the calling line.

Index: gdb.reverse/finish-reverse.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.reverse/finish-reverse.exp,v
retrieving revision 1.1
diff -u -p -r1.1 finish-reverse.exp
--- gdb.reverse/finish-reverse.exp	27 Jun 2009 18:49:20 -0000	1.1
+++ gdb.reverse/finish-reverse.exp	15 Jul 2009 01:17:58 -0000
@@ -27,34 +27,6 @@ if { [prepare_for_testing $testfile.exp 
     return -1
 }
 
-proc test_start_of_line { line_text test_msg } {
-    global gdb_prompt
-    global decimal
-    global hex
-
-    send_gdb "info line\n"
-    gdb_expect {
-	-re "Line $decimal of .* starts at address ($hex) .*$gdb_prompt $" {
-	    set line_begin $expect_out(1,string)
-	}
-	default {
-	    fail "Get line address in test_start_of_line"
-	}
-    }
-    send_gdb "info reg pc\n"
-    gdb_expect {
-	-re ".*: ($hex)\r\n*$gdb_prompt $" {
-	    set stop_pc $expect_out(1,string)
-	}
-	default {
-	    fail"Get stop pc in test_start_of_line"
-	}
-    }
-    gdb_test "print $line_begin == $stop_pc" \
-	" = 1\[\r\n\]*" \
-	"test_start_of_line, $test_msg"
-}
-
 runto main
 
 if [target_info exists gdb,use_precord] {
@@ -193,7 +165,7 @@ gdb_continue_to_breakpoint "long_long_fu
 set test_msg "reverse finish from long_long_func"
 gdb_test_multiple "finish" "$test_msg" {
     -re ".* long_checkpoint.*$gdb_prompt $" {
-	test_start_of_line "long_checkpoint" "$test_msg"
+	pass "$test_msg"
     }
 }
 
@@ -205,7 +177,7 @@ gdb_continue_to_breakpoint "long_func" "
 set test_msg "reverse finish from long_func"
 gdb_test_multiple "finish" "$test_msg" {
     -re ".* int_checkpoint.*$gdb_prompt $" {
-	test_start_of_line "int_checkpoint" "$test_msg"
+	pass "$test_msg"
     }
 }
 
@@ -217,7 +189,7 @@ gdb_continue_to_breakpoint "int_func" ".
 set test_msg "reverse finish from int_func"
 gdb_test_multiple "finish" "$test_msg" {
     -re ".* short_checkpoint.*$gdb_prompt $" {
-	test_start_of_line "short_checkpoint" "$test_msg"
+	pass "$test_msg"
     }
 }
 
@@ -229,7 +201,7 @@ gdb_continue_to_breakpoint "short_func" 
 set test_msg "reverse finish from short_func"
 gdb_test_multiple "finish" "$test_msg" {
     -re ".* char_checkpoint.*$gdb_prompt $" {
-	test_start_of_line "char_checkpoint" "$test_msg"
+	pass "$test_msg"
     }
 }
 
@@ -241,7 +213,7 @@ gdb_continue_to_breakpoint "char_func" "
 set test_msg "reverse finish from char_func"
 gdb_test_multiple "finish" "$test_msg" {
     -re ".* void_checkpoint.*$gdb_prompt $" {
-	test_start_of_line "void_checkpoint" "$test_msg"
+	pass "$test_msg"
     }
 }
 
@@ -253,7 +225,7 @@ gdb_continue_to_breakpoint "void_func" "
 set test_msg "reverse finish from void_func"
 gdb_test_multiple "finish" "$test_msg" {
     -re ".* call to void_func.*$gdb_prompt $" {
-	test_start_of_line "call to void_func" "$test_msg"
+	pass "$test_msg"
     }
 }
 

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

* Re: [patch] reverse-finish.exp
  2009-07-15  8:33 [patch] reverse-finish.exp Michael Snyder
@ 2009-07-16 10:18 ` Hui Zhu
  0 siblings, 0 replies; 2+ messages in thread
From: Hui Zhu @ 2009-07-16 10:18 UTC (permalink / raw)
  To: Michael Snyder; +Cc: gdb-patches

Yes, It works very well.  Thanks.

Hui

On Wed, Jul 15, 2009 at 09:16, Michael Snyder<msnyder@vmware.com> wrote:
> I goofed when I wrote this test.  I was thinking that
> reverse-finish would always bring us to the beginning
> of the calling source line, but it won't.  Just like
> forward finish, it may stop in the middle of the line.
>
> Hui, this should make this test pass on amd64.
>
>
> 2009-07-14  Michael Snyder  <msnyder@vmware.com>
>
>        * gdb.reverse/finish-reverse.exp: Do not expect reverse-finish
>        to bring gdb to the beginning of the calling line.
>
> Index: gdb.reverse/finish-reverse.exp
> ===================================================================
> RCS file: /cvs/src/src/gdb/testsuite/gdb.reverse/finish-reverse.exp,v
> retrieving revision 1.1
> diff -u -p -r1.1 finish-reverse.exp
> --- gdb.reverse/finish-reverse.exp      27 Jun 2009 18:49:20 -0000      1.1
> +++ gdb.reverse/finish-reverse.exp      15 Jul 2009 01:17:58 -0000
> @@ -27,34 +27,6 @@ if { [prepare_for_testing $testfile.exp
>     return -1
>  }
>
> -proc test_start_of_line { line_text test_msg } {
> -    global gdb_prompt
> -    global decimal
> -    global hex
> -
> -    send_gdb "info line\n"
> -    gdb_expect {
> -       -re "Line $decimal of .* starts at address ($hex) .*$gdb_prompt $" {
> -           set line_begin $expect_out(1,string)
> -       }
> -       default {
> -           fail "Get line address in test_start_of_line"
> -       }
> -    }
> -    send_gdb "info reg pc\n"
> -    gdb_expect {
> -       -re ".*: ($hex)\r\n*$gdb_prompt $" {
> -           set stop_pc $expect_out(1,string)
> -       }
> -       default {
> -           fail"Get stop pc in test_start_of_line"
> -       }
> -    }
> -    gdb_test "print $line_begin == $stop_pc" \
> -       " = 1\[\r\n\]*" \
> -       "test_start_of_line, $test_msg"
> -}
> -
>  runto main
>
>  if [target_info exists gdb,use_precord] {
> @@ -193,7 +165,7 @@ gdb_continue_to_breakpoint "long_long_fu
>  set test_msg "reverse finish from long_long_func"
>  gdb_test_multiple "finish" "$test_msg" {
>     -re ".* long_checkpoint.*$gdb_prompt $" {
> -       test_start_of_line "long_checkpoint" "$test_msg"
> +       pass "$test_msg"
>     }
>  }
>
> @@ -205,7 +177,7 @@ gdb_continue_to_breakpoint "long_func" "
>  set test_msg "reverse finish from long_func"
>  gdb_test_multiple "finish" "$test_msg" {
>     -re ".* int_checkpoint.*$gdb_prompt $" {
> -       test_start_of_line "int_checkpoint" "$test_msg"
> +       pass "$test_msg"
>     }
>  }
>
> @@ -217,7 +189,7 @@ gdb_continue_to_breakpoint "int_func" ".
>  set test_msg "reverse finish from int_func"
>  gdb_test_multiple "finish" "$test_msg" {
>     -re ".* short_checkpoint.*$gdb_prompt $" {
> -       test_start_of_line "short_checkpoint" "$test_msg"
> +       pass "$test_msg"
>     }
>  }
>
> @@ -229,7 +201,7 @@ gdb_continue_to_breakpoint "short_func"
>  set test_msg "reverse finish from short_func"
>  gdb_test_multiple "finish" "$test_msg" {
>     -re ".* char_checkpoint.*$gdb_prompt $" {
> -       test_start_of_line "char_checkpoint" "$test_msg"
> +       pass "$test_msg"
>     }
>  }
>
> @@ -241,7 +213,7 @@ gdb_continue_to_breakpoint "char_func" "
>  set test_msg "reverse finish from char_func"
>  gdb_test_multiple "finish" "$test_msg" {
>     -re ".* void_checkpoint.*$gdb_prompt $" {
> -       test_start_of_line "void_checkpoint" "$test_msg"
> +       pass "$test_msg"
>     }
>  }
>
> @@ -253,7 +225,7 @@ gdb_continue_to_breakpoint "void_func" "
>  set test_msg "reverse finish from void_func"
>  gdb_test_multiple "finish" "$test_msg" {
>     -re ".* call to void_func.*$gdb_prompt $" {
> -       test_start_of_line "call to void_func" "$test_msg"
> +       pass "$test_msg"
>     }
>  }
>
>
>


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

end of thread, other threads:[~2009-07-16  2:43 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-07-15  8:33 [patch] reverse-finish.exp Michael Snyder
2009-07-16 10:18 ` Hui Zhu

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