Subject: bug#35762: (No Subject)

From: Eric Blake <[email-masked]>
Date: Thu, 16 May 2019 13:12:50 -0500

On 5/16/19 12:40 PM, [email-masked] wrote:
> A possible fix, or mitigation, based on the answer by John Bollinger[1] follows. I have tested this to work[2] even though it requires changes[2] in the program that created the test(s) executables and that program is 'check' - A unit testing framework for C [3].
> 
> [1] https://stackoverflow.com/a/56168216/11509478
> [2] https://github.com/libcheck/check/issues/188#issuecomment-493161758
> [3] https://github.com/libcheck/check
> 
> --- /tmp/test-driver	2018-09-18 15:06:54.000000000 +0200
> +++ /usr/share/automake-1.16/test-driver	2019-05-16 17:58:09.690988983 +0200
> @@ -104,7 +104,8 @@ trap "st=141; $do_exit" 13
>  trap "st=143; $do_exit" 15
> 
>  # Test script is run here.
> -"$@" >$log_file 2>&1
> +echo -n "" >"$log_file"

'echo -n' is non-portable, but since all you are doing is using it to
create an empty file, it's simpler to just:

: >"$log_file"

> +"$@" >>"$log_file" 2>&1
>  estatus=$?
> 
>  if test $enable_hard_errors = no && test $estatus -eq 99; then
> 
> 
> (the above patch is also attached)
> 
> Cheers.
> 

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3226
Virtualization:  qemu.org | libvirt.org