Skip to content

Commit

Permalink
tests: Add eepro100 qtest
Browse files Browse the repository at this point in the history
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
  • Loading branch information
afaerber committed Feb 14, 2014
1 parent 85f68d5 commit 92838a1
Show file tree
Hide file tree
Showing 2 changed files with 66 additions and 0 deletions.
3 changes: 3 additions & 0 deletions tests/Makefile
Expand Up @@ -72,6 +72,8 @@ gcov-files-pci-y += hw/net/rtl8139.c
check-qtest-pci-y += tests/pcnet-test$(EXESUF)
gcov-files-pci-y += hw/net/pcnet.c
gcov-files-pci-y += hw/net/pcnet-pci.c
check-qtest-pci-y += tests/eepro100-test$(EXESUF)
gcov-files-pci-y += hw/net/eepro100.c

check-qtest-i386-y = tests/endianness-test$(EXESUF)
check-qtest-i386-y += tests/fdc-test$(EXESUF)
Expand Down Expand Up @@ -214,6 +216,7 @@ tests/fw_cfg-test$(EXESUF): tests/fw_cfg-test.o $(libqos-pc-obj-y)
tests/e1000-test$(EXESUF): tests/e1000-test.o
tests/rtl8139-test$(EXESUF): tests/rtl8139-test.o
tests/pcnet-test$(EXESUF): tests/pcnet-test.o
tests/eepro100-test$(EXESUF): tests/eepro100-test.o
tests/vmxnet3-test$(EXESUF): tests/vmxnet3-test.o
tests/qom-test$(EXESUF): tests/qom-test.o
tests/blockdev-test$(EXESUF): tests/blockdev-test.o $(libqos-pc-obj-y)
Expand Down
63 changes: 63 additions & 0 deletions tests/eepro100-test.c
@@ -0,0 +1,63 @@
/*
* QTest testcase for eepro100 NIC
*
* Copyright (c) 2013-2014 SUSE LINUX Products GmbH
*
* This work is licensed under the terms of the GNU GPL, version 2 or later.
* See the COPYING file in the top-level directory.
*/

#include <glib.h>
#include <string.h>
#include "libqtest.h"
#include "qemu/osdep.h"

static void test_device(gconstpointer data)
{
const char *model = data;
QTestState *s;
char *args;

args = g_strdup_printf("-device %s", model);
s = qtest_start(args);

/* Tests only initialization so far. TODO: Implement functional tests */

if (s) {
qtest_quit(s);
}
g_free(args);
}

static const char *models[] = {
"i82550",
"i82551",
"i82557a",
"i82557b",
"i82557c",
"i82558a",
"i82558b",
"i82559a",
"i82559b",
"i82559c",
"i82559er",
"i82562",
"i82801",
};

int main(int argc, char **argv)
{
int i;

g_test_init(&argc, &argv, NULL);

for (i = 0; i < ARRAY_SIZE(models); i++) {
char *path;

path = g_strdup_printf("/%s/eepro100/%s",
qtest_get_arch(), models[i]);
g_test_add_data_func(path, models[i], test_device);
}

return g_test_run();
}

0 comments on commit 92838a1

Please sign in to comment.