As argued elsewhere, it's less code to maintain if we convert from a dynamic string passed to qobject_from_jsonv() to instead use a hand-built QDict.
Signed-off-by: Eric Blake <ebl...@redhat.com> --- tests/virtio-blk-test.c | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/tests/virtio-blk-test.c b/tests/virtio-blk-test.c index 0e32e41..57780aa 100644 --- a/tests/virtio-blk-test.c +++ b/tests/virtio-blk-test.c @@ -16,6 +16,9 @@ #include "libqos/virtio-pci.h" #include "libqos/virtio-mmio.h" #include "libqos/malloc-generic.h" +#include "qapi/qmp/qdict.h" +#include "qapi/qmp/qint.h" +#include "qapi/qmp/qstring.h" #include "qemu/bswap.h" #include "standard-headers/linux/virtio_ids.h" #include "standard-headers/linux/virtio_config.h" @@ -399,6 +402,7 @@ static void pci_config(void) QOSState *qs; int n_size = TEST_IMAGE_SIZE / 2; uint64_t capacity; + QDict *args = qdict_new(); qs = pci_test_start(); @@ -409,8 +413,10 @@ static void pci_config(void) qvirtio_set_driver_ok(&dev->vdev); - qmp("{ 'execute': 'block_resize', 'arguments': { 'device': 'drive0', " - " 'size': %d } }", n_size); + qdict_put_str(args, "device", "drive0"); + qdict_put_int(args, "size", n_size); + qmp_cmd("block_resize", args); + qvirtio_wait_config_isr(&dev->vdev, QVIRTIO_BLK_TIMEOUT_US); capacity = qvirtio_config_readq(&dev->vdev, 0); @@ -435,6 +441,7 @@ static void pci_msix(void) uint32_t free_head; uint8_t status; char *data; + QDict *args = qdict_new(); qs = pci_test_start(); @@ -458,8 +465,9 @@ static void pci_msix(void) qvirtio_set_driver_ok(&dev->vdev); - qmp("{ 'execute': 'block_resize', 'arguments': { 'device': 'drive0', " - " 'size': %d } }", n_size); + qdict_put_str(args, "device", "drive0"); + qdict_put_int(args, "size", n_size); + qmp_cmd("block_resize", args); qvirtio_wait_config_isr(&dev->vdev, QVIRTIO_BLK_TIMEOUT_US); @@ -675,6 +683,7 @@ static void mmio_basic(void) QGuestAllocator *alloc; int n_size = TEST_IMAGE_SIZE / 2; uint64_t capacity; + QDict *args = qdict_new(); arm_test_start(); @@ -691,8 +700,9 @@ static void mmio_basic(void) test_basic(&dev->vdev, alloc, vq); - qmp("{ 'execute': 'block_resize', 'arguments': { 'device': 'drive0', " - " 'size': %d } }", n_size); + qdict_put_str(args, "device", "drive0"); + qdict_put_int(args, "size", n_size); + qmp_cmd("block_resize", args); qvirtio_wait_queue_isr(&dev->vdev, vq, QVIRTIO_BLK_TIMEOUT_US); -- 2.7.4