From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57934) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bz00E-0006SA-NT for qemu-devel@nongnu.org; Tue, 25 Oct 2016 07:34:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bz00B-0006yv-UG for qemu-devel@nongnu.org; Tue, 25 Oct 2016 07:34:46 -0400 Received: from mx1.redhat.com ([209.132.183.28]:49762) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1bz00B-0006xs-OS for qemu-devel@nongnu.org; Tue, 25 Oct 2016 07:34:43 -0400 References: <1477326663-67817-1-git-send-email-pbonzini@redhat.com> <1477326663-67817-3-git-send-email-pbonzini@redhat.com> From: Paolo Bonzini Message-ID: Date: Tue, 25 Oct 2016 13:34:37 +0200 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 2/2] tests: send error_report to test log List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Halil Pasic , qemu-devel@nongnu.org Cc: armbru@redhat.com, dgilbert@redhat.com On 25/10/2016 13:06, Halil Pasic wrote: > > > On 10/24/2016 06:31 PM, Paolo Bonzini wrote: >> Implement error_vprintf to send the output of error_report to >> the test log. This silences test-vmstate. >> >> Signed-off-by: Paolo Bonzini > [..] >> void error_vprintf(const char *fmt, va_list ap) >> { >> - vfprintf(stderr, fmt, ap); >> + if (g_test_initialized() && !g_test_subprocess()) { > > I like the approach. What I do not like is: > * we still generate noise only less visible It's not noise if it ends up exactly in the right place (the test logs). :) Paolo > * it's indiscriminate (silences all error reports of this type) > * can't be incorporated into the test logic > > IMHO these are no major problems, and what I'm going to suggest > might be over-engineering, but I will ask nevertheless. > > Have you considered a thread local function pointer to > defaulting to something sane (eg. to this test log stuff > or to a wrapped vprintf)? > > This would invalidate all the points above, and make the compat > macros unnecessary -- which have bitten me on my ancient RHEL > (because glib is too old). I have tried out the idea, so > if you want I can send you a patch on top of this. > > Halil > >> + char *msg = g_strdup_vprintf(fmt, ap); >> + g_test_message("%s", msg); >> + g_free(msg); >> + } else { >> + vfprintf(stderr, fmt, ap); >> + } >> } >> >> void error_vprintf_unless_qmp(const char *fmt, va_list ap) >> >