Avoid readline conflicts in pexpect

In some cases, sensitive to readline version and the user's
environment, gdb might emit escape codes while run under python's
pexpect (i.e. testing pretty printers).  This patch, suggested
by Jan, helps isolate the test from the user's environment.

Tested on RHEL 7 x86_64 with DTS 7 and EPEL, which is one
magic combination of components that triggers this bug.
This commit is contained in:
Jan Kratochvil 2019-02-08 13:49:19 -05:00 committed by DJ Delorie
parent 712182c8dc
commit 56a731d4ad
2 changed files with 9 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2019-02-14 Jan Kratochvil <jan.kratochvil@redhat.com>
* scripts/test_printers_common.py: Set TERM to a known harmless
value.
2019-02-14 Joseph Myers <joseph@codesourcery.com>
* sunrpc/xdr.c (xdr_int): Add fall-through comment.

View File

@ -60,6 +60,10 @@ TIMEOUTFACTOR = os.environ.get('TIMEOUTFACTOR')
if TIMEOUTFACTOR:
timeout = int(TIMEOUTFACTOR)
# Otherwise GDB is run in interactive mode and readline may send escape
# sequences confusing output for pexpect.
os.environ["TERM"]="dumb"
try:
# Check the gdb version.
version_cmd = '{0} --version'.format(gdb_invocation, timeout=timeout)