1# This testcase is part of GDB, the GNU debugger. 2 3# Copyright 2005-2017 Free Software Foundation, Inc. 4 5# This program is free software; you can redistribute it and/or modify 6# it under the terms of the GNU General Public License as published by 7# the Free Software Foundation; either version 3 of the License, or 8# (at your option) any later version. 9# 10# This program is distributed in the hope that it will be useful, 11# but WITHOUT ANY WARRANTY; without even the implied warranty of 12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13# GNU General Public License for more details. 14# 15# You should have received a copy of the GNU General Public License 16# along with this program. If not, see <http://www.gnu.org/licenses/>. 17 18# Test GDB's "source" command - reads in a GDB script. 19 20 21 22standard_testfile structs.c 23 24gdb_start 25 26gdb_test "source ${srcdir}/${subdir}/source-error.gdb" \ 27 "source-error.gdb:21: Error in sourced command file:\[\r\n\]*Cannot access memory at address 0x0.*" \ 28 "script contains error" 29 30gdb_test "source -v ${srcdir}/${subdir}/source-test.gdb" \ 31 "echo test source options.*" \ 32 "source -v" 33 34# There was a bug where -v got stuck in the "on" position. 35# Verify "source script", without the -v, is not verbose. 36set test "source after -v" 37gdb_test_multiple "source ${srcdir}/${subdir}/source-test.gdb" $test { 38 -re "echo test source options.*$gdb_prompt $" { 39 fail "$test" 40 } 41 -re "test source options.*$gdb_prompt $" { 42 pass "$test" 43 } 44} 45 46gdb_test "dir ${srcdir}/${subdir}" "Source directories searched: .*" \ 47 "set search directories" 48gdb_test "source -s ./source-test.gdb" \ 49 "test source options" \ 50 "source -s" 51 52# Test -v and -s in either order. 53gdb_test "source -s -v ./source-test.gdb" \ 54 "echo test source options.*" \ 55 "source -s -v" 56gdb_test "source -v -s ./source-test.gdb" \ 57 "echo test source options.*" \ 58 "source -v -s" 59 60# Test sourcing a non-existant file, both when the source command 61# comes from the a command entered at the GDB prompt, and when 62# it comes from a script being sourced. 63gdb_test "source for-sure-nonexistant-file" \ 64 "for-sure-nonexistant-file: No such file or directory\." 65 66gdb_test "source source-nofile.gdb" \ 67 "warning: for-sure-nonexistant-file: No such file or directory\.\[\r\n\]*source error not fatal" 68 69gdb_exit 70