[gdb/testsuite] Handle missing gnatmake in gnat_runtime_has_debug_info
authorTom de Vries <tdevries@suse.de>
Tue, 18 Feb 2020 09:18:36 +0000 (10:18 +0100)
committerTom de Vries <tdevries@suse.de>
Tue, 18 Feb 2020 09:18:36 +0000 (10:18 +0100)
After de-installing gnatmake, I get on stdout/stderr:
...
Running src/gdb/testsuite/gdb.base/gdb-caching-proc.exp ...
FAIL: gdb-caching-proc.exp: failed to compile gnat-debug-info test binary
  ...
FAIL: gdb-caching-proc.exp: failed to compile gnat-debug-info test binary
...

In gdb.sum, we see these FAILs (each paired with an UNSUPPORTED as well)
followed by:
...
PASS: gdb-caching-proc.exp: gnat_runtime_has_debug_info consistency
...

Likewise, after re-installing gnatmake, I get a PASS for each of the
UNSUPPORTEDs, and the FAILs disappear.

The FAIL comes from gnat_runtime_has_debug_info, the PASS/UNSUPPORTED comes
from gdb_compile_ada.

Fix this by removing the corresponding fail call in
gnat_runtime_has_debug_info, as well as using a new variant gdb_compile_ada_1
that doesn't call pass/unsupported.

Tested on x86_64-linux, with gnatmake installed and de-installed.

gdb/testsuite/ChangeLog:

2020-02-18  Tom de Vries  <tdevries@suse.de>

* lib/ada.exp (gdb_compile_ada_1): Factor out of ...
(gdb_compile_ada): ... here.
(gnat_runtime_has_debug_info): Remove fail call for gdb_compile_ada
failure.  Use gdb_compile_ada_1 instead of gdb_compile_ada.

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

index 1a9203c26a253e2549740485bac527d2cd7ceac4..e8ef3d37a8e149e82ad8ba5fe891942fcd8bce8c 100644 (file)
@@ -1,3 +1,10 @@
+2020-02-18  Tom de Vries  <tdevries@suse.de>
+
+       * lib/ada.exp (gdb_compile_ada_1): Factor out of ...
+       (gdb_compile_ada): ... here.
+       (gnat_runtime_has_debug_info): Remove fail call for gdb_compile_ada
+       failure.  Use gdb_compile_ada_1 instead of gdb_compile_ada.
+
 2020-02-14  Tom Tromey  <tom@tromey.com>
 
        * lib/gdbserver-support.exp (find_gdbserver): Find gdbserver in
index 9933cc951e3755b42d606991272a32747e3ddfa2..6648566ec30c84f0199e7ac4b3f803a5db00508d 100644 (file)
@@ -52,9 +52,9 @@ proc target_compile_ada_from_dir {builddir source dest type options} {
     return -options $options $result
 }
 
-# Compile some Ada code.
+# Compile some Ada code.  Return "" if the compile was successful.
 
-proc gdb_compile_ada {source dest type options} {
+proc gdb_compile_ada_1 {source dest type options} {
 
     set srcdir [file dirname $source]
     set gprdir [file dirname $srcdir]
@@ -80,6 +80,15 @@ proc gdb_compile_ada {source dest type options} {
     # We therefore simply check whether the dest file has been created
     # or not. Unless not present, the build has succeeded.
     if [file exists $dest] { set result "" }
+    return $result
+}
+
+# Compile some Ada code.  Generate "PASS: foo.exp: compilation SOURCE" if the
+# compile was successful.
+
+proc gdb_compile_ada {source dest type options} {
+    set result [gdb_compile_ada_1 $source $dest $type $options]
+
     gdb_compile_test $source $result
     return $result
 }
@@ -162,8 +171,7 @@ gdb_caching_proc gnat_runtime_has_debug_info {
     set src "$srcdir/lib/gnat_debug_info_test.adb"
     set dst [standard_output_file "gnat_debug_info_test"]
 
-    if { [gdb_compile_ada $src $dst executable {debug}] != "" } {
-       fail "failed to compile gnat-debug-info test binary"
+    if { [gdb_compile_ada_1 $src $dst executable {debug}] != "" } {
        return 0
     }