[gdb/testsuite] Add warning for timeout in accept_gdb_output
authorTom de Vries <tdevries@suse.de>
Tue, 25 Apr 2023 06:33:56 +0000 (08:33 +0200)
committerTom de Vries <tdevries@suse.de>
Tue, 25 Apr 2023 06:33:56 +0000 (08:33 +0200)
In accept_gdb_output we have:
...
            timeout {
                # Assume a timeout means we somehow missed the
                # expected result, and carry on.
                return 0
            }
...

The timeout is silent, and though in some places the return value is checked,
this is not done consistently, and consequently there are silent timeouts
when running the TUI testsuite (gdb.tui/*.exp and gdb.python/tui*.exp).

Each timeout is 10 seconds, and there are 5 in total in the TUI tests, taking
50 seconds overall:
...
real    1m0.275s
user    0m10.440s
sys     0m1.343s
...

With an entire testsuite run taking about 30 minutes, that is about 2.5% of
the time spent waiting in TUI tests.

Let's make the timeouts visible using a warning, such that they can be fixed.

Tested on x86_64-linux.

gdb/testsuite/lib/tuiterm.exp

index 05edfe9a5b1b07d73e5d6fb573748822aebcd5bd..ff38af082dab97dd6f44c60ffaf410ba91e36d3d 100644 (file)
@@ -707,6 +707,8 @@ namespace eval Term {
            timeout {
                # Assume a timeout means we somehow missed the
                # expected result, and carry on.
+               warning "timeout in accept_gdb_output"
+               dump_screen
                return 0
            }
        }