[binutils-gdb] [gdb/testsuite] Fix timeout in gdb.fortran/info-types.exp

Tom de Vries vries@sourceware.org
Mon Sep 23 19:40:10 GMT 2024


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

commit b9155b800c6be57a7f4933a4fd8c5c5d51414e77
Author: Tom de Vries <tdevries@suse.de>
Date:   Mon Sep 23 21:40:16 2024 +0200

    [gdb/testsuite] Fix timeout in gdb.fortran/info-types.exp
    
    When running the testsuite in an enviroment that simulates a stressed system,
    I ran into a timeout in test-case gdb.fortran/info-types.exp:
    ...
    (gdb) info types^M
    FAIL: gdb.fortran/info-types.exp: info types (timeout)
    ...
    
    This is mainly due the presence of glibc debug info.
    
    With it installed, I get:
    ...
    $ time gdb -q -batch -x outputs/gdb.fortran/info-types/gdb.in.1 > /dev/null
    real    0m35.969s
    user    0m38.231s
    sys     0m1.007s
    ...
    and without:
    ...
    $ time gdb -q -batch -x outputs/gdb.fortran/info-types/gdb.in.1 > /dev/null
    real    0m4.782s
    user    0m5.014s
    sys     0m0.304s
    ...
    
    Fix this by not running to main, which gets us:
    ...
    $ time gdb -q -batch -x outputs/gdb.fortran/info-types/gdb.in.1 > /dev/null
    real    0m0.808s
    user    0m0.789s
    sys     0m0.137s
    ...
    
    Likewise in gdb.mi/mi-sym-info.exp and gdb.mi/mi-complete.exp.
    
    Tested on x86_64-linux.
    
    Approved-By: Tom Tromey <tom@tromey.com>

Diff:
---
 gdb/testsuite/gdb.fortran/info-types.exp | 6 ++----
 gdb/testsuite/gdb.mi/mi-complete.exp     | 3 ++-
 gdb/testsuite/gdb.mi/mi-sym-info.exp     | 3 ++-
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/gdb/testsuite/gdb.fortran/info-types.exp b/gdb/testsuite/gdb.fortran/info-types.exp
index 52ce7ace89d..ad2c9889ec9 100644
--- a/gdb/testsuite/gdb.fortran/info-types.exp
+++ b/gdb/testsuite/gdb.fortran/info-types.exp
@@ -27,10 +27,8 @@ if { [prepare_for_testing "failed to prepare" $testfile \
     return -1
 }
 
-if { ![fortran_runto_main] } {
-    perror "Could not run to main."
-    return
-}
+# Don't run to main to avoid increasing the search scope to include
+# debug info of shared libraries like libc, libgcc, libgfortran etc.
 
 set integer4 [fortran_int4]
 set integer8 [fortran_int8]
diff --git a/gdb/testsuite/gdb.mi/mi-complete.exp b/gdb/testsuite/gdb.mi/mi-complete.exp
index 91564a43302..7fccaa22545 100644
--- a/gdb/testsuite/gdb.mi/mi-complete.exp
+++ b/gdb/testsuite/gdb.mi/mi-complete.exp
@@ -28,7 +28,8 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debu
 
 mi_clean_restart $binfile
 
-mi_runto_main
+# Don't run to main to avoid increasing the search scope to include
+# debug info of shared libraries like glibc, libgcc, etc.
 
 mi_gdb_test "1-complete br" \
             "1\\^done,completion=\"break\",matches=\\\[.*\"break\",.*\"break-range\".*\\\],max_completions_reached=\"0\"" \
diff --git a/gdb/testsuite/gdb.mi/mi-sym-info.exp b/gdb/testsuite/gdb.mi/mi-sym-info.exp
index 40c06443509..b8db2af0d0b 100644
--- a/gdb/testsuite/gdb.mi/mi-sym-info.exp
+++ b/gdb/testsuite/gdb.mi/mi-sym-info.exp
@@ -35,7 +35,8 @@ if {[build_executable "failed to prepare" ${testfile} \
 
 mi_clean_restart $binfile
 
-mi_runto_main
+# Don't run to main to avoid increasing the search scope to include
+# debug info of shared libraries like libc, libgcc, etc.
 
 set qstr "\"\[^\"\]+\""
 set fun_re \


More information about the Gdb-cvs mailing list