[v3,3/4] Add testcases to list.exp and dfp-test.exp

Message ID 1447142188-20759-4-git-send-email-feij.fnst@cn.fujitsu.com
State New, archived
Headers

Commit Message

Fei Jie Nov. 10, 2015, 7:56 a.m. UTC
  add testcases which test list with more paraments to list.exp, and
    backtrace with parament '-1' to dfp-test.exp

gdb/testsuite/ChangeLog:

    *gdb.base/list.exp: Add new testcases.
    *gdb.base/dfp-test.exp: Likewise.
---
 gdb/testsuite/gdb.base/dfp-test.exp |  1 +
 gdb/testsuite/gdb.base/list.exp     | 49 +++++++++++++++++++++++++++++++++++++
 2 files changed, 50 insertions(+)
  

Comments

Joel Brobecker Dec. 6, 2015, 2:08 p.m. UTC | #1
On Tue, Nov 10, 2015 at 03:56:27PM +0800, Fei Jie wrote:
>     add testcases which test list with more paraments to list.exp, and
>     backtrace with parament '-1' to dfp-test.exp
> 
> gdb/testsuite/ChangeLog:
> 
>     *gdb.base/list.exp: Add new testcases.
>     *gdb.base/dfp-test.exp: Likewise.

Same remarks as in #1 and #2 about "add" -> "Add" and the inaccurate
use of "testcases" instead of "tests. There is also a typo in
"paraments"

You should split the two patches, as the changes are logically
unrelated.

> ---
>  gdb/testsuite/gdb.base/dfp-test.exp |  1 +
>  gdb/testsuite/gdb.base/list.exp     | 49 +++++++++++++++++++++++++++++++++++++
>  2 files changed, 50 insertions(+)
> 
> diff --git a/gdb/testsuite/gdb.base/dfp-test.exp b/gdb/testsuite/gdb.base/dfp-test.exp
> index e648a6b..4caa50e 100644
> --- a/gdb/testsuite/gdb.base/dfp-test.exp
> +++ b/gdb/testsuite/gdb.base/dfp-test.exp
> @@ -220,6 +220,7 @@ gdb_test "backtrace" ".*arg0_64 \\(arg0=0.1, arg1=1.0, arg2=2.0, arg3=3.0, arg4=
>  gdb_breakpoint arg0_128
>  gdb_continue_to_breakpoint "entry to arg0_128"
>  gdb_test "backtrace" ".*arg0_128 \\(arg0=0.1, arg1=1.0, arg2=2.0, arg3=3.0, arg4=4.0, arg5=5.0\\).*" "backtrace at arg0_128"
> +gdb_test "backtrace -1" ".*0x\[0-9\]\{1,16\}.*at\ .*${srcfile}.*"
>  
>  # Test calling inferior function with DFP arguments or return value.
>  
> diff --git a/gdb/testsuite/gdb.base/list.exp b/gdb/testsuite/gdb.base/list.exp
> index 2aea9a3..c79369e 100644
> --- a/gdb/testsuite/gdb.base/list.exp
> +++ b/gdb/testsuite/gdb.base/list.exp
> @@ -624,4 +624,53 @@ test_list "list -" 10 2 "7-8" "5-6"
>  # the current line.
>  test_list "list -" 10 1 "7" "6"
>  
> +# Get main address.
> +set main_addr ""
> +gdb_test_multiple "print/x &main" "getting main's address" {
> +    -re "$decimal = \($hex\)\r\n$gdb_prompt $" {
> +        set main_addr $expect_out(1, string)

I don't think you need the \ before ( and ).

The rest of the testcase looks OK to me.
  

Patch

diff --git a/gdb/testsuite/gdb.base/dfp-test.exp b/gdb/testsuite/gdb.base/dfp-test.exp
index e648a6b..4caa50e 100644
--- a/gdb/testsuite/gdb.base/dfp-test.exp
+++ b/gdb/testsuite/gdb.base/dfp-test.exp
@@ -220,6 +220,7 @@  gdb_test "backtrace" ".*arg0_64 \\(arg0=0.1, arg1=1.0, arg2=2.0, arg3=3.0, arg4=
 gdb_breakpoint arg0_128
 gdb_continue_to_breakpoint "entry to arg0_128"
 gdb_test "backtrace" ".*arg0_128 \\(arg0=0.1, arg1=1.0, arg2=2.0, arg3=3.0, arg4=4.0, arg5=5.0\\).*" "backtrace at arg0_128"
+gdb_test "backtrace -1" ".*0x\[0-9\]\{1,16\}.*at\ .*${srcfile}.*"
 
 # Test calling inferior function with DFP arguments or return value.
 
diff --git a/gdb/testsuite/gdb.base/list.exp b/gdb/testsuite/gdb.base/list.exp
index 2aea9a3..c79369e 100644
--- a/gdb/testsuite/gdb.base/list.exp
+++ b/gdb/testsuite/gdb.base/list.exp
@@ -624,4 +624,53 @@  test_list "list -" 10 2 "7-8" "5-6"
 # the current line.
 test_list "list -" 10 1 "7" "6"
 
+# Get main address.
+set main_addr ""
+gdb_test_multiple "print/x &main" "getting main's address" {
+    -re "$decimal = \($hex\)\r\n$gdb_prompt $" {
+        set main_addr $expect_out(1, string)
+    }
+}
+# Test set listsize to -1.
+set_listsize -1
+
+set_listsize 10
+# Test list with line number.
+gdb_test "list 12" \
+    "7\\s+x = 0.*16\\s+foo \\(x\\+\\+\\);"
+
+# Test list with +.
+gdb_test "list +" \
+    "17\\s+foo \\(x\\+\\+\\).*26\\s+foo \\(x\\+\\+\\);"
+
+# Test list with '+' number.
+gdb_test "list +1" \
+    "23\\s+foo \\(x\\+\\+\\).*32\\s+foo \\(x\\+\\+\\);"
+
+# Test list with starting line number and ','.
+gdb_test "list 20," \
+    "20\\s+foo \\(x\\+\\+\\).*29\\s+foo \\(x\\+\\+\\);"
+
+# Test list with ',' and ending line number.
+gdb_test "list ,25" \
+    "16\\s+foo \\(x\\+\\+\\).*25\\s+foo \\(x\\+\\+\\);"
+
+# Test list with address.
+gdb_test "list *${main_addr}" \
+    "${main_addr} is in main.*${srcfile}.*"
+
+# Test list with '-' last line number.
+gdb_test "list -${last_line}" \
+    "1\\s+#include \"list0.h\".*10\\s+foo \\(x\\+\\+\\);"
+
+# Test list with ',' and a little-out-of-ranged line number.
+set little_past_end [expr ${last_line} + 5 ]
+gdb_test "list ,${little_past_end}" \
+    ".*43\\s+\\} \\/\\* last line \\*\\/"
+
+# Test list with ',' and a much-out-of-ranged line number.
+set much_past_end [expr ${last_line} + 10 ]
+gdb_test "list ,${much_past_end}" \
+    "Line number 44 out of range.*"
+
 remote_exec build "rm -f list0.h"