# Copyright 2022 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 . # Test 'info win'. tuiterm_env standard_testfile Term::clean_restart 24 80 if {![Term::enter_tui]} { unsupported "TUI not supported" return } Term::command "layout src" Term::command "info win" Term::check_region_contents "info win, layout src" \ 0 16 80 8 [multi_line "info win\\s+" \ "Name\\s+Lines\\s+Columns\\s+Focus\\s+" \ "src\\s+15\\s+80\\s+\\(has focus\\)\\s+" \ "status\\s+1\\s+80\\s+" \ "cmd\\s+8\\s+80\\s+"] Term::command "tui new-layout h { -horizontal src 1 asm 1 } 1 status 0 cmd 1" Term::command "layout h" Term::command "winheight cmd + 3" # As the tuiterm.exp library just waits for the prompt and command to # be echo'ed bcak to the screen, multiple 'info win' calls like this # have a problem. Dejagnu will send the command to gdb, but will then # immediately see the '(gdb) info win' output from the first use # above. This means we end up rushing ahead, and some tests might # fail. # # To work around this, I'm sending a unique command 'p 1' here, that # only happens after the second 'info win' call. When the 'p 1' # completes, I know the second 'info win' has also completed. Term::command "info win" Term::command "p 1" Term::check_region_contents "info win, layout h" \ 0 13 80 11 [multi_line "info win\\s+" \ "Name\\s+Lines\\s+Columns\\s+Focus\\s+" \ "src\\s+12\\s+40\\s+\\(has focus\\)\\s+" \ "asm\\s+12\\s+41\\s+" \ "status\\s+1\\s+80\\s+" \ "cmd\\s+11\\s+80\\s+"]