{
uint64_t actual;
- global_qtest = qtest_startf("-nodefaults%s%s %s",
- machine ? " -M " : "",
- machine ?: "",
- test_args);
+ global_qtest = qtest_initf("-nodefaults%s%s %s",
+ machine ? " -M " : "",
+ machine ?: "",
+ test_args);
actual = read_boot_order();
g_assert_cmphex(actual, ==, expected_boot);
qmp_discard_response("{ 'execute': 'system_reset' }");
* Make sure that this test uses tcg if available: It is used as a
* fast-enough smoketest for that.
*/
- global_qtest = qtest_startf("%s %s -M %s,accel=tcg:kvm "
- "-chardev file,id=serial0,path=%s "
- "-no-shutdown -serial chardev:serial0 %s",
- codeparam, code ? codetmp : "",
- test->machine, serialtmp, test->extra);
+ global_qtest = qtest_initf("%s %s -M %s,accel=tcg:kvm "
+ "-chardev file,id=serial0,path=%s "
+ "-no-shutdown -serial chardev:serial0 %s",
+ codeparam, code ? codetmp : "",
+ test->machine, serialtmp, test->extra);
if (code) {
unlink(codetmp);
}
QTestState *qts;
char *resp;
- qts = qtest_startf("-M %s -cdrom %s", (const char *)data, isoimage);
+ qts = qtest_initf("-M %s -cdrom %s", (const char *)data, isoimage);
resp = qtest_hmp(qts, "info block");
g_assert(strstr(resp, isoimage) != 0);
g_free(resp);
{
QTestState *qts;
- qts = qtest_startf("-accel kvm:tcg -no-shutdown %s%s", (const char *)data,
- isoimage);
+ qts = qtest_initf("-accel kvm:tcg -no-shutdown %s%s", (const char *)data,
+ isoimage);
boot_sector_test(qts);
qtest_quit(qts);
}
{
const TestCase *test = data;
- global_qtest = qtest_startf("-M %s%s%s -device pc-testdev",
- test->machine,
- test->superio ? " -device " : "",
- test->superio ?: "");
+ global_qtest = qtest_initf("-M %s%s%s -device pc-testdev",
+ test->machine,
+ test->superio ? " -device " : "",
+ test->superio ?: "");
isa_outl(test, 0xe0, 0x87654321);
g_assert_cmphex(isa_inl(test, 0xe0), ==, 0x87654321);
g_assert_cmphex(isa_inw(test, 0xe2), ==, 0x8765);
{
const TestCase *test = data;
- global_qtest = qtest_startf("-M %s%s%s -device pc-testdev",
- test->machine,
- test->superio ? " -device " : "",
- test->superio ?: "");
+ global_qtest = qtest_initf("-M %s%s%s -device pc-testdev",
+ test->machine,
+ test->superio ? " -device " : "",
+ test->superio ?: "");
isa_outl(test, 0xe8, 0x87654321);
g_assert_cmphex(isa_inl(test, 0xe0), ==, 0x87654321);
g_assert_cmphex(isa_inw(test, 0xe2), ==, 0x8765);
{
const TestCase *test = data;
- global_qtest = qtest_startf("-M %s%s%s -device pc-testdev",
- test->machine,
- test->superio ? " -device " : "",
- test->superio ?: "");
+ global_qtest = qtest_initf("-M %s%s%s -device pc-testdev",
+ test->machine,
+ test->superio ? " -device " : "",
+ test->superio ?: "");
isa_outl(test, 0xe0, 0x87654321);
g_assert_cmphex(isa_inl(test, 0xe8), ==, 0x87654321);
g_assert_cmphex(isa_inw(test, 0xea), ==, 0x8765);
/* Run the tests */
g_test_init(&argc, &argv, NULL);
- global_qtest = qtest_startf(
+ global_qtest = qtest_initf(
" -chardev socket,id=ipmi0,host=localhost,port=%d,reconnect=10"
" -device ipmi-bmc-extern,chardev=ipmi0,id=bmc0"
" -device isa-ipmi-bt,bmc=bmc0", emu_port);
return s;
}
-QTestState *qtest_vstartf(const char *fmt, va_list ap)
+QTestState *qtest_vinitf(const char *fmt, va_list ap)
{
char *args = g_strdup_vprintf(fmt, ap);
QTestState *s;
- s = qtest_start(args);
+ s = qtest_init(args);
g_free(args);
- global_qtest = NULL;
return s;
}
-QTestState *qtest_startf(const char *fmt, ...)
+QTestState *qtest_initf(const char *fmt, ...)
{
va_list ap;
QTestState *s;
va_start(ap, fmt);
- s = qtest_vstartf(fmt, ap);
+ s = qtest_vinitf(fmt, ap);
va_end(ap);
return s;
}
extern QTestState *global_qtest;
/**
- * qtest_startf:
+ * qtest_initf:
* @fmt...: Format for creating other arguments to pass to QEMU, formatted
* like sprintf().
*
- * Start QEMU and return the resulting #QTestState (but unlike qtest_start(),
- * #global_qtest is left at NULL).
+ * Convenience wrapper around qtest_start().
*
* Returns: #QTestState instance.
*/
-QTestState *qtest_startf(const char *fmt, ...) GCC_FMT_ATTR(1, 2);
+QTestState *qtest_initf(const char *fmt, ...) GCC_FMT_ATTR(1, 2);
/**
- * qtest_vstartf:
+ * qtest_vinitf:
* @fmt: Format for creating other arguments to pass to QEMU, formatted
* like vsprintf().
* @ap: Format arguments.
*
- * Start QEMU and return the resulting #QTestState (but unlike qtest_start(),
- * #global_qtest is left at NULL).
+ * Convenience wrapper around qtest_start().
*
* Returns: #QTestState instance.
*/
-QTestState *qtest_vstartf(const char *fmt, va_list ap) GCC_FMT_ATTR(1, 0);
+QTestState *qtest_vinitf(const char *fmt, va_list ap) GCC_FMT_ATTR(1, 0);
/**
* qtest_init:
- * @extra_args: other arguments to pass to QEMU.
+ * @extra_args: other arguments to pass to QEMU. CAUTION: these
+ * arguments are subject to word splitting and shell evaluation.
*
* Returns: #QTestState instance.
*/
g_assert(ret == 0);
close(fd);
- global_qtest = qtest_startf("-m 256 -machine palmetto-bmc "
- "-drive file=%s,format=raw,if=mtd",
- tmp_path);
+ global_qtest = qtest_initf("-m 256 -machine palmetto-bmc "
+ "-drive file=%s,format=raw,if=mtd",
+ tmp_path);
qtest_add_func("/m25p80/read_jedec", test_read_jedec);
qtest_add_func("/m25p80/erase_sector", test_erase_sector);
static QTestState *m48t59_qtest_start(void)
{
- return qtest_startf("-M %s -rtc clock=vm", base_machine);
+ return qtest_initf("-M %s -rtc clock=vm", base_machine);
}
static void bcd_check_time(void)
}
return; /* TODO: die here to force all targets have a test */
}
- global_qtest = qtest_startf("-machine none -cpu '%s'", cpu_model);
+ global_qtest = qtest_initf("-machine none -cpu '%s'", cpu_model);
response = qmp("{ 'execute': 'quit' }");
g_assert(qdict_haskey(response, "return"));
QList *cpus;
QTestState *qs;
- qs = qtest_startf("%s %s", data ? (char *)data : "",
- "-nodefaults --preconfig -smp 2");
+ qs = qtest_initf("%s -nodefaults --preconfig -smp 2",
+ data ? (char *)data : "");
/* create 2 numa nodes */
g_assert(!qmp_rsp_is_err(qtest_qmp(qs, "{ 'execute': 'set-numa-node',"
{
const PnvChip *chip = data;
- global_qtest = qtest_startf("-M powernv,accel=tcg -cpu %s",
- chip->cpu_model);
+ global_qtest = qtest_initf("-M powernv,accel=tcg -cpu %s",
+ chip->cpu_model);
test_xscom_cfam_id(chip);
qtest_quit(global_qtest);
}
{
const PnvChip *chip = data;
- global_qtest = qtest_startf("-M powernv,accel=tcg -cpu %s",
- chip->cpu_model);
+ global_qtest = qtest_initf("-M powernv,accel=tcg -cpu %s",
+ chip->cpu_model);
test_xscom_core(chip);
qtest_quit(global_qtest);
}
/* The pseries firmware boots much faster without the default devices */
extra_args = strcmp(machine, "pseries") == 0 ? "-nodefaults" : "";
- global_qtest = qtest_startf("-M %s,accel=tcg %s "
- "-prom-env 'use-nvramrc?=true' "
- "-prom-env 'nvramrc=%x %x l!' ",
- (const char *)machine, extra_args,
- MAGIC, ADDRESS);
+ global_qtest = qtest_initf("-M %s,accel=tcg %s "
+ "-prom-env 'use-nvramrc?=true' "
+ "-prom-env 'nvramrc=%x %x l!' ",
+ (const char *)machine, extra_args,
+ MAGIC, ADDRESS);
check_guest_memory();
qtest_quit(global_qtest);
}
static void test_qmp_preconfig(void)
{
QDict *rsp, *ret;
- QTestState *qs = qtest_startf("%s --preconfig", common_args);
+ QTestState *qs = qtest_initf("%s --preconfig", common_args);
/* preconfig state */
/* enabled commands, no error expected */
uint16_t vendor_id, device_id;
uint64_t barsize;
- global_qtest = qtest_startf("-machine %s -device sdhci-pci",
- test->machine);
+ global_qtest = qtest_initf("-machine %s -device sdhci-pci",
+ test->machine);
s->pci.bus = qpci_init_pc(global_qtest, NULL);
qpci_device_enable(s->pci.dev);
} else {
/* SysBus */
- global_qtest = qtest_startf("-machine %s", test->machine);
+ global_qtest = qtest_initf("-machine %s", test->machine);
s->addr = test->sdhci.addr;
}
{
QTestState *qs;
- qs = qtest_startf("-machine q35 %s %s",
- d->noreboot ? "" : "-global ICH9-LPC.noreboot=false",
- !d->args ? "" : d->args);
+ qs = qtest_initf("-machine q35 %s %s",
+ d->noreboot ? "" : "-global ICH9-LPC.noreboot=false",
+ !d->args ? "" : d->args);
global_qtest = qs;
qtest_irq_intercept_in(qs, "ioapic");
ret = mkstemp(sock_path);
g_assert_cmpint(ret, !=, -1);
- global_qtest = qtest_startf(
+ global_qtest = qtest_initf(
"-netdev socket,id=qtest-bn0,fd=%d "
"-device %s,netdev=qtest-bn0,id=qtest-e0 "
"-chardev socket,id=mirror0,path=%s,server,nowait "
ret = mkstemp(sock_path1);
g_assert_cmpint(ret, !=, -1);
- global_qtest = qtest_startf(
+ global_qtest = qtest_initf(
"-netdev socket,id=qtest-bn0,fd=%d "
"-device %s,netdev=qtest-bn0,id=qtest-e0 "
"-chardev socket,id=redirector0,path=%s,server,nowait "
ret = mkstemp(sock_path1);
g_assert_cmpint(ret, !=, -1);
- global_qtest = qtest_startf(
+ global_qtest = qtest_initf(
"-netdev socket,id=qtest-bn0,fd=%d "
"-device %s,netdev=qtest-bn0,id=qtest-e0 "
"-chardev socket,id=redirector0,path=%s,server,nowait "
g_test_init(&argc, &argv, NULL);
qtest_add_func("/virtio/balloon/nop", balloon_nop);
- global_qtest = qtest_startf("-device virtio-balloon-%s",
- qvirtio_get_dev_type());
+ global_qtest = qtest_initf("-device virtio-balloon-%s",
+ qvirtio_get_dev_type());
ret = g_test_run();
qtest_end();
tmp_path = drive_create();
- global_qtest = qtest_startf("-machine virt "
- "-drive if=none,id=drive0,file=%s,format=raw "
- "-device virtio-blk-device,drive=drive0",
- tmp_path);
+ global_qtest = qtest_initf("-machine virt "
+ "-drive if=none,id=drive0,file=%s,format=raw "
+ "-device virtio-blk-device,drive=drive0",
+ tmp_path);
unlink(tmp_path);
g_free(tmp_path);
}
/* Tests only initialization so far. TODO: Replace with functional tests */
static void console_nop(void)
{
- global_qtest = qtest_startf("-device virtio-serial-%s,id=vser0 "
- "-device virtconsole,bus=vser0.0",
- qvirtio_get_dev_type());
+ global_qtest = qtest_initf("-device virtio-serial-%s,id=vser0 "
+ "-device virtconsole,bus=vser0.0",
+ qvirtio_get_dev_type());
qtest_end();
}
static void serialport_nop(void)
{
- global_qtest = qtest_startf("-device virtio-serial-%s,id=vser0 "
- "-device virtserialport,bus=vser0.0",
- qvirtio_get_dev_type());
+ global_qtest = qtest_initf("-device virtio-serial-%s,id=vser0 "
+ "-device virtserialport,bus=vser0.0",
+ qvirtio_get_dev_type());
qtest_end();
}
qtest_add_func("/virtio/serial/nop", virtio_serial_nop);
qtest_add_func("/virtio/serial/hotplug", hotplug);
- global_qtest = qtest_startf("-device virtio-serial-%s",
- qvirtio_get_dev_type());
+ global_qtest = qtest_initf("-device virtio-serial-%s",
+ qvirtio_get_dev_type());
ret = g_test_run();
qtest_end();
g_assert(qemu_uuid_parse(VGID_GUID, &expected) == 0);
- global_qtest = qtest_startf(GUID_CMD(VGID_GUID));
+ global_qtest = qtest_initf(GUID_CMD(VGID_GUID));
/* Read the GUID from accessing guest memory */
read_guid_from_memory(&measured);
{
QemuUUID measured;
- global_qtest = qtest_startf(GUID_CMD("auto"));
+ global_qtest = qtest_initf(GUID_CMD("auto"));
read_guid_from_memory(&measured);
g_assert(qemu_uuid_parse(VGID_GUID, &expected) == 0);
- global_qtest = qtest_startf(GUID_CMD(VGID_GUID));
+ global_qtest = qtest_initf(GUID_CMD(VGID_GUID));
/* Read the GUID via the monitor */
read_guid_from_monitor(&measured);