Files
binutils-gdb/gdb/testsuite/gdb.base/document.exp
Rae Kim a33fc9aed4 gdb: multi-line support for "document" command
"document" command executed in python, gdb.execute("document
<comname>\n...\nend\n"), will wait for user input. Python extension stops
working from that point.

multi-line suport was introduced in commit 56bcdbea2. But "document" support
seem to be implemented.

gdb/ChangeLog:

2020-12-02  Rae Kim  <rae.kim@gmail.com>

	* cli/cli-script.c (do_document_command): Rename from
	document_command. Handle multi-line input.
	(multi_line_command_p): Handle document_control.
	(build_command_line): Likewise.
	(execute_control_command_1): Likewise.
	(process_next_line): Likewise.
	(document_command): Call do_document_command.
	* cli/cli-script.h (enum command_control_type): Add
	document_control.

gdb/testsuite/ChangeLog:

2020-12-02  Rae Kim  <rae.kim@gmail.com>
	* gdb.base/document.exp: New test.

Change-Id: Ice262b980c05051de4c106af9f3fde5b2a6df6fe
2020-12-15 23:04:04 -05:00

31 lines
1.2 KiB
Plaintext

# Copyright 1998-2020 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 break.c break1.c
if {[prepare_for_testing "failed to prepare" ${testfile} \
[list $srcfile $srcfile2] {debug nowarnings}]} {
return -1
}
# test document command used within user command.
gdb_test_multiple "define do-document" "" {
-re "Type commands for definition of \"do-document\".\r\nEnd with a line saying just \"end\".\r\n>$" {
gdb_test "document do-document\nusage: do-document\nend\nend" "" "define do-document"
}
}
gdb_test_no_output "do-document" "invoke do-document"
gdb_test "help do-document" "usage: do-document" "invoke help do-document"