# Copyright 2023-2024 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. tuiterm_env Term::clean_restart 24 80 if {![Term::enter_tui]} { unsupported "TUI not supported" return } set status_win { 0 15 80 1 } set command_win { 0 16 80 8 } # Check that the status window doesn't show Singlekey. set re [string_to_regexp "No process (src) In:"] Term::check_region_contents "status window: initial" {*}$status_win $re # Enter single-key mode. Check that the status window does show Singlekey. send_gdb "\030s" set re [string_to_regexp "No process (SingleKey) (src) In:"] gdb_assert { [Term::wait_for_region_contents {*}$status_win $re] } \ "status window: single-key mode" # Send "down command". send_gdb "d" gdb_assert { [Term::wait_for_region_contents {*}$command_win "No stack\\."] } \ "down using single-key d" # Quit single-key mode. send_gdb "q" gdb_assert { [Term::wait_for ""] } "quit using single-key q" # Enter single-key mode, again. send_gdb "\030s" # Send string that doesn't start with a single-key. send_gdb "abc" set re "$gdb_prompt abc" gdb_assert { [Term::wait_for_region_contents {*}$command_win $re] } \ "temporary command prompt" # Enter undefined command abc, and back to single-key mode. send_gdb "\n" # Exit single-key mode, now using C-x s. send_gdb "\030s" gdb_assert { [Term::wait_for ""] } "quit using C-x s"