1# Copyright 2012-2016 Free Software Foundation, Inc. 2 3# This program is free software; you can redistribute it and/or modify 4# it under the terms of the GNU General Public License as published by 5# the Free Software Foundation; either version 3 of the License, or 6# (at your option) any later version. 7# 8# This program is distributed in the hope that it will be useful, 9# but WITHOUT ANY WARRANTY; without even the implied warranty of 10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11# GNU General Public License for more details. 12# 13# You should have received a copy of the GNU General Public License 14# along with this program. If not, see <http://www.gnu.org/licenses/>. 15 16load_lib mi-support.exp 17set MIFLAGS "-i=mi" 18 19gdb_exit 20if [mi_gdb_start] { 21 continue 22} 23 24standard_testfile 25set srcfileabs [standard_output_file $srcfile] 26 27# "//$srcfile" It is used for the test of compare_filenames_for_search. 28if { [regsub {/[^/]+$} $srcfileabs {/\0} srcfileabs] != 1 } { 29 xfail "Cannot double the last slash separator" 30 return -1 31} 32 33if { [regsub {^(/[^/]+)/} $srcfileabs {\1subst/} srcfileabssubst] != 1 34 || [regsub {^(/[^/]+)/.*$} $srcfileabs {\1} initdir] != 1 } { 35 xfail "Missing root subdirectory" 36 return -1 37} 38 39set f [open $srcfileabs "w"] 40puts $f "int main (void) { return 0; }" 41close $f 42 43if { [gdb_compile "$srcfileabs" "${binfile}" executable {debug}] != "" } { 44 untested $testname 45 return -1 46} 47 48file delete -- $srcfileabs 49 50mi_gdb_reinitialize_dir $srcdir/$subdir 51mi_gdb_load ${binfile} 52 53mi_gdb_test "-interpreter-exec console \"set substitute-path ${initdir} ${initdir}subst\"" {\^done} "set substitute-path" 54 55mi_gdb_test "-file-list-exec-source-file" ".*\",fullname=\".*\".*" "fullname present" 56 57mi_gdb_test "-file-list-exec-source-file" ".*\",fullname=\"[string_to_regexp $srcfileabssubst]\".*" "substituted fullname" 58 59# Test compare_filenames_for_search does not falsely use absolute filename as 60# a relative one. 61mi_gdb_test "-break-insert -t /$srcfile:main" \ 62 "\\^error,msg=\"No source file named /[string_to_regexp $srcfile]\\.\"" \ 63 "compare_filenames_for_search does not match" 64mi_gdb_test "-break-insert -t $srcfile:main" \ 65 {\^done,bkpt=.*} \ 66 "compare_filenames_for_search does match" 67