Add testcases to gdb.base/break.exp

Message ID 1445924337-6514-1-git-send-email-feij.fnst@cn.fujitsu.com
State New, archived
Headers

Commit Message

Fei Jie Oct. 27, 2015, 5:38 a.m. UTC
  *test break at offset -1
    *test break with address
    *test break with non-existed address
    *test break with non-existed condition
---
 gdb/testsuite/gdb.base/break.exp | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
  

Comments

Andrew Burgess Oct. 27, 2015, 9:31 a.m. UTC | #1
* Fei Jie <feij.fnst@cn.fujitsu.com> [2015-10-27 13:38:57 +0800]:

>     *test break at offset -1
>     *test break with address
>     *test break with non-existed address
>     *test break with non-existed condition
> ---
>  gdb/testsuite/gdb.base/break.exp | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/gdb/testsuite/gdb.base/break.exp b/gdb/testsuite/gdb.base/break.exp
> index f879bc8..3a997d1 100644
> --- a/gdb/testsuite/gdb.base/break.exp
> +++ b/gdb/testsuite/gdb.base/break.exp
> @@ -399,6 +399,10 @@ set bp_location10 [gdb_get_line_number "set breakpoint 10 here"]
>  gdb_test "break +1" \
>      "Breakpoint.*at.* file .*$srcfile, line $bp_location10\\." \
>      "breakpoint offset +1"
> +#Test break at offset -1
> +gdb_test "break -1" \
> +    "Note: breakpoint 6 also set at.*Breakpoint.*at.* file .*$srcfile, line.*" \
> +    "breakpoint offset -1"
>  
>  # Check to see if breakpoint is hit when stepped onto
>  
> @@ -940,3 +944,17 @@ gdb_test_no_output "set \$foo=81.5" \
>  gdb_test "break $srcfile:\$foo" \
>      "Convenience variables used in line specs must have integer values.*" \
>      "set breakpoint via non-integer convenience variable disallowed"
> +
> +#Test break with address
> +gdb_test "break *0x400795" \
> +    "Breakpoint.*at.* .*$srcfile, line.*" \
> +    "breakpoint with address"

That address is not going to be valid for every target.  You'll need
to place a label in the code somewhere, take the address of the label,
and use that to generate a breakpoint.

Thanks,
Andrew
  

Patch

diff --git a/gdb/testsuite/gdb.base/break.exp b/gdb/testsuite/gdb.base/break.exp
index f879bc8..3a997d1 100644
--- a/gdb/testsuite/gdb.base/break.exp
+++ b/gdb/testsuite/gdb.base/break.exp
@@ -399,6 +399,10 @@  set bp_location10 [gdb_get_line_number "set breakpoint 10 here"]
 gdb_test "break +1" \
     "Breakpoint.*at.* file .*$srcfile, line $bp_location10\\." \
     "breakpoint offset +1"
+#Test break at offset -1
+gdb_test "break -1" \
+    "Note: breakpoint 6 also set at.*Breakpoint.*at.* file .*$srcfile, line.*" \
+    "breakpoint offset -1"
 
 # Check to see if breakpoint is hit when stepped onto
 
@@ -940,3 +944,17 @@  gdb_test_no_output "set \$foo=81.5" \
 gdb_test "break $srcfile:\$foo" \
     "Convenience variables used in line specs must have integer values.*" \
     "set breakpoint via non-integer convenience variable disallowed"
+
+#Test break with address
+gdb_test "break *0x400795" \
+    "Breakpoint.*at.* .*$srcfile, line.*" \
+    "breakpoint with address"
+
+#Test break with non-existed address
+gdb_test "break *0xfffffffffffffffff" \
+    "Numeric constant too large\." \
+    "breakpoint with non-existed address"
+
+#Test break with non-existed condition
+gdb_test "break 50 if i<0" \
+    "No symbol \"i\" in current context\."