Browse Source
gdb/ChangeLog: * source.c (is_regular_file): New arg errno_ptr. All callers updated. gdb/testsuite/ChangeLog: * gdb.base/bad-file.exp: New file.binutils-2_27-branch
4 changed files with 92 additions and 8 deletions
@ -0,0 +1,56 @@ |
|||
# Copyright 2015 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/>. */ |
|||
|
|||
# Test passing bad files to gdb. PR symtab/17911 |
|||
|
|||
# We watch for specific text for errno, so only test on systems we have |
|||
# confidence in the error text. |
|||
|
|||
if { ! [ishost "*-*-linux*"] } { |
|||
return 0 |
|||
} |
|||
|
|||
# There is no such file, but we still use the normal mechanism to pick |
|||
# its name and path. |
|||
standard_testfile |
|||
|
|||
gdb_exit |
|||
gdb_start |
|||
|
|||
set test "non-existent file" |
|||
set bad_file $testfile |
|||
remote_file host delete $bad_file |
|||
gdb_test_multiple "file $bad_file" "$test" { |
|||
-re "No such file or directory.\[\r\n\]+$gdb_prompt $" { |
|||
pass $test |
|||
} |
|||
} |
|||
|
|||
set test "directory" |
|||
set bad_file [standard_output_file {}] |
|||
remote_exec host "mkdir -p $bad_file" |
|||
gdb_test_multiple "file $bad_file" "$test" { |
|||
-re "Is a directory.\[\r\n\]+$gdb_prompt $" { |
|||
pass $test |
|||
} |
|||
} |
|||
|
|||
set test "neither file nor directory" |
|||
set bad_file "/dev/null" |
|||
gdb_test_multiple "file $bad_file" "$test" { |
|||
-re "Invalid argument.\[\r\n\]+$gdb_prompt $" { |
|||
pass $test |
|||
} |
|||
} |
|||
Loading…
Reference in new issue