[committed,gdb/testsuite,1/2] Fix gdb.linespec/explicit.exp with check-read1

Message ID 20190729142547.GA21025@delia
State New, archived
Headers

Commit Message

Tom de Vries July 29, 2019, 2:25 p.m. UTC
  Hi,

When running gdb.linespec/explicit.exp with check-read1, we get:
...
(gdb) PASS: gdb.linespec/explicit.exp: complete unique file name: break -source "3explicit.c"
break -source exp^Glicit^G^M
explicit.c   explicit2.c  ^M
(gdb) FAIL: gdb.linespec/explicit.exp: complete non-unique file name
...

The problem is that we have a gdb_test_multiple where we match two regexps:
...
        set tst "complete non-unique file name"
        send_gdb "break -source exp\t"
        gdb_test_multiple "" $tst {
            -re "break -source exp\\\x07licit" {
                ...
            }

            -re "break -source exp\\\x07l" {
                # This pattern may occur when glibc debuginfo is installed.
		...
            }
        }
...
but since second is a substring of the first, we'll usually match the first,
but with check-read1 we'll match the second.

Fix this by using a single regexp and merging the related code.

Tested on x86_64-linux.

Committed to trunk.

Thanks,
- Tom

[gdb/testsuite, 1/2] Fix gdb.linespec/explicit.exp with check-read1

gdb/testsuite/ChangeLog:

2019-07-29  Tom de Vries  <tdevries@suse.de>

	* gdb.linespec/explicit.exp: Fix gdb_test_multiple regexps where second
	is a substring of the first for "complete non-unique file name".

---
 gdb/testsuite/gdb.linespec/explicit.exp | 15 +--------------
 1 file changed, 1 insertion(+), 14 deletions(-)
  

Patch

diff --git a/gdb/testsuite/gdb.linespec/explicit.exp b/gdb/testsuite/gdb.linespec/explicit.exp
index 11656ca5c5..90181b3acb 100644
--- a/gdb/testsuite/gdb.linespec/explicit.exp
+++ b/gdb/testsuite/gdb.linespec/explicit.exp
@@ -241,20 +241,7 @@  namespace eval $testfile {
 	    -re "break -source exp\\\x07licit" {
 		send_gdb "\t\t"
 		gdb_test_multiple "" $tst {
-		    -re "\\\x07\r\nexplicit.c\[ \t\]+explicit2.c\[ \t\]+\r\n$gdb_prompt" {
-			send_gdb "\n"
-			gdb_test "" \
-			    {Source filename requires function, label, or line offset.} \
-			    $tst
-		    }
-		}
-	    }
-
-	    -re "break -source exp\\\x07l" {
-		# This pattern may occur when glibc debuginfo is installed.
-		send_gdb "\t\t"
-		gdb_test_multiple "" $tst {
-		    -re "\\\x07\r\nexplicit.c\[ \t\]+explicit2.c\[ \t\]+expl.*\r\n$gdb_prompt" {
+		    -re "\\\x07\r\nexplicit.c\[ \t\]+explicit2.c\[ \t\]+\(expl.*\)?\r\n$gdb_prompt" {
 			send_gdb "\n"
 			gdb_test "" \
 			    {Source filename requires function, label, or line offset.} \