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>
This commit is contained in:
parent
56512e1dc1
commit
ae4c445c6f
@ -52,17 +52,21 @@ static QVirtioPCIDevice *virtio_net_pci_init(QPCIBus *bus, int slot)
|
|||||||
return dev;
|
return dev;
|
||||||
}
|
}
|
||||||
|
|
||||||
static QOSState *pci_test_start(int socket)
|
GCC_FMT_ATTR(1, 2)
|
||||||
|
static QOSState *pci_test_start(const char *cmd, ...)
|
||||||
{
|
{
|
||||||
QOSState *qs;
|
QOSState *qs;
|
||||||
|
va_list ap;
|
||||||
const char *arch = qtest_get_arch();
|
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) {
|
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) {
|
} 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 {
|
} else {
|
||||||
g_printerr("virtio-net tests are only available on x86 or ppc64\n");
|
g_printerr("virtio-net tests are only available on x86 or ppc64\n");
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
@ -223,7 +227,8 @@ static void pci_basic(gconstpointer data)
|
|||||||
ret = socketpair(PF_UNIX, SOCK_STREAM, 0, sv);
|
ret = socketpair(PF_UNIX, SOCK_STREAM, 0, sv);
|
||||||
g_assert_cmpint(ret, !=, -1);
|
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);
|
dev = virtio_net_pci_init(qs->pcibus, PCI_SLOT);
|
||||||
|
|
||||||
rx = (QVirtQueuePCI *)qvirtqueue_setup(&dev->vdev, qs->alloc, 0);
|
rx = (QVirtQueuePCI *)qvirtqueue_setup(&dev->vdev, qs->alloc, 0);
|
||||||
|
Loading…
Reference in New Issue
Block a user