1 # Copyright
2020-2022 Free Software Foundation
, Inc.
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.
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.
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
/>.
16 # Testing
for 'maint print xml-tdesc'. Check we can print out the
17 # current target description and
load it
back in again.
19 if {[gdb_skip_xml_test
]} {
20 unsupported
"xml tests not being run"
26 if {[prepare_for_testing
"failed to prepare" $testfile $srcfile debug]} {
30 if ![runto_main
] then {
34 # Three files we
're going to write out to.
35 set xml_file_1 [standard_output_file outfile1.xml]
36 set xml_file_2 [standard_output_file outfile2.xml]
37 set xml_file_3 [standard_output_file outfile3.xml]
39 # Write the current target description to a file.
40 gdb_test_no_output "pipe maint print xml-tdesc | cat > $xml_file_1" \
41 "write current target description to file"
43 # Read the target description back in to GDB, and the write it back
46 "pipe maint print xml-tdesc $xml_file_1 | cat > $xml_file_2" \
47 "read previous xml description, and write it out to a second file"
49 # Check the two produced files are identical.
50 gdb_test "shell diff -s $xml_file_1 $xml_file_2" \
51 "Files \[^\r\n\]* are identical" \
52 "first two produced xml files are identical"
57 # Change to use one of the target descriptions we wrote out earlier.
58 gdb_test_no_output "set tdesc filename $xml_file_1" \
59 "set target description to use"
61 # Load the executable.
64 # Run to `main' where we begin our tests.
65 if ![runto_main
] then {
69 # Run
info registers just to check this appears to run fine with the
70 # new target description.
71 gdb_test
-lbl
"info all-registers" "" "Run info registers"
73 # Write out the current target description.
74 gdb_test_no_output
"pipe maint print xml-tdesc | cat > $xml_file_3" \
75 "write third target description to file"
77 # And check that it matches the original file we loaded.
78 gdb_test
"shell diff -s $xml_file_1 $xml_file_3" \
79 "Files \[^\r\n\]* are identical" \
80 "first and third produced xml files are identical"