diff options
author | Jason Wang <jasowang@redhat.com> | 2018-12-04 11:53:45 +0800 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2018-12-04 11:06:15 +0000 |
commit | ae4c445c6f38a01504b7040b1e01a69945137b0c (patch) | |
tree | aabaa35f0c9a1ae72f0fae9bcb4fa9de89febce9 | |
parent | 56512e1dc1c6a00d37da09baa35981908fb9b5c7 (diff) |
virtio-net-test: accept variable length argument in pci_test_start()
This allows flexibility to be reused for all kinds of command line
used by other tests.
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Message-id: 20181204035347.6148-4-jasowang@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r-- | tests/virtio-net-test.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/tests/virtio-net-test.c b/tests/virtio-net-test.c index dcb87a8b6e..587a043e67 100644 --- a/tests/virtio-net-test.c +++ b/tests/virtio-net-test.c @@ -52,17 +52,21 @@ static QVirtioPCIDevice *virtio_net_pci_init(QPCIBus *bus, int slot) return dev; } -static QOSState *pci_test_start(int socket) +GCC_FMT_ATTR(1, 2) +static QOSState *pci_test_start(const char *cmd, ...) { QOSState *qs; + va_list ap; const char *arch = qtest_get_arch(); - const char *cmd = "-netdev socket,fd=%d,id=hs0 -device " - "virtio-net-pci,netdev=hs0"; if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) { - qs = qtest_pc_boot(cmd, socket); + va_start(ap, cmd); + qs = qtest_pc_vboot(cmd, ap); + va_end(ap); } else if (strcmp(arch, "ppc64") == 0) { - qs = qtest_spapr_boot(cmd, socket); + va_start(ap, cmd); + qs = qtest_spapr_vboot(cmd, ap); + va_end(ap); } else { g_printerr("virtio-net tests are only available on x86 or ppc64\n"); exit(EXIT_FAILURE); @@ -223,7 +227,8 @@ static void pci_basic(gconstpointer data) ret = socketpair(PF_UNIX, SOCK_STREAM, 0, sv); g_assert_cmpint(ret, !=, -1); - qs = pci_test_start(sv[1]); + qs = pci_test_start("-netdev socket,fd=%d,id=hs0 -device " + "virtio-net-pci,netdev=hs0", sv[1]); dev = virtio_net_pci_init(qs->pcibus, PCI_SLOT); rx = (QVirtQueuePCI *)qvirtqueue_setup(&dev->vdev, qs->alloc, 0); |