diff options
Diffstat (limited to 'gdb/testsuite/gdb.base')
-rw-r--r-- | gdb/testsuite/gdb.base/list-missing-source.exp | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.base/list-missing-source.exp b/gdb/testsuite/gdb.base/list-missing-source.exp new file mode 100644 index 00000000000..703603e7cb2 --- /dev/null +++ b/gdb/testsuite/gdb.base/list-missing-source.exp @@ -0,0 +1,63 @@ +# Copyright 2019 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/>. + +# This test checks how GDB handles missing source files around the +# 'list' and 'info source' commands. + +standard_testfile + +# Create a source file in the output directory. +set srcfile [standard_output_file main.c] +set fd [open "$srcfile" w] +puts $fd { +int +main () +{ + return 0; +} +} +close $fd + +# Compile the source file. +set options "debug" +if { [gdb_compile "${srcfile}" "${binfile}" \ + executable $options] != "" } { + untested "failed to compile" + return -1 +} + +# Now delete the source file. +file delete $srcfile + +# Now start GDB, run to main and try to list the source. +clean_restart ${binfile} + +if ![runto_main] then { + fail "can't run to main" + return 0 +} + +gdb_test "list" "1\[ \t\]+in\[ \t\]+$srcfile" + +gdb_test "info source" \ + [multi_line \ + "info source" \ + "Current source file is $srcfile" \ + "Compilation directory is \[^\n\r\]+" \ + "Source language is c." \ + "Producer is \[^\n\r\]+" \ + "Compiled with DWARF $decimal debugging format." \ + "Does not include preprocessor macro info." ] + |