aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2021-09-30 19:07:48 +0200
committerTom de Vries <tdevries@suse.de>2021-09-30 19:07:48 +0200
commitdc412de5e954d81dc932be7fa7c2edda992de096 (patch)
treec49756afbe893127cc23065d8cf34b70bc71a219
parent85d74f293624dec19180d817436818567dc8f9b3 (diff)
downloadgdb-dc412de5e954d81dc932be7fa7c2edda992de096.zip
gdb-dc412de5e954d81dc932be7fa7c2edda992de096.tar.gz
gdb-dc412de5e954d81dc932be7fa7c2edda992de096.tar.bz2
[gdb/testsuite] Prepare nodebug exec in gdb.base/cvexpr.exp
When running test-case gdb.base/cvexpr.exp with target board unix/-bad, I get: ... gdb compile failed, gcc: error: unrecognized command line option '-bad' ERROR: tcl error sourcing src/gdb/testsuite/gdb.base/cvexpr.exp. ERROR: can't read "use_gdb_stub": no such variable ... This is triggered in a part of the test that claims to require no debug information, but uses the exec containing either dwarf or ctf. Fix this by preparing another executable compiled with nodebug, and using that one instead. Also use with_test_prefix to mark the nodebug part, such that we have: ... gdb compile failed, gcc: error: unrecognized command line option '-bad' UNTESTED: gdb.base/cvexpr.exp: dwarf: failed to prepare gdb compile failed, gcc: error: unrecognized command line option '-bad' UNTESTED: gdb.base/cvexpr.exp: nodebug: failed to prepare ... Tested on x86_64-linux.
-rw-r--r--gdb/testsuite/gdb.base/cvexpr.exp22
1 files changed, 14 insertions, 8 deletions
diff --git a/gdb/testsuite/gdb.base/cvexpr.exp b/gdb/testsuite/gdb.base/cvexpr.exp
index 33ae1be..f9bb467 100644
--- a/gdb/testsuite/gdb.base/cvexpr.exp
+++ b/gdb/testsuite/gdb.base/cvexpr.exp
@@ -509,14 +509,20 @@ foreach testspec $specs {
}
# These tests don't rely on the debug format.
-gdb_test "ptype _Atomic int" "type = _Atomic int"
-gdb_test "ptype int * restrict" "type = int \\* restrict"
+with_test_prefix nodebug {
+ if { [prepare_for_testing "failed to prepare" $binfile $srcfile {nodebug}] } {
+ return 0
+ }
-# C++ does not have "restrict".
-gdb_test_no_output "set lang c++"
-with_test_prefix c++ {
- gdb_test "ptype int * restrict" "A syntax error in expression.*"
+ gdb_test "ptype _Atomic int" "type = _Atomic int"
+ gdb_test "ptype int * restrict" "type = int \\* restrict"
- # There is a GCC extension for __restrict__, though.
- gdb_test "ptype int * __restrict__" "type = int \\* __restrict__"
+ # C++ does not have "restrict".
+ gdb_test_no_output "set lang c++"
+ with_test_prefix c++ {
+ gdb_test "ptype int * restrict" "A syntax error in expression.*"
+
+ # There is a GCC extension for __restrict__, though.
+ gdb_test "ptype int * __restrict__" "type = int \\* __restrict__"
+ }
}