gdb: Allow GDB to _not_ load a previous command history
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.base / source.exp
index f3fbeff64018b187b8d9e8efefcd7747ee871ca2..94ffbf52de8d4fc85c392250d475c951f9d28c90 100644 (file)
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2005, 2007, 2008 Free Software Foundation, Inc.
+# Copyright 2005-2020 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
 # Test GDB's "source" command - reads in a GDB script.
 
 
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gdb@prep.ai.mit.edu
 
-if $tracelevel then {
-       strace $tracelevel
+standard_testfile structs.c
+
+gdb_start
+
+gdb_test "source -v ${srcdir}/${subdir}/source-test.gdb" \
+    "echo test source options.*" \
+    "source -v"
+
+# There was a bug where -v got stuck in the "on" position.
+# Verify "source script", without the -v, is not verbose.
+set test "source after -v"
+gdb_test_multiple "source ${srcdir}/${subdir}/source-test.gdb" $test {
+    -re "echo test source options.*$gdb_prompt $" {
+       fail "$test"
+    }
+    -re "test source options.*$gdb_prompt $" {
+       pass "$test"
+    }
 }
 
-set prms_id 0
-set bug_id 0
+gdb_test "dir ${srcdir}/${subdir}" "Source directories searched: .*" \
+    "set search directories"
+gdb_test "source -s ./source-test.gdb" \
+    "test source options" \
+    "source -s"
 
-set testfile "structs"
-set srcfile ${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile}
+# Test -v and -s in either order.
+gdb_test "source -s -v ./source-test.gdb" \
+    "echo test source options.*" \
+    "source -s -v"
+gdb_test "source -v -s ./source-test.gdb" \
+    "echo test source options.*" \
+    "source -v -s"
 
-gdb_start
+# Test sourcing a non-existant file, both when the source command
+# comes from the a command entered at the GDB prompt, and when
+# it comes from a script being sourced.
+gdb_test "source for-sure-nonexistant-file" \
+         "for-sure-nonexistant-file: No such file or directory\."
+
+gdb_test "source source-nofile.gdb" \
+         "warning: for-sure-nonexistant-file: No such file or directory\.\[\r\n\]*source error not fatal"
 
+
+# Test commands that error out in sourced files, including in nested sourced
+# files.
+#
+# This needs to come after the "dir" command tested above for source-error.gdb
+# to find source-error-1.gdb.
 gdb_test "source ${srcdir}/${subdir}/source-error.gdb" \
-    "source-error.gdb:22: Error in sourced command file:\[\r\n\]*Cannot access memory at address 0x0.*" \
+    [multi_line ".*source-error.gdb:20: Error in sourced command file:" \
+               "source-error-1.gdb:21: Error in sourced command file:" \
+               "Cannot access memory at address 0x0" ] \
     "script contains error"
-    
-gdb_exit
This page took 0.038275 seconds and 4 git commands to generate.