Skip to content

Commit

Permalink
tests: support QTEST_TRACE env variable
Browse files Browse the repository at this point in the history
When debugging failing qtests it is useful to be able to turn on trace
output to stderr. The QTEST_TRACE env variable contents get injected
as a '-trace <str>' command line arg

Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20220310171821.3724080-4-berrange@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
  • Loading branch information
berrange authored and dagrh committed Apr 21, 2022
1 parent a17ec44 commit dcd23e9
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions tests/qtest/libqtest.c
Expand Up @@ -259,6 +259,9 @@ QTestState *qtest_init_without_qmp_handshake(const char *extra_args)
gchar *qmp_socket_path;
gchar *command;
const char *qemu_binary = qtest_qemu_binary();
const char *trace = g_getenv("QTEST_TRACE");
g_autofree char *tracearg = trace ?
g_strdup_printf("-trace %s ", trace) : g_strdup("");

s = g_new(QTestState, 1);

Expand All @@ -281,14 +284,15 @@ QTestState *qtest_init_without_qmp_handshake(const char *extra_args)

qtest_add_abrt_handler(kill_qemu_hook_func, s);

command = g_strdup_printf("exec %s "
command = g_strdup_printf("exec %s %s"
"-qtest unix:%s "
"-qtest-log %s "
"-chardev socket,path=%s,id=char0 "
"-mon chardev=char0,mode=control "
"-display none "
"%s"
" -accel qtest", qemu_binary, socket_path,
" -accel qtest",
qemu_binary, tracearg, socket_path,
getenv("QTEST_LOG") ? "/dev/fd/2" : "/dev/null",
qmp_socket_path,
extra_args ?: "");
Expand Down

0 comments on commit dcd23e9

Please sign in to comment.