-# Copyright 2002 Free Software Foundation, Inc.
+# Copyright 2002, 2003, 2004 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
}
}
-if { ! [ runto main ] } then {
+if { ! [ runto_main ] } then {
gdb_suppress_entire_file "Run to main failed, so all tests in this file will automatically fail."
}
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]
+
+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
+ }
+}
+
+global core_supported
+if {!$core_supported} {
+ return -1
+}
# Now restart gdb and load the corefile.
gdb_exit
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 {
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 {
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 {
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 {
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 {