| # Copyright (C) 2011-2017 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/>. |
| |
| standard_testfile .c |
| set inputrc ${srcdir}/${subdir}/${testfile}.inputrc |
| |
| if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" object {debug}] != "" } { |
| untested "failed to compile" |
| return -1 |
| } |
| |
| # INPUTRC gets reset for the next testfile. |
| setenv INPUTRC $inputrc |
| clean_restart ${binfile} |
| |
| if { ![readline_is_used] } { |
| unsupported "completion doesn't work when readline isn't used." |
| return -1 |
| } |
| |
| gdb_test_no_output "set width 50" |
| gdb_test_no_output "set height 3" |
| |
| set cmd "p symbol_0" |
| send_gdb "$cmd\t" |
| set test "bell for more message" |
| gdb_test_multiple "" $test { |
| -re "$cmd\007$" { |
| pass $test |
| } |
| } |
| |
| send_gdb "\t" |
| set test "more message for 01 and 02" |
| gdb_test_multiple "" $test { |
| -re "^\r\nsymbol_01_length_40_____________________\r\nsymbol_02_length_40_____________________\r\n--More--$" { |
| pass $test |
| } |
| -re "$gdb_prompt " { |
| fail $test |
| } |
| } |
| |
| # There get some VT100 characters printed. |
| |
| send_gdb "\r" |
| set test "more message for 03" |
| gdb_test_multiple "" $test { |
| -re "\rsymbol_03_length_40_____________________\r\n--More--$" { |
| pass $test |
| } |
| } |
| |
| # "$gdb_prompt $" will not match as $cmd gets output: $gdb_prompt p symbol_0 |
| # And "$gdb_prompt p symbol_0" cannot be matched as the default "$gdb_prompt $" |
| # string from gdb_test_multiple could match earlier. |
| |
| send_gdb "\r" |
| set test "more finish for 04" |
| gdb_test_multiple "" $test { |
| -re "\rsymbol_04_length_40_____________________\r\n$gdb_prompt " { |
| pass $test |
| } |
| } |
| |
| gdb_test "foo" {No symbol "symbol_0foo" in current context\.} "abort more message" |
| |
| set cmd "p symbol_" |
| send_gdb "$cmd\t" |
| set test "bell for ask message" |
| gdb_test_multiple "" $test { |
| -re "$cmd\007$" { |
| pass $test |
| } |
| } |
| |
| send_gdb "\t" |
| set test "ask message" |
| gdb_test_multiple "" $test { |
| -re "^\r\nDisplay all 5 possibilities\\? \\(y or n\\)$" { |
| pass $test |
| } |
| -re "$gdb_prompt " { |
| fail $test |
| return 0 |
| } |
| } |
| |
| send_gdb "y" |
| set test "ask message for 01 and 02" |
| gdb_test_multiple "" $test { |
| -re "^\r\nsymbol_01_length_40_____________________\r\nsymbol_02_length_40_____________________\r\n--More--$" { |
| pass $test |
| } |
| } |
| |
| # There get some VT100 characters printed. |
| # See the "$gdb_prompt " match like in "more finish for 04". |
| |
| send_gdb "n" |
| set test "ask message no" |
| gdb_test_multiple "" $test { |
| -re "\r$gdb_prompt " { |
| pass $test |
| } |
| } |
| |
| gdb_test "foo" {No symbol "symbol_foo" in current context\.} "abort ask message" |