blob: cc5fdc0202b8566a96c6854fd43fce503f0d0bd9 [file] [log] [blame]
# Copyright 2012-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
# 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 <>.
load_lib mi-support.exp
set MIFLAGS "-i=mi"
# This test is Linux-only.
if ![istarget *-*-linux*] then {
unsupported "mi-info-os.exp"
return -1
# Support for XML-output is needed to run this test.
if [gdb_skip_xml_test] then {
unsupported "mi-info-os.exp"
return -1
if [mi_gdb_start] {
standard_testfile basics.c
if [build_executable "Failed to build $testfile" $testfile $srcfile \
debug] {
return -1;
if {[mi_gdb_load $binfile] < 0} {
return -1
# When testing a cross configuration, we need to be sure to first
# connect to the target. If we didn't do that, GDB would try running
# the command against the default run target. The usual way to do
# that and cover all targets is to run to main, with mi_runto_main.
# However, with native configurations, -info-os should work before
# running any program, so we want to avoid "run". Using
# mi_gdb_target_load directly instead achieves this.
if {[mi_gdb_target_load] < 0} {
return -1
# Try the argument-less form that lists all the types in a table.
mi_gdb_test "-info-os" ".*\\^done,OSDataTable=.*" "-info-os"