[gdb/testsuite] Fix use of fail in gdb_cmd_file
authorTom de Vries <tdevries@suse.de>
Thu, 4 Jun 2020 14:13:14 +0000 (16:13 +0200)
committerTom de Vries <tdevries@suse.de>
Thu, 4 Jun 2020 14:13:14 +0000 (16:13 +0200)
When building gdb using this patch:
...
 static void
 file_command (const char *arg, int from_tty)
 {
+  gdb_assert (0);
...
and running the testsuite, we run into:
...
Running src/gdb/testsuite/gdb.ada/O2_float_param.exp ...
PASS: gdb.ada/O2_float_param.exp: compilation foo.adb
FAIL: gdb.ada/O2_float_param.exp: (outputs/gdb.ada/O2_float_param/foo) \
  (GDB internal error)
PATH: gdb.ada/O2_float_param.exp: (outputs/gdb.ada/O2_float_param/foo) \
  (GDB internal error)
FAIL: gdb.ada/O2_float_param.exp: frame
...

The FAIL detecting the GDB internal error is generated by this clause in
gdb_file_cmd:
...
       -re "A problem internal to GDB has been detected" {
           fail "($arg) (GDB internal error)"
           gdb_internal_error_resync
           return -1
       }
...

The fail message has no text outside parenthesis, and could be considered
empty.  Also, it's the only clause in the gdb_expect that uses fail, the
rest uses perror.

Fix this by replacing the fail by perror, such that we have:
...
Running src/gdb/testsuite/gdb.ada/O2_float_param.exp ...
PASS: gdb.ada/O2_float_param.exp: compilation foo.adb
ERROR: Couldn't load outputs/gdb.ada/O2_float_param/foo into \
  gdb (GDB internal error).
UNRESOLVED: gdb.ada/O2_float_param.exp: frame
...

Tested on x86_64-linux.

gdb/testsuite/ChangeLog:

2020-06-04  Tom de Vries  <tdevries@suse.de>

* lib/gdb.exp (gdb_file_cmd): Use perror instead of fail.

gdb/testsuite/ChangeLog
gdb/testsuite/lib/gdb.exp

index 21cfc17294ed8eab10b8ac20e52b06904ed9173f..ab9443eceb77836c8849e66e383d6e720beac1ff 100644 (file)
@@ -1,3 +1,7 @@
+2020-06-04  Tom de Vries  <tdevries@suse.de>
+
+       * lib/gdb.exp (gdb_file_cmd): Use perror instead of fail.
+
 2020-06-03  Tom de Vries  <tdevries@suse.de>
 
        PR symtab/26046
index 444cea01c36a338ab82d4227d9b36e019eedd0e4..63a9e3da5356d6068e0b3cfedba190fea938de2a 100644 (file)
@@ -1800,7 +1800,7 @@ proc gdb_file_cmd { arg } {
            return -1
         }
        -re "A problem internal to GDB has been detected" {
-           fail "($arg) (GDB internal error)"
+           perror "Couldn't load $arg into $GDB (GDB internal error)."
            gdb_internal_error_resync
            return -1
        }