# manythreads.exp -- Expect script to test stopping many threads
-# Copyright (C) 2004-2014 Free Software Foundation, Inc.
+# Copyright (C) 2004-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
# This file was written by Jeff Johnston. (jjohnstn@redhat.com)
+# This test requires sending ^C to interrupt the running target.
+if [target_info exists gdb,nointerrupts] {
+ verbose "Skipping manythreads.exp because of nointerrupts."
+ return
+}
standard_testfile
# We'll need this when we send_gdb a ^C to GDB. Need to do it before we
# run the program and gdb starts saving and restoring tty states.
-# On Ultrix, we don't need it and it is really slow (because shell_escape
-# doesn't use vfork).
-if ![istarget "*-*-ultrix*"] then {
- gdb_test "shell stty intr '^C'" ".*"
-}
+gdb_test "shell stty intr '^C'" ".*"
set message "first continue"
gdb_test_multiple "continue" "first continue" {
-re "\\\[\[^\]\]* exited\\\]\r\n" {
exp_continue
}
- -re "Program received signal SIGINT.*$gdb_prompt $" {
+ -re " received signal SIGINT.*$gdb_prompt $" {
pass "$message"
}
-re "$gdb_prompt $" {
# Note that with this regex order, if GDB emits [New
- # Thread ...] output between "Program received signal" and
- # the prompt, the "Program received signal" regex won't
- # match. That's good, as if we see that happening, it's a
+ # Thread ...] output between "Thread NNN received signal"
+ # and the prompt, the "received signal" regex won't match.
+ # That's good, as if we see that happening, it's a
# regression.
#
# GDB makes sure to notify about signal stops, end of
# ... more new threads output ...
# [New Thread NNN]
# [New Thread NNN]
- # Program received signal SIGINT, Interrupt.
+ # Thread NNN received signal SIGINT, Interrupt.
# [New Thread NNN]
# [New Thread NNN]
# ... pages of new threads output ...
# foo () at foo.c:31
# 31 bar ();
#
- fail $test
+ fail $message
}
}
}
-re "\\\[\[^\]\]* exited\\\]\r\n" {
exp_continue -continue_timer
}
- -re "Program received signal SIGINT.*$gdb_prompt $" {
+ -re " received signal SIGINT.*$gdb_prompt $" {
if { $failed == 0 } {
fail "check for duplicate SIGINT"
}