list.exp: Catch "set listsize" failures (and "set listsize -1/0"'s history).
authorPedro Alves <palves@redhat.com>
Thu, 28 Mar 2013 11:55:40 +0000 (11:55 +0000)
committerPedro Alves <palves@redhat.com>
Thu, 28 Mar 2013 11:55:40 +0000 (11:55 +0000)
Before the changes starting at
<http://sourceware.org/ml/gdb-patches/2012-08/msg00020.html>, the 'set
listsize' command only accepted "0" as special value, meaning
"unlimited".  The testsuite actually tried "set listsize -1" and
expected that to mean unlimited too.

If you tried testing list.exp at the time of that patch above,
you'd get:

  (gdb) PASS: gdb.base/list.exp: list line 10 with listsize 100
  set listsize 0
  (gdb) PASS: gdb.base/list.exp: setting listsize to 0 #6
  show listsize
  Number of source lines gdb will list by default is unlimited.
  (gdb) PASS: gdb.base/list.exp: show listsize unlimited #6
  list 1
  1       #include "list0.h"
  2
  ...
  42          /* Not used for anything */
  43      }
  (gdb) PASS: gdb.base/list.exp: listsize of 0 suppresses output
  set listsize -1
  integer 4294967295 out of range
  (gdb) PASS: gdb.base/list.exp: setting listsize to -1 #7
  show listsize
  Number of source lines gdb will list by default is unlimited.
  (gdb) PASS: gdb.base/list.exp: show listsize unlimited #7
  list 1
  1       #include "list0.h"

Notice that "set listsize -1" actually failed with "integer 4294967295
out of range", but we issued a PASS anyway.

(and notice how the "listsize of 0 suppresses output" test passes bogusly too.)

This patch fixes that testsuite problem in the obvious way.

gdb/testsuite/
2013-03-28  Pedro Alves  <palves@redhat.com>

* gdb.base/list.exp (set_listsize): Use gdb_test_no_output for
"set listsize".

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/list.exp

index 9978153..69684ef 100644 (file)
@@ -1,3 +1,8 @@
+2013-03-28  Pedro Alves  <palves@redhat.com>
+
+       * gdb.base/list.exp (set_listsize): Use gdb_test_no_output for
+       "set listsize".
+
 2013-03-26  Keith Seitz  <keiths@redhat.com>
 
        * gdb.base/dprintf.exp: Fix typo preventing "dprintf info 2"
index d1bdeee..8684b0c 100644 (file)
@@ -58,7 +58,7 @@ proc set_listsize { arg } {
     global set_listsize_count;
 
     incr set_listsize_count;
-    if [gdb_test "set listsize $arg" ".*" "setting listsize to $arg #$set_listsize_count"] {
+    if [gdb_test_no_output "set listsize $arg" "setting listsize to $arg #$set_listsize_count"] {
        return 0
     }
     if { $arg < 0 } {