public inbox for gdb-cvs@sourceware.org
help / color / mirror / Atom feed
* [binutils-gdb] [gdb/testsuite] Fix gdb.mi/gdb2549.exp with check-read1
@ 2020-03-03 10:35 Tom de Vries
  0 siblings, 0 replies; 2+ messages in thread
From: Tom de Vries @ 2020-03-03 10:35 UTC (permalink / raw)
  To: gdb-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=478e490a4df79436d678ca5f5f1d7c7ac7befa79

commit 478e490a4df79436d678ca5f5f1d7c7ac7befa79
Author: Tom de Vries <tdevries@suse.de>
Date:   Tue Mar 3 11:34:53 2020 +0100

    [gdb/testsuite] Fix gdb.mi/gdb2549.exp with check-read1
    
    When running gdb.mi/gdb2549.exp with check-read1, we get:
    ...
    Running src/gdb/testsuite/gdb.mi/gdb2549.exp ...
    FAIL: gdb.mi/gdb2549.exp: register values t (timeout)
    ...
    
    The problem is that the command generates a lot of output, which is matched by
    a single '.*':
    ...
    mi_gdb_test "666-data-list-register-values t" \
      "666\\^done,register-values=\\\[\{number=\"$decimal\",value=\"$binary\"\}.*\\\]" \
      "register values t"
    ...
    
    Fix this by splitting up the matching and calling exp_continue after each
    number/value pair.
    
    Tested on x86_64-linux with make targets check and check-read1.
    
    gdb/testsuite/ChangeLog:
    
    2020-03-03  Tom de Vries  <tdevries@suse.de>
    
    	* gdb.mi/gdb2549.exp: Fix "register values t" check-read1 timeout.

Diff:
---
 gdb/testsuite/ChangeLog          |  4 ++++
 gdb/testsuite/gdb.mi/gdb2549.exp | 33 ++++++++++++++++++++++++++++++---
 2 files changed, 34 insertions(+), 3 deletions(-)

diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 73a05d3..0563fec 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,5 +1,9 @@
 2020-03-03  Tom de Vries  <tdevries@suse.de>
 
+	* gdb.mi/gdb2549.exp: Fix "register values t" check-read1 timeout.
+
+2020-03-03  Tom de Vries  <tdevries@suse.de>
+
 	* gdb.mi/list-thread-groups-available.exp: Use -prompt syntax for
 	gdb_test_multiple call.
 
