aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/testsuite/ChangeLog25
-rw-r--r--gdb/testsuite/gdb.base/call-ar-st.exp24
-rw-r--r--gdb/testsuite/gdb.base/callfuncs.exp27
-rw-r--r--gdb/testsuite/gdb.base/printcmds.exp77
-rw-r--r--gdb/testsuite/gdb.fortran/exprs.exp20
-rw-r--r--gdb/testsuite/gdb.fortran/types.exp20
-rw-r--r--gdb/testsuite/gdb.java/jmisc.exp19
-rw-r--r--gdb/testsuite/gdb.java/jprint.exp19
-rw-r--r--gdb/testsuite/gdb.java/jv-exp.exp19
-rw-r--r--gdb/testsuite/gdb.java/jv-print.exp19
-rw-r--r--gdb/testsuite/gdb.pascal/types.exp18
-rw-r--r--gdb/testsuite/lib/fortran.exp30
-rw-r--r--gdb/testsuite/lib/java.exp14
-rw-r--r--gdb/testsuite/lib/pascal.exp13
14 files changed, 126 insertions, 218 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 83edb75..5490e7e 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,28 @@
+2010-08-18 Doug Evans <dje@google.com>
+
+ * gdb.base/call-ar-st.exp (set_lang_c): Delete, unused.
+ * gdb.base/callfuncs.exp (set_lang_c): Delete, set c language directly.
+ * gdb.base/printcmds.exp (set_lang_c): Delete, set c language directly.
+ Simplify, early exit if runto_main fails.
+ * gdb.fortran/exprs.exp: load_lib fortran.exp.
+ (set_lang_fortran): Moved to lib/fortran.exp.
+ * gdb.fortran/types.exp: load_lib fortran.exp.
+ (set_lang_fortran): Moved to lib/fortran.exp.
+ * gdb.java/jmisc.exp (set_lang_java): Moved to lib/java.exp.
+ * gdb.java/jprint.exp (set_lang_java): Ditto.
+ * gdb.java/jv-exp.exp: load_lib java.exp.
+ If set_lang_java fails, issue a warning instead of failure to be
+ consistent with other set_lang_foo uses.
+ (set_lang_java): Moved to lib/java.exp.
+ * gdb.java/jv-print.exp (set_lang_java): Moved to lib/java.exp.
+ If set_lang_java fails, issue a warning instead of failure to be
+ consistent with other set_lang_foo uses.
+ * gdb.pascal/types.exp: load_lib pascal.exp.
+ (set_lang_pascal): Moved to lib/pascal.exp.
+ * lib/fortran.exp: New file.
+ * lib/java.exp (set_lang_java): New function.
+ * lib/pascal.exp (set_lang_pascal): New function.
+
2010-08-18 Yao Qi <yao@codesourcery.com
* gdb.dwarf2/dw2-ref-missing-frame-func.c: Add .p2align 4 for labels
diff --git a/gdb/testsuite/gdb.base/call-ar-st.exp b/gdb/testsuite/gdb.base/call-ar-st.exp
index d71454e..35525aa 100644
--- a/gdb/testsuite/gdb.base/call-ar-st.exp
+++ b/gdb/testsuite/gdb.base/call-ar-st.exp
@@ -55,30 +55,6 @@ if [target_info exists gdb,cannot_call_functions] {
set oldtimeout $timeout
set timeout [expr "$timeout + 60"]
-# Set the current language to C. This counts as a test. If it
-# fails, then we skip the other tests.
-
-proc set_lang_c {} {
- global gdb_prompt
-
- gdb_test_no_output "set language c"
-
- gdb_test_multiple "show language" "set language to \"c\"" {
- -re ".* source language is \"c\".*$gdb_prompt $" {
- pass "set language to \"c\""
- return 1
- }
- -re ".*$gdb_prompt $" {
- fail "set language to \"c\""
- return 0
- }
- timeout {
- fail "(timeout) set language to \"c\""
- return 0
- }
- }
-}
-
# Start with a fresh gdb.
gdb_exit
diff --git a/gdb/testsuite/gdb.base/callfuncs.exp b/gdb/testsuite/gdb.base/callfuncs.exp
index 02e7acb..613b5f0 100644
--- a/gdb/testsuite/gdb.base/callfuncs.exp
+++ b/gdb/testsuite/gdb.base/callfuncs.exp
@@ -21,7 +21,6 @@ if $tracelevel then {
strace $tracelevel
}
-
set testfile "callfuncs"
set srcfile ${testfile}.c
set binfile ${objdir}/${subdir}/${testfile}
@@ -52,25 +51,6 @@ if [target_info exists gdb,cannot_call_functions] {
continue
}
-# Set the current language to C. This counts as a test. If it
-# fails, then we skip the other tests.
-
-proc set_lang_c {} {
- global gdb_prompt
-
- gdb_test_no_output "set language c"
-
- set success 0
-
- gdb_test_multiple "show language" "set language to \"c\"" {
- -re ".* source language is \"c\".*$gdb_prompt $" {
- pass "set language to \"c\""
- set success 1
- }
- }
- return $success
-}
-
# FIXME: Before calling this proc, we should probably verify that
# we can call inferior functions and get a valid integral value
# returned.
@@ -315,12 +295,9 @@ if { $hp_aCC_compiler } {
gdb_test_no_output "set overload-resolution 0"
} else {
- if { ![set_lang_c] } {
+ gdb_test_no_output "set language c"
+ if { ![runto_main] } {
gdb_suppress_tests;
- } else {
- if { ![runto_main] } {
- gdb_suppress_tests;
- }
}
}
diff --git a/gdb/testsuite/gdb.base/printcmds.exp b/gdb/testsuite/gdb.base/printcmds.exp
index 11e29fa..4c82ab3 100644
--- a/gdb/testsuite/gdb.base/printcmds.exp
+++ b/gdb/testsuite/gdb.base/printcmds.exp
@@ -25,7 +25,6 @@ if $tracelevel then {
strace $tracelevel
}
-
set testfile "printcmds"
set srcfile ${testfile}.c
set binfile ${objdir}/${subdir}/${testfile}
@@ -36,22 +35,6 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {deb
get_compiler_info ${binfile}
-# Set the current language to C. This counts as a test. If it
-# fails, then we skip the other tests.
-
-proc set_lang_c {} {
- global gdb_prompt
-
- if [gdb_test_no_output "set language c" "set language c"] {
- return 0
- }
-
- if [gdb_test "show language" ".* source language is \"c\".*"] {
- return 0
- }
- return 1;
-}
-
proc test_integer_literals_accepted {} {
global gdb_prompt
@@ -781,34 +764,34 @@ gdb_test_no_output "set print sevenbit-strings"
gdb_test_no_output "set print address off"
gdb_test_no_output "set width 0"
-if [set_lang_c] then {
- if { [test_compiler_info "armcc-*"] } {
- # ARM RealView compresses large arrays in the data segment.
- # Before the program starts, we can not read them. There is
- # nothing in the file to indicate that data is compressed.
- setup_xfail "arm*-*-eabi"
- }
- gdb_test "p ctable1\[120\]" "120 'x'" "p ctable1\[120\] #1"
-
- gdb_load ${binfile}
- if [runto_main] then {
- test_integer_literals_accepted
- test_integer_literals_rejected
- test_character_literals_accepted
- test_print_all_chars
- test_print_repeats_10
- test_print_strings
- test_print_int_arrays
- test_print_typedef_arrays
- test_artificial_arrays
- test_print_char_arrays
-# We used to do the runto main here.
- test_print_string_constants
- test_print_array_constants
- test_print_enums
- test_printf
- test_printf_with_dfp
- }
-} else {
- fail "C print command tests suppressed"
+if { [test_compiler_info "armcc-*"] } {
+ # ARM RealView compresses large arrays in the data segment.
+ # Before the program starts, we can not read them. There is
+ # nothing in the file to indicate that data is compressed.
+ setup_xfail "arm*-*-eabi"
+}
+gdb_test "p ctable1\[120\]" "120 'x'" "p ctable1\[120\] #1"
+
+gdb_load ${binfile}
+
+if ![runto_main] then {
+ fail "Can't run to main"
+ return 0
}
+
+test_integer_literals_accepted
+test_integer_literals_rejected
+test_character_literals_accepted
+test_print_all_chars
+test_print_repeats_10
+test_print_strings
+test_print_int_arrays
+test_print_typedef_arrays
+test_artificial_arrays
+test_print_char_arrays
+# We used to do the runto main here.
+test_print_string_constants
+test_print_array_constants
+test_print_enums
+test_printf
+test_printf_with_dfp
diff --git a/gdb/testsuite/gdb.fortran/exprs.exp b/gdb/testsuite/gdb.fortran/exprs.exp
index 37e313a..dff7089 100644
--- a/gdb/testsuite/gdb.fortran/exprs.exp
+++ b/gdb/testsuite/gdb.fortran/exprs.exp
@@ -21,25 +21,9 @@ if $tracelevel then {
strace $tracelevel
}
-if { [skip_fortran_tests] } { continue }
-
+load_lib "fortran.exp"
-# Set the current language to fortran. This counts as a test. If it
-# fails, then we skip the other tests.
-
-proc set_lang_fortran {} {
- global gdb_prompt
-
- if [gdb_test "set language fortran" ""] {
- return 0;
- }
-
- if ![gdb_test "show language" ".* source language is \"fortran\".*"] {
- return 1;
- } else {
- return 0;
- }
-}
+if { [skip_fortran_tests] } { continue }
proc test_integer_literals_accepted {} {
global gdb_prompt
diff --git a/gdb/testsuite/gdb.fortran/types.exp b/gdb/testsuite/gdb.fortran/types.exp
index b44e5d0..a6bf839 100644
--- a/gdb/testsuite/gdb.fortran/types.exp
+++ b/gdb/testsuite/gdb.fortran/types.exp
@@ -21,25 +21,9 @@ if $tracelevel then {
strace $tracelevel
}
-if { [skip_fortran_tests] } { continue }
-
-
-# Set the current language to fortran. This counts as a test. If it
-# fails, then we skip the other tests.
+load_lib "fortran.exp"
-proc set_lang_fortran {} {
- global gdb_prompt
-
- if [gdb_test "set language fortran" ""] {
- return 0;
- }
-
- if ![gdb_test "show language" ".* source language is \"fortran\".*"] {
- return 1;
- } else {
- return 0;
- }
-}
+if { [skip_fortran_tests] } { continue }
proc test_integer_literal_types_accepted {} {
global gdb_prompt
diff --git a/gdb/testsuite/gdb.java/jmisc.exp b/gdb/testsuite/gdb.java/jmisc.exp
index b3292a3..0f66fd6 100644
--- a/gdb/testsuite/gdb.java/jmisc.exp
+++ b/gdb/testsuite/gdb.java/jmisc.exp
@@ -32,32 +32,17 @@ if {[compile_java_from_source ${srcfile} ${binfile} "-g"] != ""} {
continue
}
-# Set the current language to java. This counts as a test. If it
-# fails, then we skip the other tests.
-
-proc set_lang_java {} {
- global gdb_prompt
- global binfile objdir subdir
-
- verbose "loading file '$binfile'"
- gdb_load $binfile
-
- gdb_test_no_output "set language java"
-
- return [gdb_test "show language" ".* source language is \"java\".*" \
- "set language to \"java\""]
-}
-
# Start with a fresh gdb.
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
+gdb_load $binfile
gdb_test "set print sevenbit-strings" ".*"
-if ![set_lang_java] then {
+if [set_lang_java] then {
# Ref PR gdb:java/1565. Don't use the simpler "break jmisc.main".
# As of 2004-02-24 it wasn't working and is being tested separatly.
# Before GCJ 4.1 (approximately) the demangled name did not include
diff --git a/gdb/testsuite/gdb.java/jprint.exp b/gdb/testsuite/gdb.java/jprint.exp
index 18ff7ed..4317e15 100644
--- a/gdb/testsuite/gdb.java/jprint.exp
+++ b/gdb/testsuite/gdb.java/jprint.exp
@@ -31,32 +31,17 @@ if {[compile_java_from_source ${srcfile} ${binfile} "-g"] != ""} {
continue
}
-# Set the current language to java. This counts as a test. If it
-# fails, then we skip the other tests.
-
-proc set_lang_java {} {
- global gdb_prompt
- global binfile objdir subdir
-
- verbose "loading file '$binfile'"
- gdb_load $binfile
-
- gdb_test_no_output "set language java"
-
- return [gdb_test "show language" ".* source language is \"java\".*" \
- "set language to \"java\""]
-}
-
# Start with a fresh gdb.
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
+gdb_load $binfile
gdb_test "set print sevenbit-strings" ".*"
-if ![set_lang_java] then {
+if [set_lang_java] then {
# Ref PR gdb:java/1565. Don't use the simpler "break jmisc.main".
# As of 2004-02-24 it wasn't working and is being tested separatly.
# Before GCJ 4.1 (approximately) the demangled name did not include
diff --git a/gdb/testsuite/gdb.java/jv-exp.exp b/gdb/testsuite/gdb.java/jv-exp.exp
index 4f72dd4..6277385 100644
--- a/gdb/testsuite/gdb.java/jv-exp.exp
+++ b/gdb/testsuite/gdb.java/jv-exp.exp
@@ -17,22 +17,7 @@ if $tracelevel then {
strace $tracelevel
}
-
-# Set the current language to Java. This counts as a test. If it
-# fails, then we skip the other tests.
-
-proc set_lang_java {} {
- global gdb_prompt
-
- if [gdb_test "set language java" "" "set language java"] {
- return 0
- }
-
- if [gdb_test "show language" ".* source language is \"java\".*"] {
- return 0
- }
- return 1;
-}
+load_lib "java.exp"
proc test_comparisons {} {
global gdb_prompt
@@ -56,5 +41,5 @@ gdb_test "set width 0" ""
if [set_lang_java] then {
test_comparisons
} else {
- fail "Java expression tests suppressed"
+ warning "Java expression tests suppressed"
}
diff --git a/gdb/testsuite/gdb.java/jv-print.exp b/gdb/testsuite/gdb.java/jv-print.exp
index a22d194..c78f7d7 100644
--- a/gdb/testsuite/gdb.java/jv-print.exp
+++ b/gdb/testsuite/gdb.java/jv-print.exp
@@ -21,23 +21,6 @@ load_lib "java.exp"
if { [skip_java_tests] } { continue }
-
-# Set the current language to Java. This counts as a test. If it
-# fails, then we skip the other tests.
-
-proc set_lang_java {} {
- global gdb_prompt
-
- if [gdb_test "set language java" "" "set language java"] {
- return 0
- }
-
- if [gdb_test "show language" ".* source language is \"java\".*"] {
- return 0
- }
- return 1;
-}
-
proc test_integer_literals_accepted {} {
global gdb_prompt
@@ -135,5 +118,5 @@ if [set_lang_java] then {
test_character_literals_accepted
test_integer_literals_rejected
} else {
- fail "Java print command tests suppressed"
+ warning "Java print command tests suppressed"
}
diff --git a/gdb/testsuite/gdb.pascal/types.exp b/gdb/testsuite/gdb.pascal/types.exp
index a29f0cc..bceae97 100644
--- a/gdb/testsuite/gdb.pascal/types.exp
+++ b/gdb/testsuite/gdb.pascal/types.exp
@@ -23,23 +23,7 @@ if $tracelevel then {
strace $tracelevel
}
-
-# Set the current language to pascal. This counts as a test. If it
-# fails, then we skip the other tests.
-
-proc set_lang_pascal {} {
- global gdb_prompt
-
- if [gdb_test "set language pascal" ""] {
- return 0;
- }
-
- if ![gdb_test "show language" ".* source language is \"pascal\".*"] {
- return 1;
- } else {
- return 0;
- }
-}
+load_lib "pascal.exp"
proc test_integer_literal_types_accepted {} {
global gdb_prompt
diff --git a/gdb/testsuite/lib/fortran.exp b/gdb/testsuite/lib/fortran.exp
new file mode 100644
index 0000000..b43f47d
--- /dev/null
+++ b/gdb/testsuite/lib/fortran.exp
@@ -0,0 +1,30 @@
+# This test code is part of GDB, the GNU debugger.
+
+# Copyright 2010 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/>.
+
+# Auxiliary function to set the language to fortran.
+# The result is 1 (true) for success, 0 (false) for failure.
+
+proc set_lang_fortran {} {
+ if [gdb_test_no_output "set language fortran"] {
+ return 0
+ }
+ if [gdb_test "show language" ".* source language is \"fortran\"." \
+ "set language to \"fortran\""] {
+ return 0
+ }
+ return 1;
+}
diff --git a/gdb/testsuite/lib/java.exp b/gdb/testsuite/lib/java.exp
index fc56ba5..f552be9 100644
--- a/gdb/testsuite/lib/java.exp
+++ b/gdb/testsuite/lib/java.exp
@@ -105,6 +105,20 @@ proc compile_java_from_source { srcfile binfile compile_args } {
return $result
}
+# Auxiliary function to set the language to java.
+# The result is 1 (true) for success, 0 (false) for failure.
+
+proc set_lang_java {} {
+ if [gdb_test_no_output "set language java"] {
+ return 0
+ }
+ if [gdb_test "show language" ".* source language is \"java\"." \
+ "set language to \"java\""] {
+ return 0
+ }
+ return 1;
+}
+
# Local Variables:
# tcl-indent-level:4
# End:
diff --git a/gdb/testsuite/lib/pascal.exp b/gdb/testsuite/lib/pascal.exp
index 9691bc1..af0b00d 100644
--- a/gdb/testsuite/lib/pascal.exp
+++ b/gdb/testsuite/lib/pascal.exp
@@ -150,3 +150,16 @@ proc gdb_compile_pascal {source dest type options} {
}
}
+# Auxiliary function to set the language to pascal.
+# The result is 1 (true) for success, 0 (false) for failure.
+
+proc set_lang_pascal {} {
+ if [gdb_test_no_output "set language pascal"] {
+ return 0
+ }
+ if [gdb_test "show language" ".* source language is \"pascal\"." \
+ "set language to \"pascal\""] {
+ return 0
+ }
+ return 1;
+}