On 2018-11-29 04:12, Jason Wang wrote: > This allows flexibility to be reused for all kinds of command line > used by other tests. > > Signed-off-by: Jason Wang <jasow...@redhat.com> > --- > tests/virtio-net-test.c | 17 +++++++++++------ > 1 file changed, 11 insertions(+), 6 deletions(-) > > diff --git a/tests/virtio-net-test.c b/tests/virtio-net-test.c > index 231e7c767e..33d26ab079 100644 > --- a/tests/virtio-net-test.c > +++ b/tests/virtio-net-test.c > @@ -51,17 +51,20 @@ static QVirtioPCIDevice *virtio_net_pci_init(QPCIBus > *bus, int slot) > return dev; > } > > -static QOSState *pci_test_start(int socket) > +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); > @@ -218,11 +221,13 @@ static void pci_basic(gconstpointer data) > QVirtQueue *tvq, > int socket) = data; > int sv[2], ret; > + const char *cmd = "-netdev socket,fd=%d,id=hs0 -device " > + "virtio-net-pci,netdev=hs0"; > > ret = socketpair(PF_UNIX, SOCK_STREAM, 0, sv); > g_assert_cmpint(ret, !=, -1); > > - qs = pci_test_start(sv[1]); > + qs = pci_test_start(cmd, sv[1]); > dev = virtio_net_pci_init(qs->pcibus, PCI_SLOT); > > rx = (QVirtQueuePCI *)qvirtqueue_setup(&dev->vdev, qs->alloc, 0); >
Reviewed-by: Thomas Huth <th...@redhat.com>