On 06/23/2018 07:05 PM, Christophe Lyon wrote:
> Hello,
> 
> On Fri, 22 Jun 2018 at 18:01, Jeff Law <l...@redhat.com> wrote:
>>
>> On 06/22/2018 05:35 AM, Tom de Vries wrote:
>>> Hi,
>>>
>>> by default, guality invokes gdb with --quiet to avoid being unnecessarily
>>> verbose for each test.  But as a consequence, we don't see which version of
>>> gdb is used.
>>>
>>> This patch adds printing of the full path to the gdb used, as well as the
>>> gdb version as printed by gdb.
>>>
>>> Tested on x86_64.
>>>
>>> OK for trunk?
>>>
>>> Thanks,
>>> - Tom
>>>
>>> [testsuite/guality] Be verbose about gdb version used
>>>
>>> 2018-06-22  Tom de Vries  <tdevr...@suse.de>
>>>
>>>       * lib/gcc-gdb-test.exp (report_gdb): New proc.
>>>       * g++.dg/guality/guality.exp: Use report_gdb.
>>>       * gcc.dg/guality/guality.exp: Same.
>>>       * gfortran.dg/guality/guality.exp: Same.
>> OK.
> 
> It looks like this patch is causing problems when not building gdb. I
> my GCC testing, I'm now seeing:
> ERROR: tcl error sourcing /gcc/testsuite/gfortran.dg/guality/guality.exp.
> ERROR: which: no aarch64-none-linux-gnu-gdb in
> (/aci-gcc-fsf/builds/gcc-fsf-gccsrc/tools/bin:/work/local/bin:/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-aarch64-none-linux-gnu/gcc3/utils/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin)
>     while executing
> "exec which $::env(GUALITY_GDB_NAME)"
>     invoked from within
> "report_gdb [exec which $::env(GUALITY_GDB_NAME)] [info script]"
> 

Hi,

the problem is not related to building or not building gdb, it's related
to whether the gdb that guality.exp is trying to use, is available in
PATH or not.

I've fixed this in attached patch.

Thanks,
- Tom
[testsuite/guality] Fix tcl error on missing gdb

2018-06-24  Tom de Vries  <tdevr...@suse.de>

	* g++.dg/guality/guality.exp: Don't use which on gdb arg to report_gdb.
	* gcc.dg/guality/guality.exp: Same.
	* gfortran.dg/guality/guality.exp: Same.
	* lib/gcc-gdb-test.exp: Do early out if which gdb fails.

---
 gcc/testsuite/g++.dg/guality/guality.exp      | 2 +-
 gcc/testsuite/gcc.dg/guality/guality.exp      | 2 +-
 gcc/testsuite/gfortran.dg/guality/guality.exp | 2 +-
 gcc/testsuite/lib/gcc-gdb-test.exp            | 5 +++++
 4 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/gcc/testsuite/g++.dg/guality/guality.exp b/gcc/testsuite/g++.dg/guality/guality.exp
index e5eaceedc9a..4be22baa19c 100644
--- a/gcc/testsuite/g++.dg/guality/guality.exp
+++ b/gcc/testsuite/g++.dg/guality/guality.exp
@@ -46,7 +46,7 @@ if ![info exists ::env(GUALITY_GDB_NAME)] {
     }
     setenv GUALITY_GDB_NAME "$guality_gdb_name"
 }
-report_gdb [exec which $::env(GUALITY_GDB_NAME)] [info script]
+report_gdb $::env(GUALITY_GDB_NAME) [info script]
 
 if {[check_guality "
   #include \"$srcdir/$subdir/guality.h\"
diff --git a/gcc/testsuite/gcc.dg/guality/guality.exp b/gcc/testsuite/gcc.dg/guality/guality.exp
index 2a90ec3c8c8..04e889caa2f 100644
--- a/gcc/testsuite/gcc.dg/guality/guality.exp
+++ b/gcc/testsuite/gcc.dg/guality/guality.exp
@@ -46,7 +46,7 @@ if ![info exists ::env(GUALITY_GDB_NAME)] {
     }
     setenv GUALITY_GDB_NAME "$guality_gdb_name"
 }
-report_gdb [exec which $::env(GUALITY_GDB_NAME)] [info script]
+report_gdb $::env(GUALITY_GDB_NAME) [info script]
 
 if {[check_guality "
   #include \"$srcdir/$subdir/guality.h\"
diff --git a/gcc/testsuite/gfortran.dg/guality/guality.exp b/gcc/testsuite/gfortran.dg/guality/guality.exp
index 3784cac1ef3..f76347dd52f 100644
--- a/gcc/testsuite/gfortran.dg/guality/guality.exp
+++ b/gcc/testsuite/gfortran.dg/guality/guality.exp
@@ -27,7 +27,7 @@ if ![info exists ::env(GUALITY_GDB_NAME)] {
     }
     setenv GUALITY_GDB_NAME "$guality_gdb_name"
 }
-report_gdb [exec which $::env(GUALITY_GDB_NAME)] [info script]
+report_gdb $::env(GUALITY_GDB_NAME) [info script]
 
 gfortran-dg-runtest [lsort [glob $srcdir/$subdir/*.\[fF\]{,90,95,03,08} ]] "" ""
 
diff --git a/gcc/testsuite/lib/gcc-gdb-test.exp b/gcc/testsuite/lib/gcc-gdb-test.exp
index f3726635c03..9aff6218300 100644
--- a/gcc/testsuite/lib/gcc-gdb-test.exp
+++ b/gcc/testsuite/lib/gcc-gdb-test.exp
@@ -145,6 +145,11 @@ proc gdb-test { args } {
 # Argument 1 is the location where gdb is used
 # 
 proc report_gdb { gdb loc } {
+    if { [catch { exec which $gdb } msg] } {
+	send_log "gdb not found in $loc: $msg\n"
+	return
+    }
+    set gdb [exec which $gdb]
     send_log "gdb used in $loc: $gdb\n"
     set gdb_version [exec $gdb -v]
     send_log "gdb used in $loc: version:\n---\n$gdb_version\n---\n"

Reply via email to