list.exp: Catch "set listsize" failures (and "set listsize -1/0"'s history).

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".
This commit is contained in:
Pedro Alves 2013-03-28 11:55:40 +00:00
parent 92eb40d9df
commit 15b3979c24
2 changed files with 6 additions and 1 deletions

View 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"

View 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 } {