gdb/testsuite: change mi_gdb_start to take a list of flags
authorAndrew Burgess <aburgess@redhat.com>
Wed, 27 Apr 2022 17:45:47 +0000 (18:45 +0100)
committerAndrew Burgess <aburgess@redhat.com>
Tue, 3 May 2022 09:30:33 +0000 (10:30 +0100)
commit43cef57a742bae20477bb2fbb306ab4c4167318c
tree8671bda7246427571bc5778315cc9c0c1ec21e30
parent11039eff7166cf40d502c88e8b161dd7602120aa
gdb/testsuite: change mi_gdb_start to take a list of flags

After this previous commit I was thinking about the API of
mi_gdb_start.  I felt that the idea of passing flags as separate
arguments and using 'args' to gather these into a list, though clever,
was not an intuitive API.

In this commit I modify mi_gdb_start so that it expects a single
argument, which should be a list of flags.  Thus, where we previously
would have said:

  mi_gdb_start separate-mi-tty separate-inferior-tty

We would now say:

  mi_gdb_start { separate-mi-tty separate-inferior-tty }

However, it turns out we never actually call mi_gdb_start passing two
arguments in this way at all.  We do in some places do this:

  mi_gdb_start separate-inferior-tty

But that's fine, a single string like this works equally well as a
single item list, so this will not need updating.

There is also one place where we do this:

  eval mi_gdb_start $start_ops

where $start_ops is a list that might contains 0, 1, or 2 items.  The
eval here is used to expand the $start_ops list so mi_gdb_start sees
the list contents as separate arguments.  In this case we just need to
drop the use of eval.

I think that the new API is more intuitive, but others might
disagree, in which case I can drop this change.

There should be no change in what is tested after this commit.
gdb/testsuite/gdb.mi/mi-exec-run.exp
gdb/testsuite/lib/mi-support.exp