diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2017-10-20 13:33:32 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2017-10-20 13:33:32 +0100 |
commit | 718757eca98ea8bd5b5354eb70acf050dd49b862 (patch) | |
tree | 3448fb0da4b5c86c0eaa7311beb87ea9439a413c /tests | |
parent | 27825bc954f832a8e1137ceb45b52f7bb3f8f9cd (diff) | |
parent | 2bcf018340cbf233f7145e643fc1bb367f23fd90 (diff) |
Merge remote-tracking branch 'remotes/cohuck/tags/s390x-20171020' into staging
The last big chunk of s390x changes:
- (experimental) smp support under tcg
- provide the virtio-input devices for virtio-ccw
- improve error handling in the css code
- enable some simple virtio tests for s390x
- low-address protection in tcg
- some more cleanups and fixes
# gpg: Signature made Fri 20 Oct 2017 12:49:22 BST
# gpg: using RSA key 0xDECF6B93C6F02FAF
# gpg: Good signature from "Cornelia Huck <conny@cornelia-huck.de>"
# gpg: aka "Cornelia Huck <huckc@linux.vnet.ibm.com>"
# gpg: aka "Cornelia Huck <cornelia.huck@de.ibm.com>"
# gpg: aka "Cornelia Huck <cohuck@kernel.org>"
# gpg: aka "Cornelia Huck <cohuck@redhat.com>"
# Primary key fingerprint: C3D0 D66D C362 4FF6 A8C0 18CE DECF 6B93 C6F0 2FAF
* remotes/cohuck/tags/s390x-20171020: (46 commits)
s390x/tcg: low-address protection support
accel/tcg: allow to invalidate a write TLB entry immediately
tests: Enable the very simple virtio tests on s390x, too
libqtest: Add qtest_[v]startf()
s390x: refactor error handling for MSCH handler
s390x: refactor error handling for HSCH handler
s390x: refactor error handling for CSCH handler
s390x: refactor error handling for XSCH handler
s390x: improve error handling for SSCH and RSCH
s390x/css: IO instr handler ending control
s390x: move s390x_new_cpu() into board code
s390x: fix cpu object referrence leak in s390x_new_cpu()
s390x/event-facility: variable-length event masks
s390x/MAINTAINERS: add mailing list
virtio-ccw: Add the virtio-input devices for CCW bus
target/s390x: special handling when starting a CPU with WAIT PSW
s390x/tcg: refactor stfl(e) to use s390_get_feat_block()
s390x/tcg: unlock NMI
s390x/cpumodel: allow to enable SENSE RUNNING STATUS for qemu
s390x/tcg: switch to new SIGP handling code
...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Makefile.include | 9 | ||||
-rw-r--r-- | tests/boot-order-test.c | 11 | ||||
-rw-r--r-- | tests/boot-serial-test.c | 12 | ||||
-rw-r--r-- | tests/endianness-test.c | 33 | ||||
-rw-r--r-- | tests/ipmi-bt-test.c | 11 | ||||
-rw-r--r-- | tests/libqtest.c | 22 | ||||
-rw-r--r-- | tests/libqtest.h | 25 | ||||
-rw-r--r-- | tests/m25p80-test.c | 9 | ||||
-rw-r--r-- | tests/pnv-xscom-test.c | 16 | ||||
-rw-r--r-- | tests/prom-env-test.c | 13 | ||||
-rw-r--r-- | tests/tco-test.c | 10 | ||||
-rw-r--r-- | tests/test-filter-mirror.c | 14 | ||||
-rw-r--r-- | tests/test-filter-redirector.c | 56 | ||||
-rw-r--r-- | tests/virtio-balloon-test.c | 8 | ||||
-rw-r--r-- | tests/virtio-blk-test.c | 5 | ||||
-rw-r--r-- | tests/virtio-console-test.c | 19 | ||||
-rw-r--r-- | tests/virtio-serial-test.c | 10 | ||||
-rw-r--r-- | tests/vmgenid-test.c | 29 |
18 files changed, 156 insertions, 156 deletions
diff --git a/tests/Makefile.include b/tests/Makefile.include index 4ca15e6817..70dc711bca 100644 --- a/tests/Makefile.include +++ b/tests/Makefile.include @@ -367,6 +367,9 @@ check-qtest-s390x-$(CONFIG_SLIRP) += tests/test-netfilter$(EXESUF) check-qtest-s390x-$(CONFIG_POSIX) += tests/test-filter-mirror$(EXESUF) check-qtest-s390x-$(CONFIG_POSIX) += tests/test-filter-redirector$(EXESUF) check-qtest-s390x-y += tests/drive_del-test$(EXESUF) +check-qtest-s390x-y += tests/virtio-balloon-test$(EXESUF) +check-qtest-s390x-y += tests/virtio-console-test$(EXESUF) +check-qtest-s390x-y += tests/virtio-serial-test$(EXESUF) check-qtest-generic-y += tests/qom-test$(EXESUF) check-qtest-generic-y += tests/test-hmp$(EXESUF) @@ -754,14 +757,14 @@ tests/vmxnet3-test$(EXESUF): tests/vmxnet3-test.o tests/ne2000-test$(EXESUF): tests/ne2000-test.o tests/wdt_ib700-test$(EXESUF): tests/wdt_ib700-test.o tests/tco-test$(EXESUF): tests/tco-test.o $(libqos-pc-obj-y) -tests/virtio-balloon-test$(EXESUF): tests/virtio-balloon-test.o +tests/virtio-balloon-test$(EXESUF): tests/virtio-balloon-test.o $(libqos-virtio-obj-y) tests/virtio-blk-test$(EXESUF): tests/virtio-blk-test.o $(libqos-virtio-obj-y) tests/virtio-net-test$(EXESUF): tests/virtio-net-test.o $(libqos-pc-obj-y) $(libqos-virtio-obj-y) tests/virtio-rng-test$(EXESUF): tests/virtio-rng-test.o $(libqos-pc-obj-y) tests/virtio-scsi-test$(EXESUF): tests/virtio-scsi-test.o $(libqos-virtio-obj-y) tests/virtio-9p-test$(EXESUF): tests/virtio-9p-test.o $(libqos-virtio-obj-y) -tests/virtio-serial-test$(EXESUF): tests/virtio-serial-test.o -tests/virtio-console-test$(EXESUF): tests/virtio-console-test.o +tests/virtio-serial-test$(EXESUF): tests/virtio-serial-test.o $(libqos-virtio-obj-y) +tests/virtio-console-test$(EXESUF): tests/virtio-console-test.o $(libqos-virtio-obj-y) tests/tpci200-test$(EXESUF): tests/tpci200-test.o tests/display-vga-test$(EXESUF): tests/display-vga-test.o tests/ipoctal232-test$(EXESUF): tests/ipoctal232-test.o diff --git a/tests/boot-order-test.c b/tests/boot-order-test.c index fc1e7941f7..60c5545e45 100644 --- a/tests/boot-order-test.c +++ b/tests/boot-order-test.c @@ -28,14 +28,12 @@ static void test_a_boot_order(const char *machine, uint64_t expected_boot, uint64_t expected_reboot) { - char *args; uint64_t actual; - args = g_strdup_printf("-nodefaults%s%s %s", - machine ? " -M " : "", - machine ?: "", - test_args); - qtest_start(args); + global_qtest = qtest_startf("-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' }"); @@ -47,7 +45,6 @@ static void test_a_boot_order(const char *machine, actual = read_boot_order(); g_assert_cmphex(actual, ==, expected_reboot); qtest_quit(global_qtest); - g_free(args); } static void test_boot_orders(const char *machine, diff --git a/tests/boot-serial-test.c b/tests/boot-serial-test.c index b95c5e74ea..c935d69824 100644 --- a/tests/boot-serial-test.c +++ b/tests/boot-serial-test.c @@ -71,7 +71,6 @@ done: static void test_machine(const void *data) { const testdef_t *test = data; - char *args; char tmpname[] = "/tmp/qtest-boot-serial-XXXXXX"; int fd; @@ -82,18 +81,15 @@ static void test_machine(const void *data) * Make sure that this test uses tcg if available: It is used as a * fast-enough smoketest for that. */ - args = g_strdup_printf("-M %s,accel=tcg:kvm " - "-chardev file,id=serial0,path=%s " - "-no-shutdown -serial chardev:serial0 %s", - test->machine, tmpname, test->extra); - - qtest_start(args); + global_qtest = qtest_startf("-M %s,accel=tcg:kvm " + "-chardev file,id=serial0,path=%s " + "-no-shutdown -serial chardev:serial0 %s", + test->machine, tmpname, test->extra); unlink(tmpname); check_guest_output(test, fd); qtest_quit(global_qtest); - g_free(args); close(fd); } diff --git a/tests/endianness-test.c b/tests/endianness-test.c index ed0bf52019..546e0969e4 100644 --- a/tests/endianness-test.c +++ b/tests/endianness-test.c @@ -114,13 +114,11 @@ static void isa_outl(const TestCase *test, uint16_t addr, uint32_t value) static void test_endianness(gconstpointer data) { const TestCase *test = data; - char *args; - args = g_strdup_printf("-M %s%s%s -device pc-testdev", - test->machine, - test->superio ? " -device " : "", - test->superio ?: ""); - qtest_start(args); + global_qtest = qtest_startf("-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); @@ -183,19 +181,16 @@ static void test_endianness(gconstpointer data) g_assert_cmphex(isa_inb(test, 0xe1), ==, 0x43); g_assert_cmphex(isa_inb(test, 0xe0), ==, 0x21); qtest_quit(global_qtest); - g_free(args); } static void test_endianness_split(gconstpointer data) { const TestCase *test = data; - char *args; - args = g_strdup_printf("-M %s%s%s -device pc-testdev", - test->machine, - test->superio ? " -device " : "", - test->superio ?: ""); - qtest_start(args); + global_qtest = qtest_startf("-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); @@ -230,19 +225,16 @@ static void test_endianness_split(gconstpointer data) g_assert_cmphex(isa_inw(test, 0xe2), ==, 0x8765); g_assert_cmphex(isa_inw(test, 0xe0), ==, 0x4321); qtest_quit(global_qtest); - g_free(args); } static void test_endianness_combine(gconstpointer data) { const TestCase *test = data; - char *args; - args = g_strdup_printf("-M %s%s%s -device pc-testdev", - test->machine, - test->superio ? " -device " : "", - test->superio ?: ""); - qtest_start(args); + global_qtest = qtest_startf("-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); @@ -277,7 +269,6 @@ static void test_endianness_combine(gconstpointer data) g_assert_cmphex(isa_inw(test, 0xea), ==, 0x8765); g_assert_cmphex(isa_inw(test, 0xe8), ==, 0x4321); qtest_quit(global_qtest); - g_free(args); } int main(int argc, char **argv) diff --git a/tests/ipmi-bt-test.c b/tests/ipmi-bt-test.c index 7e21a9bbcb..8be18e3f42 100644 --- a/tests/ipmi-bt-test.c +++ b/tests/ipmi-bt-test.c @@ -401,7 +401,6 @@ static void open_socket(void) int main(int argc, char **argv) { const char *arch = qtest_get_arch(); - char *cmdline; int ret; /* Check architecture */ @@ -415,12 +414,10 @@ int main(int argc, char **argv) /* Run the tests */ g_test_init(&argc, &argv, NULL); - cmdline = g_strdup_printf( - " -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); - qtest_start(cmdline); - g_free(cmdline); + global_qtest = qtest_startf( + " -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); qtest_irq_intercept_in(global_qtest, "ioapic"); qtest_add_func("/ipmi/extern/connect", test_connect); qtest_add_func("/ipmi/extern/bt_base", test_bt_base); diff --git a/tests/libqtest.c b/tests/libqtest.c index adf71188b6..0ec8af2923 100644 --- a/tests/libqtest.c +++ b/tests/libqtest.c @@ -244,6 +244,28 @@ QTestState *qtest_init(const char *extra_args) return s; } +QTestState *qtest_vstartf(const char *fmt, va_list ap) +{ + char *args = g_strdup_vprintf(fmt, ap); + QTestState *s; + + s = qtest_start(args); + g_free(args); + global_qtest = NULL; + return s; +} + +QTestState *qtest_startf(const char *fmt, ...) +{ + va_list ap; + QTestState *s; + + va_start(ap, fmt); + s = qtest_vstartf(fmt, ap); + va_end(ap); + return s; +} + void qtest_quit(QTestState *s) { g_hook_destroy_link(&abrt_hooks, g_hook_find_data(&abrt_hooks, TRUE, s)); diff --git a/tests/libqtest.h b/tests/libqtest.h index 86b3a3bb0d..fe7847cbd5 100644 --- a/tests/libqtest.h +++ b/tests/libqtest.h @@ -24,6 +24,31 @@ typedef struct QTestState QTestState; extern QTestState *global_qtest; /** + * qtest_startf: + * @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). + * + * Returns: #QTestState instance. + */ +QTestState *qtest_startf(const char *fmt, ...) GCC_FMT_ATTR(1, 2); + +/** + * qtest_vstartf: + * @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). + * + * Returns: #QTestState instance. + */ +QTestState *qtest_vstartf(const char *fmt, va_list ap) GCC_FMT_ATTR(1, 0); + +/** * qtest_init: * @extra_args: other arguments to pass to QEMU. * diff --git a/tests/m25p80-test.c b/tests/m25p80-test.c index 244aa33dd9..c276e738e9 100644 --- a/tests/m25p80-test.c +++ b/tests/m25p80-test.c @@ -354,7 +354,6 @@ int main(int argc, char **argv) { int ret; int fd; - char *args; g_test_init(&argc, &argv, NULL); @@ -364,10 +363,9 @@ int main(int argc, char **argv) g_assert(ret == 0); close(fd); - args = g_strdup_printf("-m 256 -machine palmetto-bmc " - "-drive file=%s,format=raw,if=mtd", - tmp_path); - qtest_start(args); + global_qtest = qtest_startf("-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); @@ -380,6 +378,5 @@ int main(int argc, char **argv) qtest_quit(global_qtest); unlink(tmp_path); - g_free(args); return ret; } diff --git a/tests/pnv-xscom-test.c b/tests/pnv-xscom-test.c index 5adc3fd3a9..89fa6282d3 100644 --- a/tests/pnv-xscom-test.c +++ b/tests/pnv-xscom-test.c @@ -81,16 +81,12 @@ static void test_xscom_cfam_id(const PnvChip *chip) static void test_cfam_id(const void *data) { - char *args; const PnvChip *chip = data; - args = g_strdup_printf("-M powernv,accel=tcg -cpu %s", chip->cpu_model); - - qtest_start(args); + global_qtest = qtest_startf("-M powernv,accel=tcg -cpu %s", + chip->cpu_model); test_xscom_cfam_id(chip); qtest_quit(global_qtest); - - g_free(args); } #define PNV_XSCOM_EX_CORE_BASE(chip, i) \ @@ -109,16 +105,12 @@ static void test_xscom_core(const PnvChip *chip) static void test_core(const void *data) { - char *args; const PnvChip *chip = data; - args = g_strdup_printf("-M powernv,accel=tcg -cpu %s", chip->cpu_model); - - qtest_start(args); + global_qtest = qtest_startf("-M powernv,accel=tcg -cpu %s", + chip->cpu_model); test_xscom_core(chip); qtest_quit(global_qtest); - - g_free(args); } static void add_test(const char *name, void (*test)(const void *data)) diff --git a/tests/prom-env-test.c b/tests/prom-env-test.c index bc8b616912..8c867e631a 100644 --- a/tests/prom-env-test.c +++ b/tests/prom-env-test.c @@ -44,21 +44,18 @@ static void check_guest_memory(void) static void test_machine(const void *machine) { - char *args; const char *extra_args; /* The pseries firmware boots much faster without the default devices */ extra_args = strcmp(machine, "pseries") == 0 ? "-nodefaults" : ""; - args = g_strdup_printf("-M %s,accel=tcg %s -prom-env 'use-nvramrc?=true' " - "-prom-env 'nvramrc=%x %x l!' ", - (const char *)machine, extra_args, MAGIC, ADDRESS); - - qtest_start(args); + 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); check_guest_memory(); qtest_quit(global_qtest); - - g_free(args); } static void add_tests(const char *machines[]) diff --git a/tests/tco-test.c b/tests/tco-test.c index c4c264eb3d..2616d33c29 100644 --- a/tests/tco-test.c +++ b/tests/tco-test.c @@ -55,14 +55,12 @@ static void test_end(TestData *d) static void test_init(TestData *d) { QTestState *qs; - char *s; - s = g_strdup_printf("-machine q35 %s %s", - d->noreboot ? "" : "-global ICH9-LPC.noreboot=false", - !d->args ? "" : d->args); - qs = qtest_start(s); + qs = qtest_startf("-machine q35 %s %s", + d->noreboot ? "" : "-global ICH9-LPC.noreboot=false", + !d->args ? "" : d->args); + global_qtest = qs; qtest_irq_intercept_in(qs, "ioapic"); - g_free(s); d->bus = qpci_init_pc(NULL); d->dev = qpci_device_find(d->bus, QPCI_DEVFN(0x1f, 0x00)); diff --git a/tests/test-filter-mirror.c b/tests/test-filter-mirror.c index d569d27657..6c6f710dc6 100644 --- a/tests/test-filter-mirror.c +++ b/tests/test-filter-mirror.c @@ -18,7 +18,6 @@ static void test_mirror(void) { int send_sock[2], recv_sock; - char *cmdline; uint32_t ret = 0, len = 0; char send_buf[] = "Hello! filter-mirror~"; char sock_path[] = "filter-mirror.XXXXXX"; @@ -37,13 +36,12 @@ static void test_mirror(void) ret = mkstemp(sock_path); g_assert_cmpint(ret, !=, -1); - cmdline = g_strdup_printf("-netdev socket,id=qtest-bn0,fd=%d " - "-device %s,netdev=qtest-bn0,id=qtest-e0 " - "-chardev socket,id=mirror0,path=%s,server,nowait " - "-object filter-mirror,id=qtest-f0,netdev=qtest-bn0,queue=tx,outdev=mirror0 " - , send_sock[1], devstr, sock_path); - qtest_start(cmdline); - g_free(cmdline); + global_qtest = qtest_startf( + "-netdev socket,id=qtest-bn0,fd=%d " + "-device %s,netdev=qtest-bn0,id=qtest-e0 " + "-chardev socket,id=mirror0,path=%s,server,nowait " + "-object filter-mirror,id=qtest-f0,netdev=qtest-bn0,queue=tx,outdev=mirror0 " + , send_sock[1], devstr, sock_path); recv_sock = unix_connect(sock_path, NULL); g_assert_cmpint(recv_sock, !=, -1); diff --git a/tests/test-filter-redirector.c b/tests/test-filter-redirector.c index 3afd41110d..f2566144cf 100644 --- a/tests/test-filter-redirector.c +++ b/tests/test-filter-redirector.c @@ -70,7 +70,6 @@ static const char *get_devstr(void) static void test_redirector_tx(void) { int backend_sock[2], recv_sock; - char *cmdline; uint32_t ret = 0, len = 0; char send_buf[] = "Hello!!"; char sock_path0[] = "filter-redirector0.XXXXXX"; @@ -87,20 +86,19 @@ static void test_redirector_tx(void) ret = mkstemp(sock_path1); g_assert_cmpint(ret, !=, -1); - cmdline = g_strdup_printf("-netdev socket,id=qtest-bn0,fd=%d " - "-device %s,netdev=qtest-bn0,id=qtest-e0 " - "-chardev socket,id=redirector0,path=%s,server,nowait " - "-chardev socket,id=redirector1,path=%s,server,nowait " - "-chardev socket,id=redirector2,path=%s,nowait " - "-object filter-redirector,id=qtest-f0,netdev=qtest-bn0," - "queue=tx,outdev=redirector0 " - "-object filter-redirector,id=qtest-f1,netdev=qtest-bn0," - "queue=tx,indev=redirector2 " - "-object filter-redirector,id=qtest-f2,netdev=qtest-bn0," - "queue=tx,outdev=redirector1 ", backend_sock[1], get_devstr(), - sock_path0, sock_path1, sock_path0); - qtest_start(cmdline); - g_free(cmdline); + global_qtest = qtest_startf( + "-netdev socket,id=qtest-bn0,fd=%d " + "-device %s,netdev=qtest-bn0,id=qtest-e0 " + "-chardev socket,id=redirector0,path=%s,server,nowait " + "-chardev socket,id=redirector1,path=%s,server,nowait " + "-chardev socket,id=redirector2,path=%s,nowait " + "-object filter-redirector,id=qtest-f0,netdev=qtest-bn0," + "queue=tx,outdev=redirector0 " + "-object filter-redirector,id=qtest-f1,netdev=qtest-bn0," + "queue=tx,indev=redirector2 " + "-object filter-redirector,id=qtest-f2,netdev=qtest-bn0," + "queue=tx,outdev=redirector1 ", backend_sock[1], get_devstr(), + sock_path0, sock_path1, sock_path0); recv_sock = unix_connect(sock_path1, NULL); g_assert_cmpint(recv_sock, !=, -1); @@ -141,7 +139,6 @@ static void test_redirector_tx(void) static void test_redirector_rx(void) { int backend_sock[2], send_sock; - char *cmdline; uint32_t ret = 0, len = 0; char send_buf[] = "Hello!!"; char sock_path0[] = "filter-redirector0.XXXXXX"; @@ -158,20 +155,19 @@ static void test_redirector_rx(void) ret = mkstemp(sock_path1); g_assert_cmpint(ret, !=, -1); - cmdline = g_strdup_printf("-netdev socket,id=qtest-bn0,fd=%d " - "-device %s,netdev=qtest-bn0,id=qtest-e0 " - "-chardev socket,id=redirector0,path=%s,server,nowait " - "-chardev socket,id=redirector1,path=%s,server,nowait " - "-chardev socket,id=redirector2,path=%s,nowait " - "-object filter-redirector,id=qtest-f0,netdev=qtest-bn0," - "queue=rx,indev=redirector0 " - "-object filter-redirector,id=qtest-f1,netdev=qtest-bn0," - "queue=rx,outdev=redirector2 " - "-object filter-redirector,id=qtest-f2,netdev=qtest-bn0," - "queue=rx,indev=redirector1 ", backend_sock[1], get_devstr(), - sock_path0, sock_path1, sock_path0); - qtest_start(cmdline); - g_free(cmdline); + global_qtest = qtest_startf( + "-netdev socket,id=qtest-bn0,fd=%d " + "-device %s,netdev=qtest-bn0,id=qtest-e0 " + "-chardev socket,id=redirector0,path=%s,server,nowait " + "-chardev socket,id=redirector1,path=%s,server,nowait " + "-chardev socket,id=redirector2,path=%s,nowait " + "-object filter-redirector,id=qtest-f0,netdev=qtest-bn0," + "queue=rx,indev=redirector0 " + "-object filter-redirector,id=qtest-f1,netdev=qtest-bn0," + "queue=rx,outdev=redirector2 " + "-object filter-redirector,id=qtest-f2,netdev=qtest-bn0," + "queue=rx,indev=redirector1 ", backend_sock[1], get_devstr(), + sock_path0, sock_path1, sock_path0); struct iovec iov[] = { { diff --git a/tests/virtio-balloon-test.c b/tests/virtio-balloon-test.c index 0d0046bf25..0a07e036bb 100644 --- a/tests/virtio-balloon-test.c +++ b/tests/virtio-balloon-test.c @@ -9,9 +9,10 @@ #include "qemu/osdep.h" #include "libqtest.h" +#include "libqos/virtio.h" /* Tests only initialization so far. TODO: Replace with functional tests */ -static void pci_nop(void) +static void balloon_nop(void) { } @@ -20,9 +21,10 @@ int main(int argc, char **argv) int ret; g_test_init(&argc, &argv, NULL); - qtest_add_func("/virtio/balloon/pci/nop", pci_nop); + qtest_add_func("/virtio/balloon/nop", balloon_nop); - qtest_start("-device virtio-balloon-pci"); + global_qtest = qtest_startf("-device virtio-balloon-%s", + qvirtio_get_dev_type()); ret = g_test_run(); qtest_end(); diff --git a/tests/virtio-blk-test.c b/tests/virtio-blk-test.c index 0576cb16ba..e6fb9bac87 100644 --- a/tests/virtio-blk-test.c +++ b/tests/virtio-blk-test.c @@ -84,19 +84,16 @@ static QOSState *pci_test_start(void) static void arm_test_start(void) { - char *cmdline; char *tmp_path; tmp_path = drive_create(); - cmdline = g_strdup_printf("-machine virt " + global_qtest = qtest_startf("-machine virt " "-drive if=none,id=drive0,file=%s,format=raw " "-device virtio-blk-device,drive=drive0", tmp_path); - qtest_start(cmdline); unlink(tmp_path); g_free(tmp_path); - g_free(cmdline); } static void test_end(void) diff --git a/tests/virtio-console-test.c b/tests/virtio-console-test.c index 1c3de072f4..945bae5a15 100644 --- a/tests/virtio-console-test.c +++ b/tests/virtio-console-test.c @@ -9,27 +9,30 @@ #include "qemu/osdep.h" #include "libqtest.h" +#include "libqos/virtio.h" /* Tests only initialization so far. TODO: Replace with functional tests */ -static void console_pci_nop(void) +static void console_nop(void) { - qtest_start("-device virtio-serial-pci,id=vser0 " - "-device virtconsole,bus=vser0.0"); + global_qtest = qtest_startf("-device virtio-serial-%s,id=vser0 " + "-device virtconsole,bus=vser0.0", + qvirtio_get_dev_type()); qtest_end(); } -static void serialport_pci_nop(void) +static void serialport_nop(void) { - qtest_start("-device virtio-serial-pci,id=vser0 " - "-device virtserialport,bus=vser0.0"); + global_qtest = qtest_startf("-device virtio-serial-%s,id=vser0 " + "-device virtserialport,bus=vser0.0", + qvirtio_get_dev_type()); qtest_end(); } int main(int argc, char **argv) { g_test_init(&argc, &argv, NULL); - qtest_add_func("/virtio/console/pci/nop", console_pci_nop); - qtest_add_func("/virtio/serialport/pci/nop", serialport_pci_nop); + qtest_add_func("/virtio/console/nop", console_nop); + qtest_add_func("/virtio/serialport/nop", serialport_nop); return g_test_run(); } diff --git a/tests/virtio-serial-test.c b/tests/virtio-serial-test.c index 7d1517dee3..7cc7060264 100644 --- a/tests/virtio-serial-test.c +++ b/tests/virtio-serial-test.c @@ -9,9 +9,10 @@ #include "qemu/osdep.h" #include "libqtest.h" +#include "libqos/virtio.h" /* Tests only initialization so far. TODO: Replace with functional tests */ -static void pci_nop(void) +static void virtio_serial_nop(void) { } @@ -27,10 +28,11 @@ int main(int argc, char **argv) int ret; g_test_init(&argc, &argv, NULL); - qtest_add_func("/virtio/serial/pci/nop", pci_nop); - qtest_add_func("/virtio/serial/pci/hotplug", hotplug); + qtest_add_func("/virtio/serial/nop", virtio_serial_nop); + qtest_add_func("/virtio/serial/hotplug", hotplug); - qtest_start("-device virtio-serial-pci"); + global_qtest = qtest_startf("-device virtio-serial-%s", + qvirtio_get_dev_type()); ret = g_test_run(); qtest_end(); diff --git a/tests/vmgenid-test.c b/tests/vmgenid-test.c index 918c82c82a..b6e7b3b086 100644 --- a/tests/vmgenid-test.c +++ b/tests/vmgenid-test.c @@ -130,41 +130,32 @@ static void read_guid_from_monitor(QemuUUID *guid) static char disk[] = "tests/vmgenid-test-disk-XXXXXX"; -static char *guid_cmd_strdup(const char *guid) -{ - return g_strdup_printf("-machine accel=kvm:tcg " - "-device vmgenid,id=testvgid,guid=%s " - "-drive id=hd0,if=none,file=%s,format=raw " - "-device ide-hd,drive=hd0 ", - guid, disk); -} - +#define GUID_CMD(guid) \ + "-machine accel=kvm:tcg " \ + "-device vmgenid,id=testvgid,guid=%s " \ + "-drive id=hd0,if=none,file=%s,format=raw " \ + "-device ide-hd,drive=hd0 ", guid, disk static void vmgenid_set_guid_test(void) { QemuUUID expected, measured; - gchar *cmd; g_assert(qemu_uuid_parse(VGID_GUID, &expected) == 0); - cmd = guid_cmd_strdup(VGID_GUID); - qtest_start(cmd); + global_qtest = qtest_startf(GUID_CMD(VGID_GUID)); /* Read the GUID from accessing guest memory */ read_guid_from_memory(&measured); g_assert(memcmp(measured.data, expected.data, sizeof(measured.data)) == 0); qtest_quit(global_qtest); - g_free(cmd); } static void vmgenid_set_guid_auto_test(void) { - char *cmd; QemuUUID measured; - cmd = guid_cmd_strdup("auto"); - qtest_start(cmd); + global_qtest = qtest_startf(GUID_CMD("auto")); read_guid_from_memory(&measured); @@ -172,25 +163,21 @@ static void vmgenid_set_guid_auto_test(void) g_assert(!qemu_uuid_is_null(&measured)); qtest_quit(global_qtest); - g_free(cmd); } static void vmgenid_query_monitor_test(void) { QemuUUID expected, measured; - gchar *cmd; g_assert(qemu_uuid_parse(VGID_GUID, &expected) == 0); - cmd = guid_cmd_strdup(VGID_GUID); - qtest_start(cmd); + global_qtest = qtest_startf(GUID_CMD(VGID_GUID)); /* Read the GUID via the monitor */ read_guid_from_monitor(&measured); g_assert(memcmp(measured.data, expected.data, sizeof(measured.data)) == 0); qtest_quit(global_qtest); - g_free(cmd); } int main(int argc, char **argv) |