Testsuite: Remove race condition from mi-cmd-param-changed.exp

Message ID 20181009124457.81037-1-alan.hayward@arm.com
State Dropped
Headers

Commit Message

Alan Hayward Oct. 9, 2018, 12:44 p.m. UTC
  target_supports_scheduler_locking does not wait for the gdb
prompt after calling gdb_start_cmd.

Fix by replacing with runto_main.

This removes the racy behaviour of mi-cmd-param-changed.exp.

gdb/testsuite/ChangeLog:

2018-10-09  Alan Hayward  <alan.hayward@arm.com>

	* lib/gdb.exp (target_supports_scheduler_locking): Call runto_main.
---
 gdb/testsuite/lib/gdb.exp | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
  

Comments

Pedro Alves Oct. 9, 2018, 1 p.m. UTC | #1
On 10/09/2018 01:44 PM, Alan Hayward wrote:
> target_supports_scheduler_locking does not wait for the gdb
> prompt after calling gdb_start_cmd.
> 
> Fix by replacing with runto_main.
> 
> This removes the racy behaviour of mi-cmd-param-changed.exp.
> 
> gdb/testsuite/ChangeLog:
> 
> 2018-10-09  Alan Hayward  <alan.hayward@arm.com>
> 
> 	* lib/gdb.exp (target_supports_scheduler_locking): Call runto_main.

Tom de Vries had already submitted a patch for this, but it
hadn't been reviewed yet.  I've approved Tom's now.  Sorry
about the duplicated work.

Thanks,
Pedro Alves
  
Alan Hayward Oct. 9, 2018, 5:52 p.m. UTC | #2
> On 9 Oct 2018, at 14:00, Pedro Alves <palves@redhat.com> wrote:
> 
> On 10/09/2018 01:44 PM, Alan Hayward wrote:
>> target_supports_scheduler_locking does not wait for the gdb
>> prompt after calling gdb_start_cmd.
>> 
>> Fix by replacing with runto_main.
>> 
>> This removes the racy behaviour of mi-cmd-param-changed.exp.
>> 
>> gdb/testsuite/ChangeLog:
>> 
>> 2018-10-09  Alan Hayward  <alan.hayward@arm.com>
>> 
>> 	* lib/gdb.exp (target_supports_scheduler_locking): Call runto_main.
> 
> Tom de Vries had already submitted a patch for this, but it
> hadn't been reviewed yet.  I've approved Tom's now.  Sorry
> about the duplicated work.
> 

No probs, glad it got fixed.

Alan.
  

Patch

diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index 9284291ccd..6a99eca6f9 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -5957,7 +5957,9 @@  gdb_caching_proc target_supports_scheduler_locking {
     }
 
     clean_restart $obj
-    gdb_start_cmd
+    if ![runto_main] {
+        return 0
+    }
 
     set supports_schedule_locking -1
     set current_schedule_locking_mode ""