From a31ace00717828545b8f7d6104816bc31a9ac259 Mon Sep 17 00:00:00 2001 From: Joel Brobecker Date: Thu, 3 Jan 2008 04:26:57 +0000 Subject: [PATCH] * gdb.base/set-lang-auto.exp: New testcase. --- gdb/testsuite/ChangeLog | 4 ++ gdb/testsuite/gdb.base/set-lang-auto.exp | 70 ++++++++++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100644 gdb/testsuite/gdb.base/set-lang-auto.exp diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 31635465c0d..4ab5b0ea01c 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2008-01-03 Joel Brobecker + + * gdb.base/set-lang-auto.exp: New testcase. + 2008-01-03 Joel Brobecker * gdb.ada/fun_addr/foo.adb: New file. diff --git a/gdb/testsuite/gdb.base/set-lang-auto.exp b/gdb/testsuite/gdb.base/set-lang-auto.exp new file mode 100644 index 00000000000..5c9ab0f32d9 --- /dev/null +++ b/gdb/testsuite/gdb.base/set-lang-auto.exp @@ -0,0 +1,70 @@ +# Copyright 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 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 . + +if $tracelevel then { + strace $tracelevel +} + +set prms_id 0 +set bug_id 0 + +set testfile start +set srcfile ${testfile}.c +set binfile ${objdir}/${subdir}/${testfile} +if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { + untested "Couldn't compile test program" + return -1 +} + +# Get things started. + +gdb_exit +gdb_start +gdb_reinitialize_dir $srcdir/$subdir +gdb_load ${binfile} + +# Do not run the inferior as the purpose of this testcase is to test +# the behavior of the "set language" command when there is no inferior. + +# Check the language after the binary has been loaded. It should be +# "auto; currently c". +gdb_test "show lang" \ + "The current source language is \"auto; currently c\"\\." \ + "show lang after loading binary" + +# Now, switch the language to a specific language, instead of leaving it +# on auto. +gdb_test "set lang ada" \ + "" \ + "forcing the language to ada" + +# Verify that the language is now "ada". +gdb_test "show lang" \ + "The current source language is \"ada\"\\." \ + "show lang after switching language to ada" + +# Then, switch back to auto... +gdb_test "set lang auto" \ + "" \ + "switching the language back to auto" + +# ... And verify that the language mode is back to auto *and* that +# the selected language is C. + +gdb_test "show lang" \ + "The current source language is \"auto; currently c\"\\." \ + "show lang after having switched back to auto" + + -- 2.30.2