summaryrefslogtreecommitdiff
path: root/tests/pxe-test.c
diff options
context:
space:
mode:
authorThomas Huth <thuth@redhat.com>2017-09-20 11:02:07 +0200
committerMichael S. Tsirkin <mst@redhat.com>2017-10-15 05:54:44 +0300
commitab06ec43577177a442e8e5ca28d0154efe4ff60f (patch)
tree7484288f0ade9615ae743ad60887b8c8e1fddf4c /tests/pxe-test.c
parent46202d85d75b3a57c322f4832aac1dd20d5b3233 (diff)
tests/pxe: Test more NICs when running in SPEED=slow mode
The pxe-test is a very good test to excercise NICs, thus we should use it to test all NICs that can be used by the BIOS for booting via network. However, to avoid that the default testing time increases too much, the additional NICs are only tested in the "make check SPEED=slow" mode. The virtio-net NIC on ppc64 is now also only tested in slow mode, since the test on ppc64 is really quite slow and we've got test coverage for virtio-net in big endian mode now on s390x, too. Signed-off-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'tests/pxe-test.c')
-rw-r--r--tests/pxe-test.c31
1 files changed, 21 insertions, 10 deletions
diff --git a/tests/pxe-test.c b/tests/pxe-test.c
index 0d70afccd6..937f29e631 100644
--- a/tests/pxe-test.c
+++ b/tests/pxe-test.c
@@ -1,11 +1,12 @@
/*
* PXE test cases.
*
- * Copyright (c) 2016 Red Hat Inc.
+ * Copyright (c) 2016, 2017 Red Hat Inc.
*
* Authors:
* Michael S. Tsirkin <mst@redhat.com>,
* Victor Kaplansky <victork@redhat.com>
+ * Thomas Huth <thuth@redhat.com>
*
* This work is licensed under the terms of the GNU GPL, version 2 or later.
* See the COPYING file in the top-level directory.
@@ -36,14 +37,14 @@ static void test_pxe_one(const char *params, bool ipv6)
g_free(args);
}
-static void test_pxe_e1000(void)
+static void test_pxe_ipv4(gconstpointer data)
{
- test_pxe_one("-device e1000,netdev=" NETNAME, false);
-}
+ const char *model = data;
+ char *dev_arg;
-static void test_pxe_virtio_pci(void)
-{
- test_pxe_one("-device virtio-net-pci,netdev=" NETNAME, false);
+ dev_arg = g_strdup_printf("-device %s,netdev=" NETNAME, model);
+ test_pxe_one(dev_arg, false);
+ g_free(dev_arg);
}
static void test_pxe_spapr_vlan(void)
@@ -68,11 +69,21 @@ int main(int argc, char *argv[])
g_test_init(&argc, &argv, NULL);
if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
- qtest_add_func("pxe/e1000", test_pxe_e1000);
- qtest_add_func("pxe/virtio", test_pxe_virtio_pci);
+ qtest_add_data_func("pxe/e1000", "e1000", test_pxe_ipv4);
+ qtest_add_data_func("pxe/virtio", "virtio-net-pci", test_pxe_ipv4);
+ if (g_test_slow()) {
+ qtest_add_data_func("pxe/ne2000", "ne2k_pci", test_pxe_ipv4);
+ qtest_add_data_func("pxe/eepro100", "i82550", test_pxe_ipv4);
+ qtest_add_data_func("pxe/pcnet", "pcnet", test_pxe_ipv4);
+ qtest_add_data_func("pxe/rtl8139", "rtl8139", test_pxe_ipv4);
+ qtest_add_data_func("pxe/vmxnet3", "vmxnet3", test_pxe_ipv4);
+ }
} else if (strcmp(arch, "ppc64") == 0) {
- qtest_add_func("pxe/virtio", test_pxe_virtio_pci);
qtest_add_func("pxe/spapr-vlan", test_pxe_spapr_vlan);
+ if (g_test_slow()) {
+ qtest_add_data_func("pxe/virtio", "virtio-net-pci", test_pxe_ipv4);
+ qtest_add_data_func("pxe/e1000", "e1000", test_pxe_ipv4);
+ }
} else if (g_str_equal(arch, "s390x")) {
qtest_add_func("pxe/virtio-ccw", test_pxe_virtio_ccw);
}