On 2023-01-22 9:55 p.m., Tom Tromey wrote:
> --- a/gdb/testsuite/gdb.base/fullpath-expand.exp
> +++ b/gdb/testsuite/gdb.base/fullpath-expand.exp
> @@ -15,10 +15,7 @@
>
> standard_testfile .c fullpath-expand-func.c
>
> -if [is_remote host] {
> - unsupported "compiling on a remote host does not support a filename with directory."
> - return 0
> -}
> +require {!is_remote host}
IWBN to preserve "compiling on a remote host does not support a filename with directory."
as a comment.
> --- a/gdb/testsuite/gdb.base/gdbhistsize-history.exp
> +++ b/gdb/testsuite/gdb.base/gdbhistsize-history.exp
> @@ -21,10 +21,7 @@
> # We cannot expect remote hosts to see environment variables set on the
> # local machine.
>
> -if { [is_remote host] } {
> - unsupported "can't set environment variables on remote host"
> - return -1
> -}
> +require {!is_remote host}
Similarly here.
> diff --git a/gdb/testsuite/gdb.base/solib-corrupted.exp b/gdb/testsuite/gdb.base/solib-corrupted.exp
> index 644c8ece11f..a2fbaa6ac40 100644
> --- a/gdb/testsuite/gdb.base/solib-corrupted.exp
> +++ b/gdb/testsuite/gdb.base/solib-corrupted.exp
> @@ -15,11 +15,7 @@
>
> require allow_shlib_tests
>
> -if {[is_remote target]} {
> - # gdbserver prints the warning message but expect is parsing only the GDB
> - # output, not the gdbserver output.
> - return 0
> -}
> +require {!is_remote target}
Ditto, comment should be preserved, IMO.
There are a few more, I've not pointed at every one.
Basically, these help us understand what particular issue with is_remote boards causes
the test to be skipped.
The cases where the messages were just "doesn't work on remote host" such as:
> -if {[is_remote host]} {
> - untested "does not work on remote host"
> - return 0
> -}
> +require {!is_remote host}
are useless and should not be preserved of course.
@@ -15,10 +15,7 @@
standard_testfile realname-expand.c realname-expand-real.c
-if [is_remote host] {
- unsupported "compiling on a remote host does not support a filename with directory."
- return 0
-}
+require {!is_remote host}
set srcdirabs [file join [pwd] $srcdir]
set srcfilelink [standard_output_file realname-expand-link.c]
@@ -22,10 +22,7 @@
require isnative
-if { [is_remote host] } {
- unsupported "argv0-symlink.exp not supported on remote host"
- return -1
-}
+require {!is_remote host}
standard_testfile
@@ -15,9 +15,8 @@
# This test only works on GNU/Linux.
require !use_gdb_stub isnative allow_shlib_tests
-if { [is_remote host] || ![istarget *-linux*] } {
- return
-}
+require {!is_remote host}
+require {istarget *-linux*}
load_lib prelink-support.exp
@@ -15,9 +15,7 @@
standard_testfile
-if [is_remote host] {
- return 0
-}
+require {!is_remote host}
set targetdir "${binfile}.dir"
set sourcescript "${srcdir}/${subdir}/${testfile}-script"
@@ -15,9 +15,8 @@
# This test only works on GNU/Linux.
require !use_gdb_stub isnative allow_shlib_tests
-if { [is_remote host] || ![istarget *-linux*] } {
- return
-}
+require {!is_remote host}
+require {istarget *-linux*}
load_lib prelink-support.exp
@@ -23,10 +23,7 @@ standard_testfile
# remote host (will the signal go to GDB, or the program that
# established the connection to the remote host?), so just skip this
# test for remote host setups.
-if {[is_remote host]} {
- untested $testfile
- return -1
-}
+require {!is_remote host}
if {[prepare_for_testing "failed to prepare" $testfile $srcfile]} {
return -1
@@ -20,10 +20,7 @@ standard_testfile
# We rely on being able to copy things around.
-if { [is_remote host] } {
- untested "setting breakpoints by full path"
- return -1
-}
+require {!is_remote host}
# Create a temporary file in the build directory. Use a different
# filename in case ${srcdir} == ${objdir}.
@@ -15,10 +15,7 @@
standard_testfile .c fullpath-expand-func.c
-if [is_remote host] {
- unsupported "compiling on a remote host does not support a filename with directory."
- return 0
-}
+require {!is_remote host}
if { [file pathtype $objdir] != "absolute" } {
untested "objdir $objdir is not absolute"
@@ -21,10 +21,7 @@
# We cannot expect remote hosts to see environment variables set on the
# local machine.
-if { [is_remote host] } {
- unsupported "can't set environment variables on remote host"
- return -1
-}
+require {!is_remote host}
# Check that the history size is properly set to SIZE when the environment
# variable ENV_VAR is set to GDBHISTSIZE.
@@ -24,10 +24,7 @@
# Do not run if gdb debug is enabled - it interferes with the command history.
require !gdb_debug_enabled
-if { [is_remote host] } {
- unsupported "can't set environment variables on remote host"
- return -1
-}
+require {!is_remote host}
# Check that the history size is properly set to SIZE when reading the .gdbinit
# file located in HOME with the environment variable GDBHISTSIZE optionally
@@ -13,9 +13,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
require allow_shlib_tests
-if { [is_remote target] } {
- return 0
-}
+require {!is_remote target}
# Library file.
set libname "info-fun-solib"
@@ -22,10 +22,7 @@
# We cannot expect remote hosts to see environment variables set on
# the local machine.
-if { [is_remote host] } {
- unsupported "can't set environment variables on remote host"
- return -1
-}
+require {!is_remote host}
# Spawn GDB with LIB preloaded with LD_PRELOAD. CMDLINE_OPTS are
# command line options passed to GDB.
@@ -23,9 +23,7 @@ standard_testfile
# If the host is remote, source files are uploaded to the host and compiled
# there, but without the directory structure we expect, making the test
# pointless. Skip the test in that case.
-if { [is_remote host] } {
- return
-}
+require {!is_remote host}
# Copy the source file at these locations in the output directory ($out):
#
@@ -20,9 +20,7 @@
require isnative allow_shlib_tests is_c_compiler_gcc
-if { [is_remote host] } {
- return
-}
+require {!is_remote host}
load_lib prelink-support.exp
@@ -15,10 +15,7 @@
standard_testfile .c realname-expand-real.c
-if [is_remote host] {
- unsupported "compiling on a remote host does not support a filename with directory."
- return 0
-}
+require {!is_remote host}
set srcdirabs [file join [pwd] $srcdir]
set srcfilelink [standard_output_file realname-expand-link.c]
@@ -21,9 +21,8 @@
# This only works on GNU/Linux.
require isnative allow_shlib_tests
-if { [is_remote host] || ![istarget *-linux*] } {
- return
-}
+require {!is_remote host}
+require {istarget *-linux*}
set test "skip-solib"
set srcfile_main "${test}-main.c"
@@ -15,11 +15,7 @@
require allow_shlib_tests
-if {[is_remote target]} {
- # gdbserver prints the warning message but expect is parsing only the GDB
- # output, not the gdbserver output.
- return 0
-}
+require {!is_remote target}
set testfile "solib-corrupted"
set srcfile start.c
@@ -16,9 +16,7 @@
require allow_shlib_tests
# The testcase assumes the target can access the OBJDIR.
-if [is_remote target] {
- return
-}
+require {!is_remote target}
# We need to be able to influence the target's environment and working
# directory. Can't do that if when we connect the inferior is already
@@ -17,10 +17,7 @@
# is properly reset when the path is changed.
require allow_shlib_tests
-if {[is_remote target]} {
- untested "skipping remote target and shared library tests"
- return -1
-}
+require {!is_remote target}
# Build "wrong" and "right" versions of the libraries in separate directories.
set wrong_lib_subdir "solib-search-wrong"
@@ -20,10 +20,7 @@ require !use_gdb_stub
# There's no easy way to set environment variables on remote targets
# (via dejagnu) yet.
-if { [is_remote target] } {
- untested "remote board"
- return
-}
+require {!is_remote target}
standard_testfile
@@ -18,10 +18,7 @@
# Do not run if gdb debug is enabled as it will interfere with log redirect.
require !gdb_debug_enabled
-if {[is_remote host]} {
- untested "does not work on remote host"
- return 0
-}
+require {!is_remote host}
standard_testfile style.c
@@ -18,10 +18,7 @@ require allow_xml_test
load_lib valgrind.exp
-if [is_remote target] {
- # The test always runs locally.
- return 0
-}
+require {!is_remote target}
standard_testfile .c
if {[build_executable $testfile.exp $testfile $srcfile {debug}] == -1} {
@@ -23,10 +23,7 @@ require allow_xml_test
load_lib valgrind.exp
-if [is_remote target] {
- # The test always runs locally.
- return 0
-}
+require {!is_remote target}
standard_testfile .c
if {[build_executable "failed to build" $testfile $srcfile {debug}] == -1} {
@@ -34,10 +34,7 @@ require allow_xml_test
load_lib valgrind.exp
-if [is_remote target] {
- # The test always runs locally.
- return 0
-}
+require {!is_remote target}
standard_testfile .c
if {[build_executable $testfile.exp $testfile $srcfile {debug}] == -1} {
@@ -18,10 +18,7 @@ require allow_xml_test
load_lib valgrind.exp
-if [is_remote target] {
- # The test always runs locally.
- return 0
-}
+require {!is_remote target}
standard_testfile .c
if {[build_executable $testfile.exp $testfile $srcfile {debug}] == -1} {
@@ -15,10 +15,7 @@
# Test that an early warning does not cause a crash.
-if {[is_remote host]} {
- unsupported "warning.exp can only run on local host"
- return
-}
+require {!is_remote host}
set tname [standard_temp_file warning]
set fd [open $tname w]
@@ -19,10 +19,8 @@ require dwarf2_support
# This test has hard-wired assumptions that host and build filenames are
# the same, and assumes POSIX pathname syntax.
-if { [is_remote host] || [ishost *-*-mingw*] } {
- unsupported "can only run on local host"
- return 0
-}
+require {!is_remote host}
+require {!ishost *-*-mingw*}
# Find length of addresses in bytes.
if {[is_64_target]} {
@@ -19,9 +19,7 @@ load_lib dwarf.exp
require dwarf2_support
# No remote host testing either.
-if {[is_remote host]} {
- return 0
-}
+require {!is_remote host}
# Lots of source files since we test a few cases and make new files
@@ -19,9 +19,7 @@ load_lib dwarf.exp
require dwarf2_support
# No remote host testing either.
-if {[is_remote host]} {
- return 0
-}
+require {!is_remote host}
standard_testfile main.c dwznolink.S
@@ -16,9 +16,7 @@
load_lib dwarf.exp
# We run objcopy locally to split out the .dwo file.
-if [is_remote host] {
- return 0
-}
+require {!is_remote host}
# This test can only be run on targets which support DWARF-2 and use gas.
require dwarf2_support
@@ -21,9 +21,7 @@
load_lib dwarf.exp
# We run objcopy locally to split out the .dwo file.
-if [is_remote host] {
- return 0
-}
+require {!is_remote host}
# This test can only be run on targets which support DWARF-2 and use gas.
require dwarf2_support
@@ -16,9 +16,7 @@
load_lib dwarf.exp
# We run objcopy locally to split out the .dwo file.
-if [is_remote host] {
- return 0
-}
+require {!is_remote host}
# This test can only be run on targets which support DWARF-2 and use gas.
require dwarf2_support
@@ -19,9 +19,7 @@
load_lib dwarf.exp
# We run objcopy locally to split out the .dwo file.
-if [is_remote host] {
- return 0
-}
+require {!is_remote host}
# This test can only be run on targets which support DWARF-2 and use gas.
require dwarf2_support
@@ -16,9 +16,7 @@
load_lib dwarf.exp
# We run objcopy locally to split out the .dwo file.
-if [is_remote host] {
- return 0
-}
+require {!is_remote host}
# This test can only be run on targets which support DWARF-2 and use gas.
require dwarf2_support
@@ -21,9 +21,7 @@ load_lib dwarf.exp
require dwarf2_support
# No remote host testing either.
-if {[is_remote host]} {
- return 0
-}
+require {!is_remote host}
standard_testfile main.c no-gnu-debuglink.S
@@ -18,10 +18,7 @@ standard_testfile
# Fission doesn't support macros yet. Bug 15954.
require !using_fission
-if [is_remote host] {
- unsupported "compiling on a remote host does not support a filename with directory."
- return 0
-}
+require {!is_remote host}
set opts {debug additional_flags=-I. macros}
@@ -16,10 +16,7 @@
# This file is part of the GDB testsuite. It tests Python-based
# pretty-printing for the CLI.
-if [is_remote host] {
- untested "py-pp-maint.exp can only be run locally"
- return -1
-}
+require {!is_remote host}
load_lib gdb-python.exp
@@ -27,9 +27,7 @@ require allow_gdbserver_tests
# Because we're relying on being able to change our CWD before
# executing gdbserver, we just run if we're not testing with a remote
# target.
-if { [is_remote target] } {
- return 0
-}
+require {!is_remote target}
save_vars { GDBFLAGS } {
# If GDB and GDBserver are both running locally, set the sysroot to avoid
@@ -25,9 +25,7 @@ standard_testfile normal.c
require allow_gdbserver_tests
# We want to have control over where we start gdbserver.
-if { [is_remote target] } {
- return 0
-}
+require {!is_remote target}
if { [prepare_for_testing "failed to prepare" $testfile $srcfile debug] } {
return -1
@@ -24,9 +24,7 @@
# This test relies on starting gdbserver using the pipe syntax. Not
# sure how well this will run if part of this test is being run
# elsewhere.
-if { [is_remote target] || [is_remote host] } {
- return 0
-}
+require {!is_remote target} {!is_remote host}
load_lib gdbserver-support.exp
@@ -18,9 +18,8 @@
# This test only works on Linux
require !use_gdb_stub isnative
-if { [is_remote host] || ![istarget *-linux*] } {
- return
-}
+require {!is_remote host}
+require {istarget *-linux*}
standard_testfile
set executable_nothr ${testfile}-nothr
@@ -38,9 +38,8 @@
# This test only works on Linux
require !use_gdb_stub isnative
-if { [is_remote host] || ![istarget *-linux*] } {
- return
-}
+require {!is_remote host}
+require {istarget *-linux*}
standard_testfile
@@ -19,9 +19,8 @@
# This test only works on Linux
require !use_gdb_stub isnative
-if { [is_remote host] || ![istarget *-linux*] } {
- return
-}
+require {!is_remote host}
+require {istarget *-linux*}
standard_testfile
set escapedbinfile [string_to_regexp $binfile]