mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-12 12:16:04 +08:00
4a94e36819
This commit brings all the changes made by running gdb/copyright.py as per GDB's Start of New Year Procedure. For the avoidance of doubt, all changes in this commits were performed by the script.
76 lines
2.3 KiB
Plaintext
76 lines
2.3 KiB
Plaintext
# This testcase is part of GDB, the GNU debugger.
|
|
|
|
# Copyright 2015-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 <http://www.gnu.org/licenses/>.
|
|
|
|
# Test starting gdbserver passing it the name of a non-existing
|
|
# program.
|
|
|
|
load_lib gdbserver-support.exp
|
|
|
|
standard_testfile
|
|
|
|
if { [skip_gdbserver_tests] } {
|
|
return 0
|
|
}
|
|
|
|
set gdbserver [find_gdbserver]
|
|
if { $gdbserver == "" } {
|
|
fail "could not find gdbserver"
|
|
return
|
|
}
|
|
|
|
# Fire off gdbserver. The port doesn't really matter, gdbserver tries
|
|
# to spawn the program before opening the connection.
|
|
set spawn_id [remote_spawn target "$gdbserver stdio non-existing-program"]
|
|
|
|
set msg "gdbserver exits cleanly"
|
|
set saw_exiting 0
|
|
expect {
|
|
# This is what we get on ptrace-based targets with
|
|
# startup-with-shell disabled (e.g., when the SHELL variable is
|
|
# unset).
|
|
-re "stdin/stdout redirected.*gdbserver: Cannot exec non-existing-program\r\ngdbserver: Error: No such file or directory\r\n\r\nDuring startup program exited with code 127\.\r\nExiting\r\n$" {
|
|
set saw_exiting 1
|
|
exp_continue
|
|
}
|
|
# Likewise, but with startup-with-shell enabled, which is the
|
|
# default behaviour.
|
|
-re "stdin/stdout redirected.*exec: non-existing-program: not found\r\nDuring startup program exited with code 127\.\r\nExiting\r\n$" {
|
|
set saw_exiting 1
|
|
exp_continue
|
|
}
|
|
# This is what we get on Windows.
|
|
-re "Error creating process\r\n\r\nExiting\r\n$" {
|
|
set saw_exiting 1
|
|
exp_continue
|
|
}
|
|
-re "A problem internal to GDBserver has been detected" {
|
|
fail "$msg (GDBserver internal error)"
|
|
wait
|
|
}
|
|
eof {
|
|
gdb_assert $saw_exiting $msg
|
|
wait
|
|
}
|
|
timeout {
|
|
fail "$msg (timeout)"
|
|
}
|
|
}
|
|
|
|
# expect defaults to spawn_id in many places. Avoid confusing any
|
|
# following code.
|
|
unset spawn_id
|