forked from Imagelibrary/binutils-gdb
This commit is the result of running the gdb/copyright.py script, which automated the update of the copyright year range for all source files managed by the GDB project to be updated to include year 2023.
81 lines
2.0 KiB
Plaintext
81 lines
2.0 KiB
Plaintext
# Copyright (C) 2014-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 "c -a" doesn't leave GDB processing input, even if all
|
|
# threads were already running. PR gdb/17300.
|
|
|
|
standard_testfile
|
|
|
|
save_vars { GDBFLAGS } {
|
|
set GDBFLAGS "$GDBFLAGS -ex \"set non-stop on\""
|
|
if { [prepare_for_testing "failed to prepare" ${testfile} $srcfile] } {
|
|
return -1
|
|
}
|
|
}
|
|
|
|
if ![runto_main] {
|
|
return
|
|
}
|
|
|
|
set linenum [gdb_get_line_number "set break here"]
|
|
gdb_breakpoint "$linenum"
|
|
|
|
gdb_test "c -a&" "Continuing\\."
|
|
|
|
set test "no stop"
|
|
gdb_test_multiple "" $test {
|
|
-timeout 1
|
|
timeout {
|
|
pass $test
|
|
}
|
|
}
|
|
|
|
# Paranoia. Check that input works after bg command.
|
|
gdb_test "print 1" " = 1"
|
|
|
|
# Continue in the foreground, and wait one second to make sure the
|
|
# inferior really starts running. If we get a prompt to soon (e.g.,
|
|
# the program stops), this issues a fail.
|
|
set saw_continuing 0
|
|
set test "c -a"
|
|
gdb_test_multiple "c -a" $test {
|
|
-timeout 1
|
|
-re "Continuing\\." {
|
|
set saw_continuing 1
|
|
exp_continue
|
|
}
|
|
timeout {
|
|
gdb_assert $saw_continuing $test
|
|
}
|
|
}
|
|
|
|
# Type something while the inferior is running in the foreground.
|
|
send_gdb "print 2\n"
|
|
|
|
# Poor buggy GDB would crash before the breakpoint was hit.
|
|
set test "breakpoint hit"
|
|
gdb_test_multiple "" $test {
|
|
-re "set break here ..\r\n$gdb_prompt " {
|
|
pass $test
|
|
}
|
|
}
|
|
|
|
set test "print command result"
|
|
gdb_test_multiple "" $test {
|
|
-re " = 2\r\n$gdb_prompt $" {
|
|
pass $test
|
|
}
|
|
}
|