X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Ftestsuite%2Fgdb.base%2Fgcore.exp;h=32d78b81e45382adb78db682b3e4bdbff88c86f6;hb=9b254dd1ce46c19dde1dde5b8d1e22e862dfacce;hp=da3ab49e80e39b1ffa213cb56eaf522c393346dc;hpb=b082f19936cbea9e0fe5fb00e5c3219ecc797968;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/testsuite/gdb.base/gcore.exp b/gdb/testsuite/gdb.base/gcore.exp index da3ab49e80..32d78b81e4 100644 --- a/gdb/testsuite/gdb.base/gcore.exp +++ b/gdb/testsuite/gdb.base/gcore.exp @@ -1,18 +1,17 @@ -# Copyright 2002 Free Software Foundation, Inc. +# Copyright 2002, 2003, 2004, 2007, 2008 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 2 of the License, or +# 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, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# along with this program. If not, see . # Please email any bugs, comments, and/or additions to this file to: # bug-gdb@prep.ai.mit.edu @@ -32,7 +31,8 @@ set srcfile ${testfile}.c set binfile ${objdir}/${subdir}/${testfile} if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." + untested gcore.exp + return -1 } # Start with a fresh gdb. @@ -61,8 +61,9 @@ gdb_expect { } } -if { ! [ runto main ] } then { - gdb_suppress_entire_file "Run to main failed, so all tests in this file will automatically fail." +if { ! [ runto_main ] } then { + untested gcore.exp + return -1 } proc capture_command_output { command prefix } { @@ -85,7 +86,7 @@ proc capture_command_output { command prefix } { gdb_test "break terminal_func" "Breakpoint .* at .*${srcfile}, line .*" \ "set breakpoint at terminal_func" -gdb_test "continue" "Breakpoint .*, terminal_func.*" \ +gdb_test "continue" "Breakpoint .* terminal_func.*" \ "continue to terminal_func" set print_prefix ".\[0123456789\]* = " @@ -104,9 +105,27 @@ set pre_corefile_local_array \ set pre_corefile_extern_array \ [capture_command_output "print extern_array" "$print_prefix"] -gdb_test "gcore ${objdir}/${subdir}/gcore.test" \ - "Saved corefile ${objdir}/${subdir}/gcore.test" \ - "save a corefile" +set escapedfilename [string_to_regexp ${objdir}/${subdir}/gcore.test] + +set core_supported 0 +gdb_test_multiple "gcore ${objdir}/${subdir}/gcore.test" \ + "save a corefile" \ +{ + -re "Saved corefile ${escapedfilename}\[\r\n\]+$gdb_prompt $" { + pass "save a corefile" + global core_supported + set core_supported 1 + } + -re "Can't create a corefile\[\r\n\]+$gdb_prompt $" { + unsupported "save a corefile" + global core_supported + set core_supported 0 + } +} + +if {!$core_supported} { + return -1 +} # Now restart gdb and load the corefile. gdb_exit @@ -169,7 +188,6 @@ if ![string compare $pre_corefile_allregs $post_corefile_allregs] then { set post_corefile_extern_array \ [capture_command_output "print extern_array" "$print_prefix"] -pass "extern_array = $post_corefile_extern_array" if ![string compare $pre_corefile_extern_array $post_corefile_extern_array] { pass "corefile restored extern array" } else { @@ -178,7 +196,6 @@ if ![string compare $pre_corefile_extern_array $post_corefile_extern_array] { set post_corefile_static_array \ [capture_command_output "print static_array" "$print_prefix"] -pass "static_array = $post_corefile_static_array" if ![string compare $pre_corefile_static_array $post_corefile_static_array] { pass "corefile restored static array" } else { @@ -187,7 +204,6 @@ if ![string compare $pre_corefile_static_array $post_corefile_static_array] { set post_corefile_uninit_array \ [capture_command_output "print un_initialized_array" "$print_prefix"] -pass "uninit_array = $post_corefile_uninit_array" if ![string compare $pre_corefile_uninit_array $post_corefile_uninit_array] { pass "corefile restored un-initialized array" } else { @@ -196,7 +212,6 @@ if ![string compare $pre_corefile_uninit_array $post_corefile_uninit_array] { set post_corefile_heap_string \ [capture_command_output "print heap_string" "$print_prefix"] -pass "heap_string = $post_corefile_heap_string" if ![string compare $pre_corefile_heap_string $post_corefile_heap_string] { pass "corefile restored heap array" } else { @@ -205,7 +220,6 @@ if ![string compare $pre_corefile_heap_string $post_corefile_heap_string] { set post_corefile_local_array \ [capture_command_output "print array_func::local_array" "$print_prefix"] -pass "local_array = $post_corefile_local_array" if ![string compare $pre_corefile_local_array $post_corefile_local_array] { pass "corefile restored stack array" } else {