aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.tui/main.exp
blob: 8664206e30ba3de46b9f1054448684bd7e275ddf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# Copyright 2019-2023 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/>.

# Test that "file" shows "main".

require allow_tui_tests

tuiterm_env

standard_testfile tui-layout.c

if {[build_executable "failed to prepare" ${testfile} ${srcfile}] == -1} {
    return -1
}

# Note: don't pass the executable here
Term::clean_restart 24 80

set line "  return 0;"
set nr [gdb_get_line_number $line]

# Later on we'd like to avoid having to answer a question.
gdb_test_no_output "set interactive-mode off"

# Show the left margin using tui-left-margin-verbose.
gdb_test_no_output "maint set tui-left-margin-verbose on"

if {![Term::enter_tui]} {
    unsupported "TUI not supported"
    return
}

send_gdb "file [standard_output_file $testfile]\n"
gdb_assert { [Term::wait_for "Reading symbols from"] } "file command"
Term::check_contents "show main after file" \
    [string_to_regexp "|___[format %06d $nr]_$line"]

# Ensure that "file" clears the source window.
Term::command "file"
Term::check_contents "file clears window" "No Source Available"