[gdb/testsuite] Fix fortran module tests with stressed cpu

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
This commit is contained in:
Tom de Vries
2021-10-09 11:35:43 +02:00
parent 0161bdd47c
commit f9edf60830
3 changed files with 17 additions and 0 deletions

View 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]

View 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.

View 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 \