From cf2ad3e66286c9f3dc8cb6cf74a2af761cb7a49f Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Wed, 6 Oct 2021 11:26:38 +0200 Subject: [PATCH] [gdb/testsuite] Fix FAIL in gdb.tui/corefile-run.exp When running test-case gdb.tui/corefile-run.exp on openSUSE Tumbleweed, I run into: ... PASS: gdb.tui/corefile-run.exp: load corefile FAIL: gdb.tui/corefile-run.exp: run until the end ... What's going on is easier to see when also doing dump_screen if check_contents passes, and inspecting state at the preceding PASS: ... +-------------------------------------------------------------------------+ exec No process In: L?? PC: ?? [New LWP 16629] [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". Core was generated by `/data/gdb_versions/devel/build/gdb/testsuite/output s/gdb.tui/corefile-run/corefi'. Program terminated with signal SIGTRAP, Trace/breakpoint trap. #0 main () --Type for more, q to quit, c to continue without paging-- ... The problem is that we're getting a pagination prompt, and the subsequent run command is interpreted as an answer to that prompt. Fix this by: - detecting the gdb prompt in response to "load corefile", such that we detect the failure earlier, and - doing a "set pagination off" in Term::clean_restart. Tested on x86_64-linux. --- gdb/testsuite/gdb.tui/corefile-run.exp | 2 +- gdb/testsuite/lib/tuiterm.exp | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/gdb/testsuite/gdb.tui/corefile-run.exp b/gdb/testsuite/gdb.tui/corefile-run.exp index f000ff6a93a..d3eaaaf4af9 100644 --- a/gdb/testsuite/gdb.tui/corefile-run.exp +++ b/gdb/testsuite/gdb.tui/corefile-run.exp @@ -54,7 +54,7 @@ gdb_assert {![string match "No Source Available" $text]} \ "initial source listing" Term::command "core-file $core" -Term::check_contents "load corefile" "21 *return 0" +Term::check_contents "load corefile" "21 *return 0.*$gdb_prompt .*" Term::command "run" Term::check_contents "run until the end" \ diff --git a/gdb/testsuite/lib/tuiterm.exp b/gdb/testsuite/lib/tuiterm.exp index 149b7515d49..8ab8d07b545 100644 --- a/gdb/testsuite/lib/tuiterm.exp +++ b/gdb/testsuite/lib/tuiterm.exp @@ -595,6 +595,7 @@ namespace eval Term { } else { ::clean_restart $executable } + ::gdb_test_no_output "set pagination off" } } -- 2.30.2