diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2016-10-24 18:31:03 +0200 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2016-11-01 16:06:57 +0100 |
commit | 28017e010ddf6849cfa830e898da3e44e6610952 (patch) | |
tree | 3d2b4bceafd395226e7f183416ebf0eb5ae9264a | |
parent | 397d30e9401d2da96dbdf0ce49805d6d4bb68833 (diff) | |
download | qemu-28017e010ddf6849cfa830e898da3e44e6610952.zip qemu-28017e010ddf6849cfa830e898da3e44e6610952.tar.gz qemu-28017e010ddf6849cfa830e898da3e44e6610952.tar.bz2 |
tests: send error_report to test log
Implement error_vprintf to send the output of error_report to
the test log. This silences test-vmstate.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <1477326663-67817-3-git-send-email-pbonzini@redhat.com>
-rw-r--r-- | include/glib-compat.h | 13 | ||||
-rw-r--r-- | stubs/error-printf.c | 8 |
2 files changed, 20 insertions, 1 deletions
diff --git a/include/glib-compat.h b/include/glib-compat.h index 3f8370b..acf254d 100644 --- a/include/glib-compat.h +++ b/include/glib-compat.h @@ -315,4 +315,17 @@ static inline void g_source_set_name_by_id(guint tag, const char *name) } #endif +#if !GLIB_CHECK_VERSION(2, 36, 0) +/* Always fail. This will not include error_report output in the test log, + * sending it instead to stderr. + */ +#define g_test_initialized() (0) +#endif +#if !GLIB_CHECK_VERSION(2, 38, 0) +#ifdef CONFIG_HAS_GLIB_SUBPROCESS_TESTS +#error schizophrenic detection of glib subprocess testing +#endif +#define g_test_subprocess() (0) +#endif + #endif diff --git a/stubs/error-printf.c b/stubs/error-printf.c index 56379e6..ac6b92a 100644 --- a/stubs/error-printf.c +++ b/stubs/error-printf.c @@ -4,7 +4,13 @@ void error_vprintf(const char *fmt, va_list ap) { - vfprintf(stderr, fmt, ap); + if (g_test_initialized() && !g_test_subprocess()) { + 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) |