[gdb/testsuite] Fix xfail handling in gdb.threads/gcore-thread.exp

When running test-case gdb.threads/gcore-thread.exp on openSUSE Tumbleweed,
I run into these XFAILs:
...
XFAIL: gdb.threads/gcore-thread.exp: clear __stack_user.next
XFAIL: gdb.threads/gcore-thread.exp: clear stack_used.next
...

Apart from the xfail, the test-case also sets core0file to "":
...
        -re "No symbol \"${symbol}\" in current context\\.\r\n$gdb_prompt $" {
            xfail $test
            # Do not do the verification.
            set core0file ""
        }
...

After which we run into this FAIL, because gdb_core_cmd fails to load a
core file called "":
...
(gdb) core ^M
No core file now.^M
(gdb) FAIL: gdb.threads/gcore-thread.exp: core0file: \
  re-load generated corefile
...

Fix this FAIL by skipping gdb_core_cmd if the core file is "".

Tested on x86_64-linux.

gdb/testsuite/ChangeLog:

2021-04-06  Tom de Vries  <tdevries@suse.de>

	PR testsuite/27691
	* gdb.threads/gcore-thread.exp: Don't call gdb_core_cmd with core
	file "".
This commit is contained in:
Tom de Vries 2021-04-06 10:40:11 +02:00
parent a32a7fdc94
commit 043bcbaf81
2 changed files with 22 additions and 4 deletions

View File

@ -1,3 +1,9 @@
2021-04-06 Tom de Vries <tdevries@suse.de>
PR testsuite/27691
* gdb.threads/gcore-thread.exp: Don't call gdb_core_cmd with core
file "".
2021-04-01 Egeyar Bagcioglu <egeyar@gmail.com>
* lib/pdtrace.in: Fix obvious typo.

View File

@ -114,11 +114,13 @@ if {"$core0file" != ""} {
# Now restart gdb and load the corefile.
clean_restart ${testfile}
foreach name { corefile core0file } { with_test_prefix $name {
set core_loaded [gdb_core_cmd [subst $$name] "re-load generated corefile"]
proc load_core { filename } {
global horiz nl
set core_loaded [gdb_core_cmd $filename "re-load generated corefile"]
if { $core_loaded == -1 } {
# No use proceeding from here.
continue
return
}
# FIXME: now what can we test about the thread state?
@ -139,4 +141,14 @@ foreach name { corefile core0file } { with_test_prefix $name {
gdb_test "info threads" "\\* ${horiz} thread2 .*${nl}" \
"thread2 is current thread in corefile"
}}
}
foreach name { corefile core0file } {
set filename [subst $$name]
if { $filename == "" } {
continue
}
with_test_prefix $name {
load_core $filename
}
}