[gdb/testsuite] Fix core file load FAIL in tls-core.exp
authorTom de Vries <tdevries@suse.de>
Thu, 12 Mar 2020 08:50:04 +0000 (09:50 +0100)
committerTom de Vries <tdevries@suse.de>
Thu, 12 Mar 2020 08:50:04 +0000 (09:50 +0100)
commit1281424ccf3d05410398f4f495443d9e54426f91
treea88fbc016bd0412a099624f6fe2b22d74b2dc60c
parent8fb879cd16a3e3d1fe93e333c4c720fd33bcc416
[gdb/testsuite] Fix core file load FAIL in tls-core.exp

After deinstalling package glibc-debugsource, I run into the following FAIL
with test-case gdb.threads/tls-core.exp:
...
(gdb) core gdb/testsuite/outputs/gdb.threads/tls-core/tls-core.core^M
[New LWP 30081]^M
[New LWP 30080]^M
[Thread debugging using libthread_db enabled]^M
Using host libthread_db library "/lib64/libthread_db.so.1".^M
Core was generated by `gdb/testsuite/outputs/gdb.threads/tls-core/tls-c'.^M
Program terminated with signal SIGABRT, Aborted.^M
51      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.^M
[Current thread is 1 (Thread 0x7fb568d4b700 (LWP 30081))]^M
(gdb) FAIL: gdb.threads/tls-core.exp: native: load core file (file not found)
...

The problem is that this gdb_test_multiple clause in gdb_core_cmd:
...
       -re ": No such file or directory.*\r\n$gdb_prompt $" {
           fail "$test (file not found)"
           return -1
       }
...
triggers on the message about raise.c, while it is intended to catch:
...
$ gdb
(gdb) core bla
/home/vries/bla: No such file or directory.
...

Fix this by making the regexp more precise:
...
-       -re ": No such file or directory.*\r\n$gdb_prompt $" {
+       -re "$core: No such file or directory.*\r\n$gdb_prompt $" {
...

Tested on x86_64-linux.

Also tested the test-case with this patch in place to verify that the regexp
still triggers:
...
-       set core_loaded [gdb_core_cmd $corefile $test]
+       set core_loaded [gdb_core_cmd $corefile/bla $test]
...

gdb/testsuite/ChangeLog:

2020-03-12  Tom de Vries  <tdevries@suse.de>

* lib/gdb.exp (gdb_core_cmd): Make "No such file or directory" regexp
more precise.
gdb/testsuite/ChangeLog
gdb/testsuite/lib/gdb.exp