Increase timeout in watch-bitfields.exp for software watchpoint
authorYao Qi <yao.qi@linaro.org>
Wed, 15 Apr 2015 11:46:58 +0000 (12:46 +0100)
committerYao Qi <yao.qi@linaro.org>
Wed, 15 Apr 2015 11:46:58 +0000 (12:46 +0100)
commit45fd756cafe258b9792b86e1f5df823ec0b848b4
treeb5b92571334a99e4481e13a596e5cf9788e4b8f2
parent78e9aa70febc3985a2c88dbc0c7a87d214231c3d
Increase timeout in watch-bitfields.exp for software watchpoint

I see the following two timeout fails on pandaboard (arm-linux target),

 FAIL: gdb.base/watch-bitfields.exp: -location watch against bitfields: continue until exit (timeout)
 FAIL: gdb.base/watch-bitfields.exp: regular watch against bitfields: continue until exit (timeout)

In this test, more than one watchpoint is used, so the following
watchpoint requests fall back to software watchpoint, so that GDB
will single step all the way and it is very slow.

This patch is to copy the fix from

  [PATCH] GDB/testsuite: Correct gdb.base/watchpoint-solib.exp timeout tweak
  https://sourceware.org/ml/gdb-patches/2014-07/msg00716.html

I find the left-over of this patch review is to factor out code into
a procedure, so I do that in this patch.

Re-run tests watch-bitfields.exp, watchpoint-solib.exp, sigall-reverse.exp,
and until-precsave.exp on pandaboard, no regression.

gdb/testsuite:

2015-04-15  Pedro Alves  <palves@redhat.com>
    Yao Qi  <yao.qi@linaro.org>

* gdb.base/watch-bitfields.exp (test_watch_location): Increase
timeout by factor of 4.
(test_regular_watch): Likewise.
* gdb.base/watchpoint-solib.exp: Use with_timeout_factor.
* gdb.reverse/sigall-reverse.exp: Likewise.
* gdb.reverse/until-precsave.exp: Likewise.
* lib/gdb.exp (with_timeout_factor): New proc.
(gdb_expect): Move some code to ...
(get_largest_timeout): ... here.  New procedure.
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/watch-bitfields.exp
gdb/testsuite/gdb.base/watchpoint-solib.exp
gdb/testsuite/gdb.reverse/sigall-reverse.exp
gdb/testsuite/gdb.reverse/until-precsave.exp
gdb/testsuite/lib/gdb.exp