binutils-gdb/gdb/testsuite/lib/prompt.exp
Andrew Burgess 1d506c26d9 Update copyright year range in header of all files managed by GDB
This commit is the result of the following actions:

  - Running gdb/copyright.py to update all of the copyright headers to
    include 2024,

  - Manually updating a few files the copyright.py script told me to
    update, these files had copyright headers embedded within the
    file,

  - Regenerating gdbsupport/Makefile.in to refresh it's copyright
    date,

  - Using grep to find other files that still mentioned 2023.  If
    these files were updated last year from 2022 to 2023 then I've
    updated them this year to 2024.

I'm sure I've probably missed some dates.  Feel free to fix them up as
you spot them.
2024-01-12 15:49:57 +00:00

100 lines
3 KiB
Text

# Copyright (C) 2011-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/>.
# Specialized subroutines for launching gdb and testing the very first prompt.
#
# start gdb -- start gdb running, prompt procedure
# this procedure differs from the default in that you must pass 'set height 0',
# and 'set width 0', yourself in GDBFLAGS, and it has a gdb_prompt_fail variable,
#
# uses pass if it sees $gdb_prompt, and fail if it sees $gdb_prompt_fail.
#
proc default_prompt_gdb_start { } {
global use_gdb_stub
global GDB
global INTERNAL_GDBFLAGS GDBFLAGS
global gdb_prompt
global gdb_prompt_fail
global timeout
global gdb_spawn_id
# Set the default value, it may be overriden later by specific testfile.
#
# Use `set_board_info use_gdb_stub' for the board file to flag the inferior
# is already started after connecting and run/attach are not supported.
# This is used for the "remote" protocol. After GDB starts you should
# check global $use_gdb_stub instead of the board as the testfile may force
# a specific different target protocol itself.
set use_gdb_stub [target_info exists use_gdb_stub]
verbose "Spawning $GDB $INTERNAL_GDBFLAGS $GDBFLAGS"
gdb_write_cmd_file "$GDB $INTERNAL_GDBFLAGS $GDBFLAGS"
if [info exists gdb_spawn_id] {
return 0
}
if ![is_remote host] {
if {[which $GDB] == 0} {
perror "$GDB does not exist."
exit 1
}
}
set res [remote_spawn host "$GDB $INTERNAL_GDBFLAGS $GDBFLAGS [host_info gdb_opts]"]
if { $res < 0 || $res == "" } {
perror "Spawning $GDB failed."
return 1
}
gdb_expect 360 {
-re ".*$gdb_prompt_fail.*$gdb_prompt_fail.*" {
fail "double prompted fail prompt"
}
-re ".*$gdb_prompt.*$gdb_prompt.*" {
fail "double prompted"
}
-re "\[\r\n\]$gdb_prompt_fail $" {
fail "GDB initializing first prompt"
}
-re "\[\r\n\]$gdb_prompt $" {
pass "GDB initializing first prompt"
}
-re "$gdb_prompt $" {
perror "GDB never initialized."
return -1
}
-re "$gdb_prompt_fail $" {
perror "GDB never initialized."
return -1
}
timeout {
perror "(timeout) GDB never initialized after 10 seconds."
remote_close host
return -1
}
}
set gdb_spawn_id $res
return 0
}
#
# Overridable function. You can override this function in your
# baseboard file.
#
proc prompt_gdb_start { } {
default_prompt_gdb_start
}