| # Copyright 2007-2020 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/>. | |
| if {[gdb_skip_xml_test]} { | |
| unsupported "tdesc-errors.exp" | |
| return -1 | |
| } | |
| gdb_start | |
| proc set_bad_arch { srcfile errmsg } { | |
| global gdb_prompt | |
| global srcdir | |
| global subdir | |
| # Anchor the test output, so that error messages are detected. | |
| set cmd "set tdesc filename $srcdir/$subdir/$srcfile" | |
| set msg "set tdesc filename $subdir/$srcfile" | |
| set cmd_regex [string_to_regexp $cmd] | |
| gdb_test_multiple $cmd $msg { | |
| -re "^$cmd_regex\r\n$errmsg$gdb_prompt $" { | |
| pass $msg | |
| } | |
| } | |
| } | |
| set common_warn "\r\nwarning: Could not load XML target description; ignoring\r\n" | |
| # This file contains a syntax error. We should warn the user about | |
| # it. | |
| set_bad_arch "tdesc-bogus.xml" \ | |
| "warning: while parsing .*: no element found$common_warn" | |
| # This file contains a bunch of unrecognized elements. They should be | |
| # silently ignored. | |
| set_bad_arch "tdesc-unknown.xml" "" |