From: Simon Marchi Date: Mon, 14 Oct 2019 04:37:30 +0000 (-0400) Subject: gdb.mi/list-thread-groups-available.exp: read entries one by one instead of increasin... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9223170f68f85787b9cd85e76d3bac3eaa69cafb;p=binutils-gdb.git gdb.mi/list-thread-groups-available.exp: read entries one by one instead of increasing timeout Commit 580f1034 ("Increase timeout in gdb.mi/list-thread-groups-available.exp") changed gdb.mi/list-thread-groups-available.exp to significantly increase the timeout, which was necessary for when running with make check-read1. Pedro suggested a better alternative, which is to use gdb_test_multiple and consume one entry at a time. This patch does that. gdb/testsuite/ChangeLog: * gdb.mi/list-thread-groups-available.exp: Read entries one by one instead of increasing timeout. Change-Id: I51b689458503240f24e401f054e6583d9172ebdf --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index ba724896290..ce6e0f221a9 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2019-10-14 Simon Marchi + + * gdb.mi/list-thread-groups-available.exp: Read entries one by + one instead of increasing timeout. + 2019-10-13 Tom de Vries PR record/25038 diff --git a/gdb/testsuite/gdb.mi/list-thread-groups-available.exp b/gdb/testsuite/gdb.mi/list-thread-groups-available.exp index ab5c716a57a..3a7517ff484 100644 --- a/gdb/testsuite/gdb.mi/list-thread-groups-available.exp +++ b/gdb/testsuite/gdb.mi/list-thread-groups-available.exp @@ -54,15 +54,24 @@ set cores_re "cores=\\\[(\"$decimal\"(,\"$decimal\")*)?\\\]" # List all available processes. set process_entry_re "{${id_re},${type_re}(,$description_re)?(,$user_re)?(,$cores_re)?}" -# Increase the timeout: when running with `make check-read1`, this can take -# a bit of time, as there is a lot of output generated, hence a lot of read -# syscalls. -with_read1_timeout_factor 10 { - mi_gdb_test \ - "-list-thread-groups --available" \ - "\\^done,groups=\\\[${process_entry_re}(,$process_entry_re)*\\\]" \ - "list available thread groups" -} +# The list can be long, so read entries one by one to avoid hitting the +# timeout (especially when running with check-read1). +gdb_test_multiple "-list-thread-groups --available" "list available thread groups" { + -re "\\^done,groups=\\\[" { + # The beginning of the response. + exp_continue + } + + -re "${process_entry_re}," { + # All entries except the last one. + exp_continue + } + + -re "${process_entry_re}\\\]\r\n${mi_gdb_prompt}" { + # The last entry. + pass $gdb_test_name + } +} $mi_gdb_prompt # List specific processes, make sure there are two entries. set spawn_id_1 [remote_spawn target $binfile]