| Index: gdb/testsuite/gdb.threads/info-threads-cur-sal.exp
|
| diff --git a/gdb/testsuite/gdb.threads/info-threads-cur-sal.exp b/gdb/testsuite/gdb.threads/info-threads-cur-sal.exp
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..f18ae0c302335669a83a8c5fd47ffd2a0b91f70c
|
| --- /dev/null
|
| +++ b/gdb/testsuite/gdb.threads/info-threads-cur-sal.exp
|
| @@ -0,0 +1,57 @@
|
| +# Copyright (C) 2013 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 info-threads-cur-sal.c info-threads-cur-sal-2.c
|
| +
|
| +set executable ${testfile}
|
| +
|
| +if {[gdb_compile_pthreads \
|
| + "${srcdir}/${subdir}/${srcfile} ${srcdir}/${subdir}/${srcfile2}" \
|
| + "${binfile}" executable {debug}] != "" } {
|
| + return -1
|
| +}
|
| +
|
| +clean_restart ${executable}
|
| +
|
| +if ![runto_main] {
|
| + return -1
|
| +}
|
| +
|
| +gdb_breakpoint "start"
|
| +gdb_continue_to_breakpoint "start"
|
| +
|
| +set line [gdb_get_line_number "should show this line" "${srcfile2}"]
|
| +
|
| +gdb_test "list $line" \
|
| + "\"list\" should show this line.*" \
|
| + "list before info threads"
|
| +
|
| +# There used to be a bug where "info threads" would set the current
|
| +# SAL to the location of the last thread displayed.
|
| +gdb_test "info threads" \
|
| + "\r\n\[ \t\]*Id\[ \t\]+Target\[ \t\]+Id\[ \t\]+Frame\[ \t\]*\r\n\\* 2 *Thread \[^\r\n\]* at \[^\r\n\]*\r\n 1 *Thread \[^\r\n\]* .* \[^\r\n\]*" \
|
| + "info threads before break"
|
| +
|
| +# Check that "break" is still operating on the same file by default.
|
| +gdb_test "break $line" ".*${srcfile2}.*" "break on line"
|
| +
|
| +gdb_test "info threads" \
|
| + "\r\n\[ \t\]*Id\[ \t\]+Target\[ \t\]+Id\[ \t\]+Frame\[ \t\]*\r\n\\* 2 *Thread \[^\r\n\]* at \[^\r\n\]*\r\n 1 *Thread \[^\r\n\]* .* \[^\r\n\]*" \
|
| + "info threads before list"
|
| +
|
| +# And that so is "list".
|
| +gdb_test "list $line" \
|
| + "\"list\" should show this line.*" \
|
| + "list after info threads"
|
|
|