From: Tom de Vries Date: Mon, 26 Oct 2020 15:05:15 +0000 (+0100) Subject: [gdb/testsuite] Prevent pagination in GDB_INTERNALFLAGS X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=55c3ad88013;p=binutils-gdb.git [gdb/testsuite] Prevent pagination in GDB_INTERNALFLAGS When running test-case gdb.base/corefile.exp with target board readnow, we run into: ... Reading symbols from outputs/gdb.base/corefile/corefile...^M Expanding full symbols from outputs/gdb.base/corefile/corefile...^M [New LWP 2293]^M Core was generated by `outputs/gdb.base/corefile/co'.^M Program terminated with signal SIGABRT, Aborted.^M --Type for more, q to quit, c to continue without paging--\ FAIL: gdb.base/corefile.exp: (timeout) starting with -core ... In commit bd447abb24 "Make gdb.base/corefile.exp work on terminals with few rows", pagination (in the same test-case) is prevented using: ... set stty_init "rows 25 cols 80" ... but this doesn't work in our case because using -readnow adds an extra line "Expanding full symbols". The test passes when increasing rows to 26. However, increasing the rows by some n only fixes the problem for n lines, and things will break again if somehow we end up with n + 1 lines. Instead, fix this by setting heigth and width in INTERNAL_GDBFLAGS. This solution was not chosen in commit bd447abb24 because it doesn't handle pagination due to the introduction text. But it does handle the pagination due to the extra "Expanding full symbols", and any other line printed during and after file loading. Tested on x86_64-linux, with and without readnow. With -readnow, fixes timeout FAILs in gdb.base/corefile.exp and gdb.base/reread-readsym.exp. gdb/testsuite/ChangeLog: 2020-10-26 Tom de Vries * lib/gdb.exp (INTERNAL_GDBFLAGS): Set heigth and width. --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 60bbd8a8696..11b0f5bf2db 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2020-10-26 Tom de Vries + + * lib/gdb.exp (INTERNAL_GDBFLAGS): Set heigth and width. + 2020-10-26 Tom de Vries * gdb.dwarf2/dw2-objfile-overlap-inner.S: Specify default base address diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index f53df59f181..197542eec3b 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -124,7 +124,13 @@ set BUILD_DATA_DIRECTORY "[pwd]/../data-directory" # INTERNAL_GDBFLAGS contains flags that the testsuite requires. global INTERNAL_GDBFLAGS if ![info exists INTERNAL_GDBFLAGS] { - set INTERNAL_GDBFLAGS "-nw -nx -data-directory $BUILD_DATA_DIRECTORY" + set INTERNAL_GDBFLAGS \ + [join [list \ + "-nw" \ + "-nx" \ + "-data-directory $BUILD_DATA_DIRECTORY" \ + {-iex "set height 0"} \ + {-iex "set width 0"}]] } # The variable gdb_prompt is a regexp which matches the gdb prompt.