* Fixes for the virtio-net-failover test
* Silence warnings in the boot-serial-test * Make qtests more flexible wrt missing machines and devices -----BEGIN PGP SIGNATURE----- iQJFBAABCAAvFiEEJ7iIR+7gJQEY8+q5LtnXdP5wLbUFAmHC7dIRHHRodXRoQHJl ZGhhdC5jb20ACgkQLtnXdP5wLbXZWg//agNUxXht1GD8q5GjiLbV9QiVlXUVAFKd m+ZaUrs7RWdX31uX+J/Hm3WhJxp442yMQ1CahTSp8rC65hS7+awtFMoeBO2QLw+h 1XUbIHMf1sFFXwjZlJVHZwRDvcbapBNPA8oVNWnv/TK0EKgQYanKtewKviZShYdn kizoFQZ9YFXOAfiMIYg6+zDym1ymCfyYomlRuv1/mitnKS+okhMD+mI1psajZXnX hdGGDt/LZ/P8rYeyeCmc9ojb1pzTHAZkXkjQhkW/yVgeormJMr6rABiP5k5iWiD9 XB+qR5ybkfuTj+NeWusOGDcIYqrDe9En/t7bouOdy4QrA3EobP4+H8DGGo0U70Oc hHfZP3vR8RmSMuoizeSBz12QDDWZFZCHEnxzE6N2kj2s/GA8xo761PrH478MxsQB TmSJDDn4Zty3685fnoZD5OeCDB/ra5wEwGY9BOh5bdvfjsTG6hCkAqIe0kdUsmQn vS0v753LB4ARQf478LEDMLU2njXpgOHD/xYsvtksGC/V8wU6qMEWURIaY0NbEKCN PQOHfux8BE9Nw1oSHHGDkNpIGY6ZoDRDD+hRNvCV5WM1L7PzbPv0iQ7Afv8Dsa3p gzKDjxg+B2BTNusmyOfuUX24KYvOhAVnZTy54zaZ1VLgn9Fbc8lJLFgzVavf9HjF //fxFob4X7c= =2vqt -----END PGP SIGNATURE----- Merge tag 'pull-request-2021-12-22' of https://gitlab.com/thuth/qemu into staging * Fixes for the virtio-net-failover test * Silence warnings in the boot-serial-test * Make qtests more flexible wrt missing machines and devices # gpg: Signature made Wed 22 Dec 2021 01:20:18 AM PST # gpg: using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5 # gpg: issuer "thuth@redhat.com" # gpg: Good signature from "Thomas Huth <th.huth@gmx.de>" [unknown] # gpg: aka "Thomas Huth <thuth@redhat.com>" [unknown] # gpg: aka "Thomas Huth <th.huth@posteo.de>" [unknown] # gpg: aka "Thomas Huth <huth@tuxfamily.org>" [unknown] # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: 27B8 8847 EEE0 2501 18F3 EAB9 2ED9 D774 FE70 2DB5 * tag 'pull-request-2021-12-22' of https://gitlab.com/thuth/qemu: tests/qtest/virtio-net-failover: Use g_file_open_tmp() to create temporary file tests/qtest/boot-order-test: Check whether machines are available tests/qtest/cdrom-test: Check whether devices are available before using them tests/qtest: Improve endianness-test to work with missing machines and devices tests/qtest: Add a function that checks whether a device is available MAINTAINERS: Update COLO Proxy section tests/qtest: Make the filter tests independent from a specific NIC tests/qtest/boot-serial-test: Silence the warning about deprecated sga device failover: Silence warning messages during qtest Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
commit
8d29feca83
@ -2987,6 +2987,7 @@ F: docs/colo-proxy.txt
|
||||
F: net/colo*
|
||||
F: net/filter-rewriter.c
|
||||
F: net/filter-mirror.c
|
||||
F: tests/qtest/test-filter*
|
||||
|
||||
Record/replay
|
||||
M: Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>
|
||||
|
@ -44,6 +44,7 @@
|
||||
#include "hw/pci/pci.h"
|
||||
#include "net_rx_pkt.h"
|
||||
#include "hw/virtio/vhost.h"
|
||||
#include "sysemu/qtest.h"
|
||||
|
||||
#define VIRTIO_NET_VM_VERSION 11
|
||||
|
||||
@ -926,7 +927,11 @@ static void virtio_net_set_features(VirtIODevice *vdev, uint64_t features)
|
||||
qatomic_set(&n->failover_primary_hidden, false);
|
||||
failover_add_primary(n, &err);
|
||||
if (err) {
|
||||
warn_report_err(err);
|
||||
if (!qtest_enabled()) {
|
||||
warn_report_err(err);
|
||||
} else {
|
||||
error_free(err);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -60,6 +60,7 @@
|
||||
#include "qemu/yank.h"
|
||||
#include "sysemu/cpus.h"
|
||||
#include "yank_functions.h"
|
||||
#include "sysemu/qtest.h"
|
||||
|
||||
#define MAX_THROTTLE (128 << 20) /* Migration transfer speed throttling */
|
||||
|
||||
@ -3766,7 +3767,8 @@ static void qemu_savevm_wait_unplug(MigrationState *s, int old_state,
|
||||
while (timeout-- && qemu_savevm_state_guest_unplug_pending()) {
|
||||
qemu_sem_timedwait(&s->wait_unplug_sem, 250);
|
||||
}
|
||||
if (qemu_savevm_state_guest_unplug_pending()) {
|
||||
if (qemu_savevm_state_guest_unplug_pending() &&
|
||||
!qtest_enabled()) {
|
||||
warn_report("migration: partially unplugged device on "
|
||||
"failure");
|
||||
}
|
||||
|
@ -34,6 +34,11 @@ static void test_a_boot_order(const char *machine,
|
||||
uint64_t actual;
|
||||
QTestState *qts;
|
||||
|
||||
if (machine && !qtest_has_machine(machine)) {
|
||||
g_test_skip("Machine is not available");
|
||||
return;
|
||||
}
|
||||
|
||||
qts = qtest_initf("-nodefaults%s%s %s", machine ? " -M " : "",
|
||||
machine ?: "", test_args);
|
||||
actual = read_boot_order(qts);
|
||||
|
@ -157,11 +157,11 @@ static testdef_t tests[] = {
|
||||
{ "ppc64", "powernv8", "", "OPAL" },
|
||||
{ "ppc64", "powernv9", "", "OPAL" },
|
||||
{ "ppc64", "sam460ex", "-device e1000", "8086 100e" },
|
||||
{ "i386", "isapc", "-cpu qemu32 -device sga", "SGABIOS" },
|
||||
{ "i386", "pc", "-device sga", "SGABIOS" },
|
||||
{ "i386", "q35", "-device sga", "SGABIOS" },
|
||||
{ "x86_64", "isapc", "-cpu qemu32 -device sga", "SGABIOS" },
|
||||
{ "x86_64", "q35", "-device sga", "SGABIOS" },
|
||||
{ "i386", "isapc", "-cpu qemu32 -M graphics=off", "SeaBIOS" },
|
||||
{ "i386", "pc", "-M graphics=off", "SeaBIOS" },
|
||||
{ "i386", "q35", "-M graphics=off", "SeaBIOS" },
|
||||
{ "x86_64", "isapc", "-cpu qemu32 -M graphics=off", "SeaBIOS" },
|
||||
{ "x86_64", "q35", "-M graphics=off", "SeaBIOS" },
|
||||
{ "sparc", "LX", "", "TMS390S10" },
|
||||
{ "sparc", "SS-4", "", "MB86904" },
|
||||
{ "sparc", "SS-600MP", "", "TMS390Z55" },
|
||||
|
@ -142,21 +142,36 @@ static void add_x86_tests(void)
|
||||
qtest_add_data_func("cdrom/boot/isapc", "-M isapc "
|
||||
"-drive if=ide,media=cdrom,file=", test_cdboot);
|
||||
}
|
||||
qtest_add_data_func("cdrom/boot/am53c974",
|
||||
"-device am53c974 -device scsi-cd,drive=cd1 "
|
||||
"-drive if=none,id=cd1,format=raw,file=", test_cdboot);
|
||||
qtest_add_data_func("cdrom/boot/dc390",
|
||||
"-device dc390 -device scsi-cd,drive=cd1 "
|
||||
"-blockdev file,node-name=cd1,filename=", test_cdboot);
|
||||
qtest_add_data_func("cdrom/boot/lsi53c895a",
|
||||
"-device lsi53c895a -device scsi-cd,drive=cd1 "
|
||||
"-blockdev file,node-name=cd1,filename=", test_cdboot);
|
||||
qtest_add_data_func("cdrom/boot/megasas", "-M q35 "
|
||||
"-device megasas -device scsi-cd,drive=cd1 "
|
||||
"-blockdev file,node-name=cd1,filename=", test_cdboot);
|
||||
qtest_add_data_func("cdrom/boot/megasas-gen2", "-M q35 "
|
||||
"-device megasas-gen2 -device scsi-cd,drive=cd1 "
|
||||
"-blockdev file,node-name=cd1,filename=", test_cdboot);
|
||||
if (qtest_has_device("am53c974")) {
|
||||
qtest_add_data_func("cdrom/boot/am53c974",
|
||||
"-device am53c974 -device scsi-cd,drive=cd1 "
|
||||
"-drive if=none,id=cd1,format=raw,file=",
|
||||
test_cdboot);
|
||||
}
|
||||
if (qtest_has_device("dc390")) {
|
||||
qtest_add_data_func("cdrom/boot/dc390",
|
||||
"-device dc390 -device scsi-cd,drive=cd1 "
|
||||
"-blockdev file,node-name=cd1,filename=",
|
||||
test_cdboot);
|
||||
}
|
||||
if (qtest_has_device("lsi53c895a")) {
|
||||
qtest_add_data_func("cdrom/boot/lsi53c895a",
|
||||
"-device lsi53c895a -device scsi-cd,drive=cd1 "
|
||||
"-blockdev file,node-name=cd1,filename=",
|
||||
test_cdboot);
|
||||
}
|
||||
if (qtest_has_device("megasas")) {
|
||||
qtest_add_data_func("cdrom/boot/megasas", "-M q35 "
|
||||
"-device megasas -device scsi-cd,drive=cd1 "
|
||||
"-blockdev file,node-name=cd1,filename=",
|
||||
test_cdboot);
|
||||
}
|
||||
if (qtest_has_device("megasas-gen2")) {
|
||||
qtest_add_data_func("cdrom/boot/megasas-gen2", "-M q35 "
|
||||
"-device megasas-gen2 -device scsi-cd,drive=cd1 "
|
||||
"-blockdev file,node-name=cd1,filename=",
|
||||
test_cdboot);
|
||||
}
|
||||
}
|
||||
|
||||
static void add_s390x_tests(void)
|
||||
@ -171,12 +186,15 @@ static void add_s390x_tests(void)
|
||||
"-drive driver=null-co,read-zeroes=on,if=none,id=d1 "
|
||||
"-device virtio-blk,drive=d2,bootindex=1 "
|
||||
"-drive if=none,id=d2,media=cdrom,file=", test_cdboot);
|
||||
qtest_add_data_func("cdrom/boot/without-bootindex",
|
||||
"-device virtio-scsi -device virtio-serial "
|
||||
"-device x-terminal3270 -device virtio-blk,drive=d1 "
|
||||
"-drive driver=null-co,read-zeroes=on,if=none,id=d1 "
|
||||
"-device virtio-blk,drive=d2 "
|
||||
"-drive if=none,id=d2,media=cdrom,file=", test_cdboot);
|
||||
if (qtest_has_device("x-terminal3270")) {
|
||||
qtest_add_data_func("cdrom/boot/without-bootindex",
|
||||
"-device virtio-scsi -device virtio-serial "
|
||||
"-device x-terminal3270 -device virtio-blk,drive=d1 "
|
||||
"-drive driver=null-co,read-zeroes=on,if=none,id=d1 "
|
||||
"-device virtio-blk,drive=d2 "
|
||||
"-drive if=none,id=d2,media=cdrom,file=",
|
||||
test_cdboot);
|
||||
}
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
|
@ -281,7 +281,10 @@ int main(int argc, char **argv)
|
||||
|
||||
for (i = 0; test_cases[i].arch; i++) {
|
||||
gchar *path;
|
||||
if (strcmp(test_cases[i].arch, arch) != 0) {
|
||||
|
||||
if (!g_str_equal(test_cases[i].arch, arch) ||
|
||||
!qtest_has_machine(test_cases[i].machine) ||
|
||||
(test_cases[i].superio && !qtest_has_device(test_cases[i].superio))) {
|
||||
continue;
|
||||
}
|
||||
path = g_strdup_printf("endianness/%s",
|
||||
|
@ -718,6 +718,14 @@ void qtest_cb_for_every_machine(void (*cb)(const char *machine),
|
||||
*/
|
||||
bool qtest_has_machine(const char *machine);
|
||||
|
||||
/**
|
||||
* qtest_has_device:
|
||||
* @device: The device to look for
|
||||
*
|
||||
* Returns: true if the device is available in the target binary.
|
||||
*/
|
||||
bool qtest_has_device(const char *device);
|
||||
|
||||
/**
|
||||
* qtest_qmp_device_add_qdict:
|
||||
* @qts: QTestState instance to operate on
|
||||
|
@ -1418,6 +1418,50 @@ bool qtest_has_machine(const char *machine)
|
||||
return false;
|
||||
}
|
||||
|
||||
bool qtest_has_device(const char *device)
|
||||
{
|
||||
static QList *list;
|
||||
const QListEntry *p;
|
||||
QObject *qobj;
|
||||
QString *qstr;
|
||||
QDict *devinfo;
|
||||
int idx;
|
||||
|
||||
if (!list) {
|
||||
QDict *resp;
|
||||
QDict *args;
|
||||
QTestState *qts = qtest_init("-machine none");
|
||||
|
||||
args = qdict_new();
|
||||
qdict_put_bool(args, "abstract", false);
|
||||
qdict_put_str(args, "implements", "device");
|
||||
|
||||
resp = qtest_qmp(qts, "{'execute': 'qom-list-types', 'arguments': %p }",
|
||||
args);
|
||||
g_assert(qdict_haskey(resp, "return"));
|
||||
list = qdict_get_qlist(resp, "return");
|
||||
qobject_ref(list);
|
||||
qobject_unref(resp);
|
||||
|
||||
qtest_quit(qts);
|
||||
}
|
||||
|
||||
for (p = qlist_first(list), idx = 0; p; p = qlist_next(p), idx++) {
|
||||
devinfo = qobject_to(QDict, qlist_entry_obj(p));
|
||||
g_assert(devinfo);
|
||||
|
||||
qobj = qdict_get(devinfo, "name");
|
||||
g_assert(qobj);
|
||||
qstr = qobject_to(QString, qobj);
|
||||
g_assert(qstr);
|
||||
if (g_str_equal(qstring_get_str(qstr), device)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
* Generic hot-plugging test via the device_add QMP commands.
|
||||
*/
|
||||
|
@ -47,7 +47,6 @@ qtests_i386 = \
|
||||
(have_tools ? ['ahci-test'] : []) + \
|
||||
(config_all_devices.has_key('CONFIG_ISA_TESTDEV') ? ['endianness-test'] : []) + \
|
||||
(config_all_devices.has_key('CONFIG_SGA') ? ['boot-serial-test'] : []) + \
|
||||
(config_all_devices.has_key('CONFIG_RTL8139_PCI') ? ['test-filter-redirector'] : []) + \
|
||||
(config_all_devices.has_key('CONFIG_ISA_IPMI_KCS') ? ['ipmi-kcs-test'] : []) + \
|
||||
(config_host.has_key('CONFIG_LINUX') and \
|
||||
config_all_devices.has_key('CONFIG_ISA_IPMI_BT') ? ['ipmi-bt-test'] : []) + \
|
||||
@ -90,7 +89,9 @@ qtests_i386 = \
|
||||
'vmgenid-test',
|
||||
'migration-test',
|
||||
'test-x86-cpuid-compat',
|
||||
'numa-test']
|
||||
'numa-test',
|
||||
'test-filter-redirector'
|
||||
]
|
||||
|
||||
if dbus_display
|
||||
qtests_i386 += ['dbus-display-test']
|
||||
@ -113,31 +114,49 @@ endif
|
||||
|
||||
qtests_x86_64 = qtests_i386
|
||||
|
||||
qtests_alpha = [ 'boot-serial-test' ] + \
|
||||
qtests_alpha = ['boot-serial-test'] + \
|
||||
['test-filter-mirror', 'test-filter-redirector'] + \
|
||||
(slirp.found() ? ['test-netfilter'] : []) + \
|
||||
(config_all_devices.has_key('CONFIG_VGA') ? ['display-vga-test'] : [])
|
||||
|
||||
qtests_avr = [ 'boot-serial-test' ]
|
||||
|
||||
qtests_hppa = [ 'boot-serial-test' ] + \
|
||||
qtests_hppa = ['boot-serial-test'] + \
|
||||
['test-filter-mirror', 'test-filter-redirector'] + \
|
||||
(slirp.found() ? ['test-netfilter'] : []) + \
|
||||
(config_all_devices.has_key('CONFIG_VGA') ? ['display-vga-test'] : [])
|
||||
|
||||
qtests_m68k = [ 'boot-serial-test' ]
|
||||
qtests_microblaze = [ 'boot-serial-test' ]
|
||||
qtests_m68k = ['boot-serial-test'] + \
|
||||
['test-filter-mirror', 'test-filter-redirector'] + \
|
||||
(slirp.found() ? ['test-netfilter'] : [])
|
||||
|
||||
qtests_microblaze = ['boot-serial-test'] + \
|
||||
['test-filter-mirror', 'test-filter-redirector'] + \
|
||||
(slirp.found() ? ['test-netfilter'] : [])
|
||||
|
||||
qtests_microblazeel = qtests_microblaze
|
||||
|
||||
qtests_mips = \
|
||||
['test-filter-mirror', 'test-filter-redirector'] + \
|
||||
(slirp.found() ? ['test-netfilter'] : []) + \
|
||||
(config_all_devices.has_key('CONFIG_ISA_TESTDEV') ? ['endianness-test'] : []) + \
|
||||
(config_all_devices.has_key('CONFIG_VGA') ? ['display-vga-test'] : [])
|
||||
|
||||
qtests_mips64 = \
|
||||
['test-filter-mirror', 'test-filter-redirector'] + \
|
||||
(slirp.found() ? ['test-netfilter'] : []) + \
|
||||
(config_all_devices.has_key('CONFIG_ISA_TESTDEV') ? ['endianness-test'] : []) + \
|
||||
(config_all_devices.has_key('CONFIG_VGA') ? ['display-vga-test'] : [])
|
||||
|
||||
qtests_mips64el = \
|
||||
['test-filter-mirror', 'test-filter-redirector'] + \
|
||||
(slirp.found() ? ['test-netfilter'] : []) + \
|
||||
(config_all_devices.has_key('CONFIG_ISA_TESTDEV') ? ['endianness-test'] : []) + \
|
||||
(config_all_devices.has_key('CONFIG_VGA') ? ['display-vga-test'] : [])
|
||||
|
||||
qtests_ppc = \
|
||||
['test-filter-mirror', 'test-filter-redirector'] + \
|
||||
(slirp.found() ? ['test-netfilter'] : []) + \
|
||||
(config_all_devices.has_key('CONFIG_ISA_TESTDEV') ? ['endianness-test'] : []) + \
|
||||
(config_all_devices.has_key('CONFIG_M48T59') ? ['m48t59-test'] : []) + \
|
||||
['boot-order-test', 'prom-env-test', 'boot-serial-test'] \
|
||||
@ -147,19 +166,22 @@ qtests_ppc64 = \
|
||||
(config_all_devices.has_key('CONFIG_PSERIES') ? ['device-plug-test'] : []) + \
|
||||
(config_all_devices.has_key('CONFIG_POWERNV') ? ['pnv-xscom-test'] : []) + \
|
||||
(config_all_devices.has_key('CONFIG_PSERIES') ? ['rtas-test'] : []) + \
|
||||
(slirp.found() ? ['pxe-test', 'test-netfilter'] : []) + \
|
||||
(slirp.found() ? ['pxe-test'] : []) + \
|
||||
(config_all_devices.has_key('CONFIG_USB_UHCI') ? ['usb-hcd-uhci-test'] : []) + \
|
||||
(config_all_devices.has_key('CONFIG_USB_XHCI_NEC') ? ['usb-hcd-xhci-test'] : []) + \
|
||||
(config_host.has_key('CONFIG_POSIX') ? ['test-filter-mirror'] : []) + \
|
||||
qtests_pci + ['migration-test', 'numa-test', 'cpu-plug-test', 'drive_del-test']
|
||||
|
||||
qtests_sh4 = (config_all_devices.has_key('CONFIG_ISA_TESTDEV') ? ['endianness-test'] : [])
|
||||
qtests_sh4eb = (config_all_devices.has_key('CONFIG_ISA_TESTDEV') ? ['endianness-test'] : [])
|
||||
|
||||
qtests_sparc = ['prom-env-test', 'm48t59-test', 'boot-serial-test']
|
||||
qtests_sparc = ['prom-env-test', 'm48t59-test', 'boot-serial-test'] + \
|
||||
['test-filter-mirror', 'test-filter-redirector'] + \
|
||||
(slirp.found() ? ['test-netfilter'] : [])
|
||||
|
||||
qtests_sparc64 = \
|
||||
(config_all_devices.has_key('CONFIG_ISA_TESTDEV') ? ['endianness-test'] : []) + \
|
||||
(slirp.found() ? ['test-netfilter'] : []) + \
|
||||
['test-filter-mirror', 'test-filter-redirector'] + \
|
||||
['prom-env-test', 'boot-serial-test']
|
||||
|
||||
qtests_npcm7xx = \
|
||||
|
@ -28,13 +28,8 @@ static void test_mirror(void)
|
||||
char *recv_buf;
|
||||
uint32_t size = sizeof(send_buf);
|
||||
size = htonl(size);
|
||||
const char *devstr = "e1000";
|
||||
QTestState *qts;
|
||||
|
||||
if (g_str_equal(qtest_get_arch(), "s390x")) {
|
||||
devstr = "virtio-net-ccw";
|
||||
}
|
||||
|
||||
ret = socketpair(PF_UNIX, SOCK_STREAM, 0, send_sock);
|
||||
g_assert_cmpint(ret, !=, -1);
|
||||
|
||||
@ -42,11 +37,10 @@ static void test_mirror(void)
|
||||
g_assert_cmpint(ret, !=, -1);
|
||||
|
||||
qts = qtest_initf(
|
||||
"-netdev socket,id=qtest-bn0,fd=%d "
|
||||
"-device %s,netdev=qtest-bn0,id=qtest-e0 "
|
||||
"-nic socket,id=qtest-bn0,fd=%d "
|
||||
"-chardev socket,id=mirror0,fd=%d "
|
||||
"-object filter-mirror,id=qtest-f0,netdev=qtest-bn0,queue=tx,outdev=mirror0 "
|
||||
, send_sock[1], devstr, recv_sock[1]);
|
||||
, send_sock[1], recv_sock[1]);
|
||||
|
||||
struct iovec iov[] = {
|
||||
{
|
||||
|
@ -62,16 +62,6 @@
|
||||
/* TODO actually test the results and get rid of this */
|
||||
#define qmp_discard_response(qs, ...) qobject_unref(qtest_qmp(qs, __VA_ARGS__))
|
||||
|
||||
static const char *get_devstr(void)
|
||||
{
|
||||
if (g_str_equal(qtest_get_arch(), "s390x")) {
|
||||
return "virtio-net-ccw";
|
||||
}
|
||||
|
||||
return "rtl8139";
|
||||
}
|
||||
|
||||
|
||||
static void test_redirector_tx(void)
|
||||
{
|
||||
int backend_sock[2], recv_sock;
|
||||
@ -93,8 +83,7 @@ static void test_redirector_tx(void)
|
||||
g_assert_cmpint(ret, !=, -1);
|
||||
|
||||
qts = qtest_initf(
|
||||
"-netdev socket,id=qtest-bn0,fd=%d "
|
||||
"-device %s,netdev=qtest-bn0,id=qtest-e0 "
|
||||
"-nic socket,id=qtest-bn0,fd=%d "
|
||||
"-chardev socket,id=redirector0,path=%s,server=on,wait=off "
|
||||
"-chardev socket,id=redirector1,path=%s,server=on,wait=off "
|
||||
"-chardev socket,id=redirector2,path=%s "
|
||||
@ -103,7 +92,7 @@ static void test_redirector_tx(void)
|
||||
"-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(),
|
||||
"queue=tx,outdev=redirector1 ", backend_sock[1],
|
||||
sock_path0, sock_path1, sock_path0);
|
||||
|
||||
recv_sock = unix_connect(sock_path1, NULL);
|
||||
@ -163,8 +152,7 @@ static void test_redirector_rx(void)
|
||||
g_assert_cmpint(ret, !=, -1);
|
||||
|
||||
qts = qtest_initf(
|
||||
"-netdev socket,id=qtest-bn0,fd=%d "
|
||||
"-device %s,netdev=qtest-bn0,id=qtest-e0 "
|
||||
"-nic socket,id=qtest-bn0,fd=%d "
|
||||
"-chardev socket,id=redirector0,path=%s,server=on,wait=off "
|
||||
"-chardev socket,id=redirector1,path=%s,server=on,wait=off "
|
||||
"-chardev socket,id=redirector2,path=%s "
|
||||
@ -173,7 +161,7 @@ static void test_redirector_rx(void)
|
||||
"-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(),
|
||||
"queue=rx,indev=redirector1 ", backend_sock[1],
|
||||
sock_path0, sock_path1, sock_path0);
|
||||
|
||||
struct iovec iov[] = {
|
||||
|
@ -178,11 +178,6 @@ int main(int argc, char **argv)
|
||||
{
|
||||
int ret;
|
||||
char *args;
|
||||
const char *devstr = "e1000";
|
||||
|
||||
if (g_str_equal(qtest_get_arch(), "s390x")) {
|
||||
devstr = "virtio-net-ccw";
|
||||
}
|
||||
|
||||
g_test_init(&argc, &argv, NULL);
|
||||
qtest_add_func("/netfilter/addremove_one", add_one_netfilter);
|
||||
@ -192,8 +187,7 @@ int main(int argc, char **argv)
|
||||
qtest_add_func("/netfilter/remove_netdev_multi",
|
||||
remove_netdev_with_multi_netfilter);
|
||||
|
||||
args = g_strdup_printf("-netdev user,id=qtest-bn0 "
|
||||
"-device %s,netdev=qtest-bn0", devstr);
|
||||
args = g_strdup_printf("-nic user,id=qtest-bn0");
|
||||
qtest_start(args);
|
||||
ret = g_test_run();
|
||||
|
||||
|
@ -1306,13 +1306,15 @@ static void test_multi_in(gconstpointer opaque)
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
const gchar *tmpdir = g_get_tmp_dir();
|
||||
gchar *tmpfile = g_strdup_printf("%s/failover_test_migrate-%u-%u",
|
||||
tmpdir, getpid(), g_test_rand_int());
|
||||
gchar *tmpfile;
|
||||
int ret;
|
||||
|
||||
g_test_init(&argc, &argv, NULL);
|
||||
|
||||
ret = g_file_open_tmp("failover_test_migrate-XXXXXX", &tmpfile, NULL);
|
||||
g_assert_true(ret >= 0);
|
||||
close(ret);
|
||||
|
||||
qtest_add_func("failover-virtio-net/params/error/id", test_error_id);
|
||||
qtest_add_func("failover-virtio-net/params/error/pcie", test_error_pcie);
|
||||
qtest_add_func("failover-virtio-net/params/on", test_on);
|
||||
|
Loading…
Reference in New Issue
Block a user