@@ -226,23 +226,25 @@ static void test_machine(const void *data)
const testdef_t *test = data;
g_autofree char *serialtmp = NULL;
g_autofree char *codetmp = NULL;
- const char *codeparam = "";
const uint8_t *code = NULL;
QTestState *qts;
int ser_fd;
+ g_autoptr(GString) cmd = g_string_new("");
ser_fd = g_file_open_tmp("qtest-boot-serial-sXXXXXX", &serialtmp, NULL);
g_assert(ser_fd != -1);
close(ser_fd);
+ g_string_append_printf(cmd, "-M %s ", test->machine);
+ g_string_append(cmd, "-no-shutdown ");
+
if (test->kernel) {
code = test->kernel;
- codeparam = "-kernel";
+ g_string_append(cmd, "-kernel ");
} else if (test->bios) {
code = test->bios;
- codeparam = "-bios";
+ g_string_append(cmd, "-bios ");
}
-
if (code) {
ssize_t wlen;
int code_fd;
@@ -252,17 +254,22 @@ static void test_machine(const void *data)
wlen = write(code_fd, code, test->codesize);
g_assert(wlen == test->codesize);
close(code_fd);
+ g_string_append_printf(cmd, "%s ", codetmp);
}
+ g_string_append_printf(cmd, "-chardev file,id=serial0,path=%s "
+ "-serial chardev:serial0 ", serialtmp);
+
/*
* Make sure that this test uses tcg if available: It is used as a
* fast-enough smoketest for that.
*/
- qts = qtest_initf("%s %s -M %s -no-shutdown "
- "-chardev file,id=serial0,path=%s "
- "-serial chardev:serial0 -accel tcg -accel kvm %s",
- codeparam, code ? codetmp : "", test->machine,
- serialtmp, test->extra);
+ g_string_append(cmd, "-accel tcg ");
+ g_string_append(cmd, "-accel kvm ");
+ g_string_append(cmd, test->extra);
+
+ qts = qtest_init(cmd->str);
+
if (code) {
unlink(codetmp);
}
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> --- tests/qtest/boot-serial-test.c | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-)