[pushed,gdb/testsuite] Prevent timeout in gdb.ada/float-bits.exp

Message ID 20221202075702.5969-1-tdevries@suse.de
State Committed
Headers
Series [pushed,gdb/testsuite] Prevent timeout in gdb.ada/float-bits.exp |

Commit Message

Tom de Vries Dec. 2, 2022, 7:57 a.m. UTC
  Recent commit 32a5aa26256 ("[gdb/testsuite] Fix gdb.ada/float-bits.exp
for powerpc64le") started using command "maint print architecture", which
produces ~275 lines.

Rewrite the corresponding gdb_test_multiple to read line-by-line, to prevent
timeouts on slower test setups.

Note that this doesn't fix a timeout in the test-case on aarch64 due to:
...
gdbarch_dump: read_core_file_mappings = <0x817438>
(gdb) aarch64_dump_tdep: Lowest pc = 0x0x8000
...

Tested on x86_64-linux.
---
 gdb/testsuite/gdb.ada/float-bits.exp | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)


base-commit: aaa8dbc1b31233f66131476e03ab8635805e515d
  

Patch

diff --git a/gdb/testsuite/gdb.ada/float-bits.exp b/gdb/testsuite/gdb.ada/float-bits.exp
index 921fe36a4bd..dab16a60286 100644
--- a/gdb/testsuite/gdb.ada/float-bits.exp
+++ b/gdb/testsuite/gdb.ada/float-bits.exp
@@ -75,14 +75,21 @@  set gdb_long_double_size [float_size "16llf#0#" ]
 
 # Get the used long double format.
 set long_double_format ""
-gdb_test_multiple "maint print architecture" "" {
-    -re "\r\ngdbarch_dump: long_double_format = (\[^\r\n\]*)" {
+set cmd "maint print architecture"
+gdb_test_multiple $cmd  "" {
+    -re "^[string_to_regexp $cmd](?=\r\n)" {
+	exp_continue
+    }
+    -re "^\r\ngdbarch_dump: long_double_format = (\[^\r\n\]*)(?=\r\n)" {
 	set long_double_format $expect_out(1,string)
 	exp_continue
     }
-    -re -wrap "" {
+    -re "^\r\n$gdb_prompt $" {
 	pass $gdb_test_name
     }
+    -re "^\r\n(\[^\r\n\]*)(?=\r\n)" {
+	exp_continue
+    }
 }
 
 # Set default values for 128-bit IEEE quad long doubles.