* gdb.base/set-lang-auto.exp: New testcase.
authorJoel Brobecker <brobecker@gnat.com>
Thu, 3 Jan 2008 04:26:57 +0000 (04:26 +0000)
committerJoel Brobecker <brobecker@gnat.com>
Thu, 3 Jan 2008 04:26:57 +0000 (04:26 +0000)
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/set-lang-auto.exp [new file with mode: 0644]

index 31635465c0d013a2ad71534d4d8ceab2e4e63165..4ab5b0ea01c30faadfa8b76fc759232699196236 100644 (file)
@@ -1,3 +1,7 @@
+2008-01-03  Joel Brobecker  <brobecker@adacore.com>
+
+       * gdb.base/set-lang-auto.exp: New testcase.
+
 2008-01-03  Joel Brobecker  <brobecker@adacore.com>
 
        * 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 (file)
index 0000000..5c9ab0f
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.
+
+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"
+
+