testsuite: expect possible pagination when starting gdb
authorSimon Marchi <simon.marchi@ericsson.com>
Mon, 15 Dec 2014 16:46:44 +0000 (11:46 -0500)
committerSimon Marchi <simon.marchi@ericsson.com>
Mon, 15 Dec 2014 16:46:44 +0000 (11:46 -0500)
commite882ef3cfc3d991433c3b9aed104961ad3ce5904
tree022d5225927a7706fa7c209ddfd3f7fb8a97e6ae
parent38bcc89d48a20af944fe0d51eff3980f7dc8a88e
testsuite: expect possible pagination when starting gdb

When gdb starts, the lines that appear before the first prompt may get
paginated if the terminal in which the tests are ran is too small (in
terms of rows). These lines include the welcome/license message and
possibly more, such as "Reading symbols from...". Pagination is disabled
right after gdb is started (with "set height 0"), but this output happens
before we are able to set height.

If these lines get paginated, gdb waits for the user to press enter and
the test harness waits for gdb to print its prompt, resulting in a
deadlock.

My first idea was to launch gdb with --quiet. However, some lines are
still printed ("Reading symbols from...", some more stuff when attaching
with --pid, etc).

The proposed solution simply expects that pagination can occur after
starting gdb. If this is the case, it sends a "\n" and loops.

gdb/testsuite/Changelog:

* lib/gdb.exp (default_gdb_start): After starting gdb, loop
as long as we get pagination notifications.
gdb/testsuite/ChangeLog
gdb/testsuite/lib/gdb.exp