[gdb/testsuite] Fix fortran module tests with stressed cpu
authorTom de Vries <tdevries@suse.de>
Sat, 9 Oct 2021 09:35:43 +0000 (11:35 +0200)
committerTom de Vries <tdevries@suse.de>
Sat, 9 Oct 2021 09:35:43 +0000 (11:35 +0200)
When running these test-cases:
- gdb.fortran/info-modules.exp
- gdb.fortran/module.exp
- gdb.mi/mi-fortran-modules.exp
in conjunction with:
...
$ stress -c $(($(cat /proc/cpuinfo | grep -c "^processor") + 1))
...
I run into timeouts.

Fix this by using:
- "set auto-solib-add off" to avoid symbols of shared libs
  (which doesn't work for libc, now that libpthread_name_p has been
  updated to  match libc)
- "nosharedlibrary" to avoid symbols of libc

Tested on x86_64-linux.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=28133

gdb/testsuite/gdb.fortran/info-modules.exp
gdb/testsuite/gdb.fortran/module.exp
gdb/testsuite/gdb.mi/mi-fortran-modules.exp

index c9d2a18e11940e5465e5eddba6158023265c8e59..fe85f5060ac820c7ca2f69b1cd445cae4fe7c4c4 100644 (file)
@@ -28,11 +28,17 @@ if { [prepare_for_testing "failed to prepare" $testfile \
     return -1
 }
 
+# Avoid shared lib symbols.
+gdb_test_no_output "set auto-solib-add off"
+
 if { ![fortran_runto_main] } {
     perror "Could not run to main."
     continue
 }
 
+# Avoid libc symbols.
+gdb_test "nosharedlibrary"
+
 set logical4 [fortran_logical4]
 set integer4 [fortran_int4]
 set real4 [fortran_real4]
index b391855b2ee6aed0e9014d69074330136dcc1d68..c44c128c6c8105e359b682dd98e65b185c26b166 100644 (file)
@@ -31,11 +31,17 @@ gdb_test "p modmany::var_i" " = 14" "stopped language detection"
 
 gdb_test "print mod1::var_const" " = 20" "fully qualified name of DW_TAG_constant"
 
+# Avoid shared lib symbols.
+gdb_test_no_output "set auto-solib-add off"
+
 if ![fortran_runto_main] then {
     perror "couldn't run to main"
     continue
 }
 
+# Avoid libc symbols.
+gdb_test "nosharedlibrary"
+
 set int_type [fortran_int4]
 
 # Test 'info variables' can find module variables.
index fc1fa411ee3b91e9bbe3c2d79bea26cb70e92b72..871a25c65fc4675be4ca9189f135ea65445f098a 100644 (file)
@@ -30,8 +30,13 @@ if {[build_executable "failed to prepare" ${testfile} \
 
 mi_clean_restart $binfile
 
+# Avoid shared lib symbols.
+mi_gdb_test "-gdb-set auto-solib-add off" "\\^done"
+
 mi_runto_main
 
+# Avoid libc symbols.
+mi_gdb_test {-interpreter-exec console "nosharedlibrary"}
 
 # Patterns to skip optional system modules that appear with later versions of GFortran.
 set system_modules_pattern \