# Copyright 2016-2023 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 . */ # 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 } }