[gdb/testsuite] Fix gnatmake_version_at_least
authorTom de Vries <tdevries@suse.de>
Thu, 13 Feb 2020 07:37:34 +0000 (08:37 +0100)
committerTom de Vries <tdevries@suse.de>
Thu, 13 Feb 2020 07:37:34 +0000 (08:37 +0100)
After de-installing gnatmake, I get:
...
Running src/gdb/testsuite/gdb.ada/rename_subscript_param.exp ...
ERROR: tcl error sourcing src/gdb/testsuite/gdb.ada/rename_subscript_param.exp.
ERROR: couldn't execute "gnatmake": no such file or directory
    while executing
"exec $gnatmake --version"
    (procedure "gnatmake_version_at_least" line 4)
...

Fix this by wrapping the exec call in a catch call.

Tested with and withouth gnatmake installed on x86_64-linux.

gdb/testsuite/ChangeLog:

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

* lib/ada.exp (gnatmake_version_at_least): Wrap exec call in a catch
call.

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

index 06826746d5f2d08fc57127f9fe9219d48e13e795..6abc56ca859d8003876902e8469339b2cb4d7442 100644 (file)
@@ -1,3 +1,8 @@
+2020-02-13  Tom de Vries  <tdevries@suse.de>
+
+       * lib/ada.exp (gnatmake_version_at_least): Wrap exec call in a catch
+       call.
+
 2020-02-11  Sergio Durigan Junior  <sergiodj@redhat.com>
 
        PR tui/25126
index f8a6a723bb01ffe009b8f483a77f7836ca63e5e5..726977d98f1ddf9720f0b9f49c88d442f256f135 100644 (file)
@@ -136,7 +136,9 @@ proc find_ada_tool {tool} {
 proc gnatmake_version_at_least { major } {
     set gnatmake [gdb_find_gnatmake]
     set gnatmake [lindex [split $gnatmake] 0]
-    set output [exec $gnatmake --version]
+    if {[catch {exec $gnatmake --version} output]} {
+       return 0
+    }
     if { [regexp {GNATMAKE ([^ .]+).([^ .]+).([^ .]+)} $output \
              match gnatmake_major gnatmake_minor gnatmake_micro] } {
        if { $gnatmake_major >= $major } {