public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* [committed][gdb/testsuite] Fix core file load FAIL in tls-core.exp
@ 2020-03-12  8:51 Tom de Vries
  2020-03-12  9:20 ` Andreas Schwab
  0 siblings, 1 reply; 3+ messages in thread
From: Tom de Vries @ 2020-03-12  8:51 UTC (permalink / raw)
  To: gdb-patches

Hi,

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]
...

Committed to trunk.

Thanks,
- Tom

[gdb/testsuite] Fix core file load FAIL in tls-core.exp

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/lib/gdb.exp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index 9e903ba347..bb70ef13f2 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -4648,7 +4648,7 @@ proc gdb_core_cmd { core test } {
 	    fail "$test (bad file format)"
 	    return -1
 	}
-	-re ": No such file or directory.*\r\n$gdb_prompt $" {
+	-re "$core: No such file or directory.*\r\n$gdb_prompt $" {
 	    fail "$test (file not found)"
 	    return -1
 	}

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [committed][gdb/testsuite] Fix core file load FAIL in tls-core.exp
  2020-03-12  8:51 [committed][gdb/testsuite] Fix core file load FAIL in tls-core.exp Tom de Vries
@ 2020-03-12  9:20 ` Andreas Schwab
  2020-03-12 10:04   ` [committed][gdb/testsuite] Use string_to_regexp on core filename in gdb_core_cmd Tom de Vries
  0 siblings, 1 reply; 3+ messages in thread
From: Andreas Schwab @ 2020-03-12  9:20 UTC (permalink / raw)
  To: Tom de Vries; +Cc: gdb-patches

On Mär 12 2020, Tom de Vries wrote:

> diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
> index 9e903ba347..bb70ef13f2 100644
> --- a/gdb/testsuite/lib/gdb.exp
> +++ b/gdb/testsuite/lib/gdb.exp
> @@ -4648,7 +4648,7 @@ proc gdb_core_cmd { core test } {
>  	    fail "$test (bad file format)"
>  	    return -1
>  	}
> -	-re ": No such file or directory.*\r\n$gdb_prompt $" {
> +	-re "$core: No such file or directory.*\r\n$gdb_prompt $" {

I think you need to regexp-quote the string.

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [committed][gdb/testsuite] Use string_to_regexp on core filename in gdb_core_cmd
  2020-03-12  9:20 ` Andreas Schwab
@ 2020-03-12 10:04   ` Tom de Vries
  0 siblings, 0 replies; 3+ messages in thread
From: Tom de Vries @ 2020-03-12 10:04 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: gdb-patches

[-- Attachment #1: Type: text/plain, Size: 689 bytes --]

[ was: Re: [committed][gdb/testsuite] Fix core file load FAIL in
tls-core.exp ]
On 12-03-2020 10:20, Andreas Schwab wrote:
> On Mär 12 2020, Tom de Vries wrote:
> 
>> diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
>> index 9e903ba347..bb70ef13f2 100644
>> --- a/gdb/testsuite/lib/gdb.exp
>> +++ b/gdb/testsuite/lib/gdb.exp
>> @@ -4648,7 +4648,7 @@ proc gdb_core_cmd { core test } {
>>  	    fail "$test (bad file format)"
>>  	    return -1
>>  	}
>> -	-re ": No such file or directory.*\r\n$gdb_prompt $" {
>> +	-re "$core: No such file or directory.*\r\n$gdb_prompt $" {
> 
> I think you need to regexp-quote the string.
> 

Ack, fixed by this patch.

Thanks,
- Tom

[-- Attachment #2: 0001-gdb-testsuite-Use-string_to_regexp-on-core-filename-in-gdb_core_cmd.patch --]
[-- Type: text/x-patch, Size: 1196 bytes --]

[gdb/testsuite] Use string_to_regexp on core filename in gdb_core_cmd

In commit 1281424ccf "[gdb/testsuite] Fix core file load FAIL in
tls-core.exp", I've made this change:
...
-       -re ": No such file or directory.*\r\n$gdb_prompt $" {
+       -re "$core: No such file or directory.*\r\n$gdb_prompt $" {
...

However, the $core variable contains a filename which needs to be matched
as a literal string, not as a regexp.

Fix this by using string_to_regexp.

Tested on x86_64-linux.

gdb/testsuite/ChangeLog:

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

	* lib/gdb.exp (gdb_core_cmd): Use string_to_regexp for regexp-matching
	$core.

---
 gdb/testsuite/lib/gdb.exp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index bb70ef13f2..ae2d810a1e 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -4648,7 +4648,7 @@ proc gdb_core_cmd { core test } {
 	    fail "$test (bad file format)"
 	    return -1
 	}
-	-re "$core: No such file or directory.*\r\n$gdb_prompt $" {
+	-re -wrap "[string_to_regexp $core]: No such file or directory.*" {
 	    fail "$test (file not found)"
 	    return -1
 	}

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-03-12 10:04 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-12  8:51 [committed][gdb/testsuite] Fix core file load FAIL in tls-core.exp Tom de Vries
2020-03-12  9:20 ` Andreas Schwab
2020-03-12 10:04   ` [committed][gdb/testsuite] Use string_to_regexp on core filename in gdb_core_cmd Tom de Vries

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).