[gdb/testsuite] Fix handling of nr_args < 3 in mi_gdb_test
authorTom de Vries <tdevries@suse.de>
Fri, 10 Sep 2021 15:16:48 +0000 (17:16 +0200)
committerTom de Vries <tdevries@suse.de>
Fri, 10 Sep 2021 15:16:48 +0000 (17:16 +0200)
commite36788d135499f18ffc7e528c5ac4bd5a560a5b9
tree169b249750d7b821f4a77e0b165f8cd9ae636437
parentca4987847046f288573278237673ded42a2dead8
[gdb/testsuite] Fix handling of nr_args < 3 in mi_gdb_test

The documentation of mi_gdb_test states that the command, pattern and message
arguments are mandatory:
...
 # mi_gdb_test COMMAND PATTERN MESSAGE [IPATTERN] -- send a command to gdb;
 #   test the result.
...

However, this is not checked, and when mi_gdb_test is called with less than 3
arguments, it passes or fails silently.

Fix this by using the following semantics:
- if there are 1 or 2 arguments, use the command as the message.
- if there is 1 argument, use ".*" as the pattern.
- if there are no or too much arguments, error out.

Fix a PATH issue in gdb.mi/mi-logging.exp, introduced by using the command as
message.  Fix a few other trivial-looking FAILs.

There are 11 less trivial-looking FAILs left in gdb.mi in test-cases:
- mi-nsmoribund.exp
- mi-breakpoint-changed.exp
- mi-break.exp.

Tested on x86_64-linux.
gdb/testsuite/gdb.mi/mi-break.exp
gdb/testsuite/gdb.mi/mi-logging.exp
gdb/testsuite/gdb.mi/mi-memory-changed.exp
gdb/testsuite/gdb.mi/mi-nsmoribund.exp
gdb/testsuite/gdb.python/py-mi.exp
gdb/testsuite/lib/mi-support.exp