| # Copyright 2016-2021 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 |
| |
| # Note: While we test for specific text in error messages, |
| # thus perhaps making the test host specific, if your host |
| # print different text then the plan is to update the expected text |
| # instead of making this test linux-only or some such. |
| |
| # 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 |
| } |
| } |