diff --git a/gdb/testsuite/gdb.mi/gdb2549.exp b/gdb/testsuite/gdb.mi/gdb2549.exp
index 0b4cb6b..cc6441c 100644
--- a/gdb/testsuite/gdb.mi/gdb2549.exp
+++ b/gdb/testsuite/gdb.mi/gdb2549.exp
@@ -51,6 +51,7 @@ proc register_tests_no_exec { } {
 proc register_tests { } {
     global hex
     global decimal
+    global mi_gdb_prompt
     set octal "\[0-7\]+"
     set binary "\[0-1\]+"
     set float "\\-?((\[0-9\]+(\\.\[0-9\]+)?(e\[-+\]\[0-9\]+)?)|(nan\\($hex\\)))"
@@ -71,9 +72,35 @@ proc register_tests { } {
 	    "555\\^done,register-values=\\\[\{number=\"$decimal\",value=\"$octal\"\}.*\\\]" \
 	    "register values o"
 
-    mi_gdb_test "666-data-list-register-values t" \
-	    "666\\^done,register-values=\\\[\{number=\"$decimal\",value=\"$binary\"\}.*\\\]" \
-	    "register values t"
+    set cmd "666-data-list-register-values t"
+    set test "register values t"
+    set state 0
+    gdb_test_multiple $cmd $test -prompt "$mi_gdb_prompt$" {
+	-re "666\\^done,register-values=\\\[" {
+	    if { $state == 0 } {
+		set state 1
+		exp_continue
+	    }
+	    fail $gdb_test_name
+	}
+	-re "\{number=\"$decimal\",value=\"$binary\"\}" {
+	    if { $state != 0 } {
+		set state 2
+		exp_continue
+	    }
+	    fail $gdb_test_name
+	}
+	-re "\{number=\"$decimal\",value=\"\[^\"\]*\"\}" {
+	    exp_continue
+	}
+	-re "\]\r\n$mi_gdb_prompt$" {
+	    if { $state == 2 } {
+		pass $gdb_test_name
+	    } else {
+		fail $gdb_test_name
+	    }
+	}
+    }
 }
 
 register_tests_no_exec


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

* [binutils-gdb] [gdb/testsuite] Fix gdb.mi/gdb2549.exp with check-read1
@ 2021-10-08 11:07 Tom de Vries
  0 siblings, 0 replies; 2+ messages in thread
From: Tom de Vries @ 2021-10-08 11:07 UTC (permalink / raw)
  To: gdb-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=2550e478ad11b199780b733f2c657ab8ffdb0f14

commit 2550e478ad11b199780b733f2c657ab8ffdb0f14
Author: Tom de Vries <tdevries@suse.de>
Date:   Fri Oct 8 13:07:52 2021 +0200

    [gdb/testsuite] Fix gdb.mi/gdb2549.exp with check-read1
    
    When running test-case gdb.mi/gdb2549.exp with check-read1, I run into:
    ...
    FAIL: gdb.mi/gdb2549.exp: register values x (timeout)
    ...
    
    Fix this by applying the same fix as for "register values t" in commit
    478e490a4df "[gdb/testsuite] Fix gdb.mi/gdb2549.exp with check-read1".
    
    Tested on x86_64-linux.

Diff:
---
 gdb/testsuite/gdb.mi/gdb2549.exp | 46 ++++++++++++++++++----------------------
 1 file changed, 21 insertions(+), 25 deletions(-)

diff --git a/gdb/testsuite/gdb.mi/gdb2549.exp b/gdb/testsuite/gdb.mi/gdb2549.exp
index aebf9c904d9..9cdc31e532c 100644
--- a/gdb/testsuite/gdb.mi/gdb2549.exp
+++ b/gdb/testsuite/gdb.mi/gdb2549.exp
@@ -43,42 +43,23 @@ proc register_tests_no_exec { } {
 		"no executable"
 }
 
-proc register_tests { } {
-    global hex
-    global decimal
+proc register_test { n arg format } {
     global mi_gdb_prompt
-    set octal "\[0-7\]+"
-    set binary "\[0-1\]+"
-    set float "\\-?((\[0-9\]+(\\.\[0-9\]+)?(e\[-+\]\[0-9\]+)?)|(nan\\($hex\\)))"
-
-    mi_gdb_test "222-data-list-register-values x" \
-	    "222\\^done,register-values=\\\[\{number=\"$decimal\",value=\"$hex\"\}.*\\\]" \
-	    "register values x"
-
-    mi_gdb_test "333-data-list-register-values f" \
-	    "333\\^done,register-values=\\\[\{number=\"$decimal\",value=\"$float\"\}.*\\\]" \
-	    "register values f"
-
-    mi_gdb_test "444-data-list-register-values d" \
-	    "444\\^done,register-values=\\\[\{number=\"$decimal\",value=\"-?$decimal\"\}.*\\\]" \
-	    "register values d"
+    global decimal
 
-    mi_gdb_test "555-data-list-register-values o" \
-	    "555\\^done,register-values=\\\[\{number=\"$decimal\",value=\"$octal\"\}.*\\\]" \
-	    "register values o"
+    set cmd "$n-data-list-register-values $arg"
+    set test "register values $arg"
 
-    set cmd "666-data-list-register-values t"
-    set test "register values t"
     set state 0
     gdb_test_multiple $cmd $test -prompt "$mi_gdb_prompt$" {
-	-re "666\\^done,register-values=\\\[" {
+	-re "$n\\^done,register-values=\\\[" {
 	    if { $state == 0 } {
 		set state 1
 		exp_continue
 	    }
 	    fail $gdb_test_name
 	}
-	-re "\{number=\"$decimal\",value=\"$binary\"\}" {
+	-re "\{number=\"$decimal\",value=\"$format\"\}" {
 	    if { $state != 0 } {
 		set state 2
 		exp_continue
@@ -98,6 +79,21 @@ proc register_tests { } {
     }
 }
 
+proc register_tests { } {
+    global hex
+    global decimal
+    set octal "\[0-7\]+"
+    set binary "\[0-1\]+"
+    set float \
+	"\\-?((\[0-9\]+(\\.\[0-9\]+)?(e\[-+\]\[0-9\]+)?)|(nan\\($hex\\)))"
+
+    register_test 222 x $hex
+    register_test 333 f $float
+    register_test 444 d -?$decimal
+    register_test 555 o $octal
+    register_test 666 t $binary
+}
+
 mi_clean_restart $binfile
 
 register_tests_no_exec


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

end of thread, other threads:[~2021-10-08 11:07 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-03 10:35 [binutils-gdb] [gdb/testsuite] Fix gdb.mi/gdb2549.exp with check-read1 Tom de Vries
2021-10-08 11:07 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).