gdb/testsuite: expand gdb.base/foll-vfork.exp
authorAndrew Burgess <aburgess@redhat.com>
Wed, 21 Jun 2023 13:19:27 +0000 (14:19 +0100)
committerAndrew Burgess <aburgess@redhat.com>
Mon, 17 Jul 2023 08:45:19 +0000 (09:45 +0100)
commita068d1a6b2dd982e1019bc265610f07bb8adff94
tree2f012bd189c9d1c3b2dcf34754d154f706df0e17
parentb1e0126ec56e099d753c20e91a9f8623aabd6b46
gdb/testsuite: expand gdb.base/foll-vfork.exp

This commit provides tests for all of the bugs fixed in the previous
four commits, this is achieved by expanding gdb.base/foll-vfork.exp to
run with different configurations:

  * target-non-stop on/off
  * non-stop on/off
  * schedule-multiple on/off

We don't test with schedule-multiple on if we are using a remote
target, this is due to bug gdb/30574.  I've added a link to that bug
in this commit, but all this commit does is expose that bug, there's
no fixes here.

Some of the bugs fixed in the previous commits are very timing
dependent, as such, they don't always show up.  I've had more success
when running this test on a very loaded machine -- I usually run ~8
copies of the test in parallel, then the bugs would normally show up
pretty quickly.

Other than running the test in more configurations, I've not made any
changes to what is actually being tested, other than in one place
where, when testing with non-stop mode, GDB stops in a different
inferior, as such I had to add a new 'inferior 2' call, this can be
found in vfork_relations_in_info_inferiors.

I have cleaned things up a little, for example, making use of
proc_with_prefix to remove some with_test_prefix calls.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30574
gdb/testsuite/gdb.base/foll-vfork.exp