]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
[gdb/testsuite] Fix gdb.rust/completion.exp timeout on riscv64-linux
authorTom de Vries <tdevries@suse.de>
Fri, 10 Jan 2025 07:53:29 +0000 (08:53 +0100)
committerTom de Vries <tdevries@suse.de>
Fri, 10 Jan 2025 07:53:29 +0000 (08:53 +0100)
On riscv64-linux, with test-case gdb.rust/completion.exp I run into the
following timeout:
...
(gdb) complete break pars^M
FAIL: gdb.rust/completion.exp: complete break pars (timeout)
...

Replaying the scenario outside the testsuite show us that the command takes
~13 seconds:
...
$ gdb -q -batch -x gdb.in
  ...
2025-01-08 12:23:46.853 - command started
+complete break pars
break parse.rs
break parse_printf_format
break parse_running_mmaps_unix.rs
break parser.rs
2025-01-08 12:23:59.600 - command finished
Command execution time: 12.677752 (cpu), 12.748565 (wall)
...
while the timeout is 10 seconds.

The riscv64 processor on the server (cfarm91) is not fast (a fair amount of
the skip_huge_test test-cases times out), but something else is going on as
well.

For x86_64-linux, roughly measuring the size of debug info in the exec get us:
...
$ readelf -wi outputs/gdb.rust/completion/completion | wc -l
2007
...
while on the riscv64 server I get:
...
$ readelf -wi outputs/gdb.rust/completion/completion | wc -l
1606950
...

So it seems reasonable that the test is somewhat slower on riscv64.

Fix this by using timeout factor 2.

Tested on riscv64-linux and x86_64-linux.

Approved-By: Tom Tromey <tom@tromey.com>
gdb/testsuite/gdb.rust/completion.exp

index 02fbdcdf92c2814f36ffce8e81a8b1f340f304d0..1b0638ad21a344244f11aa055f7fc2d10862c996 100644 (file)
@@ -31,4 +31,6 @@ if {![runto ${srcfile}:$line]} {
     return -1
 }
 
-gdb_test "complete break pars" ".*"
+with_timeout_factor 2 {
+    gdb_test "complete break pars" ".*"
+}