[testsuite] Fix tiemout fail in gdb.fortran/vla-value.exp
authorYao Qi <yao.qi@linaro.org>
Thu, 28 Jan 2016 14:27:48 +0000 (14:27 +0000)
committerYao Qi <yao.qi@linaro.org>
Thu, 28 Jan 2016 14:27:48 +0000 (14:27 +0000)
In vla.f90, this single line of source is compiled to many instructions,

  vla2(:, :, :) = 1311                ! vla2-allocated

it is quite slow (about several minutes in my testing) to step over this
source line without range stepping.  This patch is to increase the timeout
value by 15 times, which is a magic number to make sure timeout disappears
in my testing with a slow arm-linux board.

gdb/testsuite:

2016-01-28  Yao Qi  <yao.qi@linaro.org>

* gdb.fortran/vla-value.exp: Wrap test with with_timeout_factor.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.fortran/vla-value.exp

index ef4b046..820ae00 100644 (file)
@@ -1,3 +1,7 @@
+2016-01-28  Yao Qi  <yao.qi@linaro.org>
+
+       * gdb.fortran/vla-value.exp: Wrap test with with_timeout_factor.
+
 2016-01-25  Pedro Alves  <palves@redhat.com>
 
        PR threads/19461
index 6c6a484..0945181 100644 (file)
@@ -43,8 +43,13 @@ gdb_test "print vla1(5,2,18)=1" "no such vector element \\\(vector not allocated
 # Try to access value in allocated VLA
 gdb_breakpoint [gdb_get_line_number "vla2-allocated"]
 gdb_continue_to_breakpoint "vla2-allocated"
-gdb_test "next" "\\d+(\\t|\\s)+vla1\\\(3, 6, 9\\\) = 42" \
-  "step over value assignment of vla1"
+# Many instructions to be executed when step over this line, and it is
+# slower in remote debugging.  Increase the timeout to avoid timeout
+# fail.
+with_timeout_factor 15 {
+    gdb_test "next" "\\d+(\\t|\\s)+vla1\\\(3, 6, 9\\\) = 42" \
+       "step over value assignment of vla1"
+}
 gdb_test "print &vla1" \
   " = \\\(PTR TO -> \\\( real\\\(kind=4\\\) \\\(10,10,10\\\)\\\)\\\) $hex" \
   "print allocated &vla1"
@@ -125,7 +130,12 @@ if ![runto MAIN__] then {
 }
 gdb_breakpoint [gdb_get_line_number "vla2-allocated"]
 gdb_continue_to_breakpoint "vla2-allocated"
-gdb_test "next" "\\d+.*vla1\\(3, 6, 9\\) = 42" "next (1)"
+# Many instructions to be executed when step over this line, and it is
+# slower in remote debugging.  Increase the timeout to avoid timeout
+# fail.
+with_timeout_factor 15 {
+    gdb_test "next" "\\d+.*vla1\\(3, 6, 9\\) = 42" "next (1)"
+}
 
 gdb_test_no_output "set \$myvar = vla1" "set \$myvar = vla1"
 gdb_test "print \$myvar" \