[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 3/7] libqtest: add QTEST_LOG for debugging qtest tes
From: |
Marc Marí |
Subject: |
[Qemu-devel] [PATCH 3/7] libqtest: add QTEST_LOG for debugging qtest testcases |
Date: |
Thu, 24 Jul 2014 20:31:01 +0200 |
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Marc Marí <address@hidden>
---
tests/libqtest.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/tests/libqtest.c b/tests/libqtest.c
index 98e8f4b..056275d 100644
--- a/tests/libqtest.c
+++ b/tests/libqtest.c
@@ -167,11 +167,12 @@ QTestState *qtest_init(const char *extra_args)
if (s->qemu_pid == 0) {
command = g_strdup_printf("exec %s "
"-qtest unix:%s,nowait "
- "-qtest-log /dev/null "
+ "-qtest-log %s "
"-qmp unix:%s,nowait "
"-machine accel=qtest "
"-display none "
"%s", qemu_binary, socket_path,
+ getenv("QTEST_LOG") ? "/dev/fd/2" :
"/dev/null",
qmp_socket_path,
extra_args ?: "");
execlp("/bin/sh", "sh", "-c", command, NULL);
@@ -397,10 +398,18 @@ QDict *qtest_qmpv(QTestState *s, const char *fmt, va_list
ap)
/* No need to send anything for an empty QObject. */
if (qobj) {
+ size_t len;
+ int log = getenv("QTEST_LOG") != NULL;
QString *qstr = qobject_to_json(qobj);
const char *str = qstring_get_str(qstr);
size_t size = qstring_get_length(qstr);
+ if (log) {
+ len = write(2, str, size);
+ if (len != size) {
+ fprintf(stderr, "Could not log\n");
+ }
+ }
/* Send QMP request */
socket_send(s->qmp_fd, str, size);
--
1.7.10.4