Re: [PATCH][gdb/testsuite] Be quiet about untested dtrace-prob.exp

Tom de Vries
2020-02-18T13:13:20Z

On 18-02-2020 13:35, Luis Machado wrote:
> On 2/18/20 9:02 AM, Tom de Vries wrote:
>> Hi,
>>
>> When running gdb.base/dtrace-probe.exp, I get this on stdout/stderr:
>> ...
>> Running src/gdb/testsuite/gdb.base/dtrace-probe.exp ...
>> gdb compile failed, ld: error in \
>> Â Â  build/gdb/testsuite/outputs/gdb.base/dtrace-probe/dtrace-probe.o\
>> Â Â  (.eh_frame); no .eh_frame_hdr table will be created
>> ld: crt1.o: in function `_start':
>> start.S:110: undefined reference to `main'
>> ld: build/gdb/testsuite/outputs/gdb.base/dtrace-probe/dtrace-probe-p.o:\
>> Â Â  (.SUNW_dof+0x88): undefined reference to `main'
>> ld: build/gdb/testsuite/outputs/gdb.base/dtrace-probe/dtrace-probe-p.o:\
>> Â Â  (.SUNW_dof+0xb8): undefined reference to `main'
>> collect2: error: ld returned 1 exit status
>>
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  === gdb Summary ===
>>
>> nr of untested testcasesÂ Â Â Â Â Â Â Â  1
>
> Odd. I'm running this natively on aarch64 and i don't see the same. I
> only get output in gdb.log.
>

I've looked a bit at the semantics of output_clone (in
/usr/share/dejagnu/framework.exp), and the only way I could think of how
that would happen for you is if the output somehow starts with a keyword
like PASS/FAIL/WARNING/ERROR/etc. [ If you want to chase that difference
it could be useful to post a gdb.log/gdb.sum/stdout_stderr.log. ]

Anyway, the behaviour I'm seeing looks correct to me.

>> ...
>>
>> There is no reason to be this verbose about the failure to compile.
>>
>> Fix this by using quiet as additional option to gdb_compile in
>> dtrace_build_usdt_test_program.Â  Note that the error message still
>> occurs in
>> gdb.log.
>>
>> Tested on x86_64-linux.
>>
>> OK for trunk?
>>
>> Thanks,
>> - Tom
>>
>> [gdb/testsuite] Be quiet about untested dtrace-prob.exp
>>
>> gdb/testsuite/ChangeLog:
>>
>> 2020-02-18Â  Tom de VriesÂ  <tdevries@suse.de>
>>
>> Â Â Â Â * lib/dtrace.exp (dtrace_build_usdt_test_program): Use quiet as
>> Â Â Â Â gdb_compile option.
>>
>> ---
>> Â  gdb/testsuite/lib/dtrace.exp | 6 ++++--
>> Â  1 file changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/gdb/testsuite/lib/dtrace.exp b/gdb/testsuite/lib/dtrace.exp
>> index 9aed481f32..8f861c9de4 100644
>> --- a/gdb/testsuite/lib/dtrace.exp
>> +++ b/gdb/testsuite/lib/dtrace.exp
>> @@ -52,7 +52,8 @@ proc dtrace_build_usdt_test_program {} {
>> Â Â Â Â Â  }
>> Â  Â Â Â Â Â  # 2. Compile testprogram.c.
>> -Â Â Â  set options [list debug additional_flags=-I[file dirname
>> $out_header_file]]
>> +Â Â Â  set options [list debug quiet \
>> +Â Â Â Â Â Â Â Â Â Â Â Â  additional_flags=-I[file dirname $out_header_file]]
>> Â Â Â Â Â  if {[gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}.o"
>> object ${options}] != ""} {
>> Â Â Â Â Â Â Â Â Â  return -1
>> Â Â Â Â Â  }
>> @@ -65,7 +66,8 @@ proc dtrace_build_usdt_test_program {} {
>> Â Â Â Â Â  }
>> Â  Â Â Â Â Â  # 4. Link everything together to get the test program.
>> -Â Â Â  if {[gdb_compile "${binfile}.o ${binfile}-p.o" ${binfile}
>> executable {debug}] != ""} {
>> +Â Â Â  if {[gdb_compile "${binfile}.o ${binfile}-p.o" ${binfile}
>> executable \
>> +Â Â Â Â Â Â Â Â  {debug quiet}] != ""} {
>> Â Â Â Â Â Â Â Â Â  return -1
>> Â Â Â Â Â  }
>> Â  }
>>
> Then again, it wouldn't hurt to prevent noisy output. So, this LGTM.

Ack, thanks for the review.

- Tom