mirror of https://github.com/xemu-project/xemu.git
fuzz: Add support for logging QTest commands
Signed-off-by: Alexander Bulekov <alxndr@bu.edu> Message-Id: <20200529221450.26673-3-alxndr@bu.edu> Reviewed-by: Darren Kenny <darren.kenny@oracle.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
parent
d92e1b6d54
commit
8efebd4e01
|
@ -94,7 +94,9 @@ static void usage(char *path)
|
||||||
printf("Alternatively, add -target-FUZZ_TARGET to the executable name\n\n"
|
printf("Alternatively, add -target-FUZZ_TARGET to the executable name\n\n"
|
||||||
"Set the environment variable FUZZ_SERIALIZE_QTEST=1 to serialize\n"
|
"Set the environment variable FUZZ_SERIALIZE_QTEST=1 to serialize\n"
|
||||||
"QTest commands into an ASCII protocol. Useful for building crash\n"
|
"QTest commands into an ASCII protocol. Useful for building crash\n"
|
||||||
"reproducers, but slows down execution.\n");
|
"reproducers, but slows down execution.\n\n"
|
||||||
|
"Set the environment variable QTEST_LOG=1 to log all qtest commands"
|
||||||
|
"\n");
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -197,6 +199,11 @@ int LLVMFuzzerInitialize(int *argc, char ***argv, char ***envp)
|
||||||
|
|
||||||
/* Run QEMU's softmmu main with the fuzz-target dependent arguments */
|
/* Run QEMU's softmmu main with the fuzz-target dependent arguments */
|
||||||
const char *init_cmdline = fuzz_target->get_init_cmdline(fuzz_target);
|
const char *init_cmdline = fuzz_target->get_init_cmdline(fuzz_target);
|
||||||
|
init_cmdline = g_strdup_printf("%s -qtest /dev/null -qtest-log %s",
|
||||||
|
init_cmdline,
|
||||||
|
getenv("QTEST_LOG") ? "/dev/fd/2"
|
||||||
|
: "/dev/null");
|
||||||
|
|
||||||
|
|
||||||
/* Split the runcmd into an argv and argc */
|
/* Split the runcmd into an argv and argc */
|
||||||
wordexp_t result;
|
wordexp_t result;
|
||||||
|
|
Loading…
Reference in New Issue