Go to file
Tom de Vries 628b136d64 [gdb/testsuite] Fix timeout in gdb.tui/resize-2.exp
When running test-case gdb.tui/resize-2.exp with taskset -c 0, I sometimes run
into:
...
tui disable^[[40;1H^M(gdb) PASS: $exp: tui disable
^M^[[K(gdb) FAIL: $exp: two prompt redisplays after resize (timeout)
...

The test-case does "Term::resize 24 80 0" while having the settings of an
earlier "Term::resize 40 90", so both dimensions change.

When TUI is enabled, we call Term::resize with wait_for_msg == 1, and the proc:
- calls stty to change one dimension,
- waits for the message (enabled by "maint set tui-resize-message on")
  confirming the resize has happened,
- calls stty to change the other dimension, and again
- waits for the message confirming the resize has happened.

Since TUI is disabled, we call Term::resize with wait_for_msg == 0 because the
message is not printed, so stty is called twice, and afterwards we check for
the results of the two resizes, which is the test that is failing.

The problem is that not waiting for a response after each stty call opens up
the possibility of the responses being merged.

Fix this by calling Term::resize twice, changing one dimension at a time, and
waiting for a single prompt redisplay after each one.

Tested on x86_64-linux.

Reviewed-By: Alexandra Petlanova Hajkova <ahajkova@redhat.com>

PR testsuite/31822
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31822
2024-06-03 07:49:24 +02:00
bfd Automatic date update in version.in 2024-06-03 00:00:18 +00:00
binutils Update binutils release documentation to include using the -z option when invoking src-release.sh 2024-05-30 12:52:37 +01:00
config
contrib
cpu
elfcpp
etc
gas aarch64, testsuite: avoid regexes in opcode field 2024-05-31 15:31:12 +01:00
gdb [gdb/testsuite] Fix timeout in gdb.tui/resize-2.exp 2024-06-03 07:49:24 +02:00
gdbserver Stop 'configure --enable-threading' if std::thread doesn't work 2024-05-16 13:03:58 +01:00
gdbsupport Stop 'configure --enable-threading' if std::thread doesn't work 2024-05-16 13:03:58 +01:00
gnulib
gold
gprof
gprofng gprofng: use StringBuilder to create long messages 2024-05-21 19:54:59 -07:00
include gas, aarch64: Add SVE2 lut extension 2024-05-28 17:28:29 +01:00
ld aarch64: Add some DT_RELR ld tests 2024-05-31 09:47:50 +01:00
libbacktrace
libctf libctf testsuite compilation failure 2024-05-23 08:11:12 +09:30
libdecnumber
libiberty
libsframe
opcodes x86/Intel: warn about undue mnemonic suffixes 2024-05-29 10:03:00 +02:00
readline
sim sim: riscv: Fix build issue due to recent binutils commit 2024-05-09 17:04:14 +02:00
texinfo
zlib
.cvsignore
.editorconfig
.gitattributes
.gitignore .gitignore: ignore .vscode 2024-05-30 12:09:35 +01:00
.pre-commit-config.yaml gdb: bump black version to 24.4.2 2024-05-16 11:34:40 -04:00
ar-lib
ChangeLog
compile
config-ml.in
config.guess
config.rpath
config.sub
configure
configure.ac
COPYING
COPYING3
COPYING3.LIB
COPYING.LIB
COPYING.LIBGLOSS
COPYING.NEWLIB
depcomp
djunpack.bat
install-sh
libtool.m4
lt~obsolete.m4
ltgcc.m4
ltmain.sh
ltoptions.m4
ltsugar.m4
ltversion.m4
MAINTAINERS
Makefile.def
Makefile.in
Makefile.tpl
makefile.vms
missing
mkdep
mkinstalldirs
move-if-change
multilib.am
README
README-maintainer-mode
SECURITY.txt
setup.com
src-release.sh src-release.sh: Support zstd compression 2024-05-30 12:50:11 +01:00
symlink-tree
test-driver
ylwrap

		   README for GNU development tools

This directory contains various GNU compilers, assemblers, linkers, 
debuggers, etc., plus their support routines, definitions, and documentation.

If you are receiving this as part of a GDB release, see the file gdb/README.
If with a binutils release, see binutils/README;  if with a libg++ release,
see libg++/README, etc.  That'll give you info about this
package -- supported targets, how to use it, how to report bugs, etc.

It is now possible to automatically configure and build a variety of
tools with one command.  To build all of the tools contained herein,
run the ``configure'' script here, e.g.:

	./configure 
	make

To install them (by default in /usr/local/bin, /usr/local/lib, etc),
then do:
	make install

(If the configure script can't determine your type of computer, give it
the name as an argument, for instance ``./configure sun4''.  You can
use the script ``config.sub'' to test whether a name is recognized; if
it is, config.sub translates it to a triplet specifying CPU, vendor,
and OS.)

If you have more than one compiler on your system, it is often best to
explicitly set CC in the environment before running configure, and to
also set CC when running make.  For example (assuming sh/bash/ksh):

	CC=gcc ./configure
	make

A similar example using csh:

	setenv CC gcc
	./configure
	make

Much of the code and documentation enclosed is copyright by
the Free Software Foundation, Inc.  See the file COPYING or
COPYING.LIB in the various directories, for a description of the
GNU General Public License terms under which you can copy the files.

REPORTING BUGS: Again, see gdb/README, binutils/README, etc., for info
on where and how to report problems.