Message ID | 1391619677-32387-2-git-send-email-afaerber@suse.de |
---|---|
State | New |
Headers | show |
On Wed, Feb 05, 2014 at 06:01:13PM +0100, Andreas Färber wrote: > +#include "libqtest.h" > + > +#include <glib.h> > +#include <string.h> > +#include "qemu/osdep.h" Please put <system.h> includes before "user.h" includes. That way we can be sure our macros don't mess up system headers. > + > +static void nop(void) > +{ > +} I suggest a comment here to explain the point of this test: /* The point of this test case is just to instantiate the device */
Am 07.02.2014 16:48, schrieb Stefan Hajnoczi: > On Wed, Feb 05, 2014 at 06:01:13PM +0100, Andreas Färber wrote: >> +#include "libqtest.h" >> + >> +#include <glib.h> >> +#include <string.h> >> +#include "qemu/osdep.h" > > Please put <system.h> includes before "user.h" includes. That way we > can be sure our macros don't mess up system headers. You are right in this case, but to my defense I copied this from another file. ;) You'll find the "libqtest.h"-first pattern in: endianness-test.c fw_cfg-test.c i440fx-test.c m48t59-test.c qom-test.c rtc-test.c tmp105-test.c To make it clearer which example to copy from, feel free to submit a patch cleaning those up. NB in general it can be a valid technique to place a single "user.h" in user.c before the usual <system> and "user" headers to assure that it does not depend on external includes, but clearly that's not the case here. >> + >> +static void nop(void) >> +{ >> +} > > I suggest a comment here to explain the point of this test: > /* The point of this test case is just to instantiate the device */ Thanks, will add a TODO. Andreas
On Fri, Feb 07, 2014 at 07:06:58PM +0100, Andreas Färber wrote: > Am 07.02.2014 16:48, schrieb Stefan Hajnoczi: > > On Wed, Feb 05, 2014 at 06:01:13PM +0100, Andreas Färber wrote: > >> +#include "libqtest.h" > >> + > >> +#include <glib.h> > >> +#include <string.h> > >> +#include "qemu/osdep.h" > > > > Please put <system.h> includes before "user.h" includes. That way we > > can be sure our macros don't mess up system headers. > > You are right in this case, but to my defense I copied this from another > file. ;) You'll find the "libqtest.h"-first pattern in: > > endianness-test.c > fw_cfg-test.c > i440fx-test.c > m48t59-test.c > qom-test.c > rtc-test.c > tmp105-test.c > > To make it clearer which example to copy from, feel free to submit a > patch cleaning those up. Okay, I will. Thanks! Stefan
diff --git a/tests/Makefile b/tests/Makefile index 42a52ff..57e21fc 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -64,6 +64,10 @@ check-block-$(CONFIG_POSIX) += tests/qemu-iotests-quick.sh # All QTests for now are POSIX-only, but the dependencies are # really in libqtest, not in the testcases themselves. + +check-qtest-pci-y += tests/e1000-test$(EXESUF) +gcov-files-pci-y += hw/net/e1000.c + check-qtest-i386-y = tests/endianness-test$(EXESUF) check-qtest-i386-y += tests/fdc-test$(EXESUF) gcov-files-i386-y = hw/fdc.c @@ -77,6 +81,8 @@ check-qtest-i386-y += tests/i440fx-test$(EXESUF) check-qtest-i386-y += tests/fw_cfg-test$(EXESUF) check-qtest-i386-y += tests/blockdev-test$(EXESUF) check-qtest-i386-y += tests/qdev-monitor-test$(EXESUF) +check-qtest-i386-y += $(check-qtest-pci-y) +gcov-files-i386-y += $(gcov-files-pci-y) check-qtest-x86_64-y = $(check-qtest-i386-y) gcov-files-i386-y += i386-softmmu/hw/mc146818rtc.c gcov-files-x86_64-y = $(subst i386-softmmu/,x86_64-softmmu/,$(gcov-files-i386-y)) @@ -196,6 +202,7 @@ tests/acpi-test$(EXESUF): tests/acpi-test.o $(libqos-obj-y) tests/tmp105-test$(EXESUF): tests/tmp105-test.o $(libqos-omap-obj-y) tests/i440fx-test$(EXESUF): tests/i440fx-test.o $(libqos-pc-obj-y) tests/fw_cfg-test$(EXESUF): tests/fw_cfg-test.o $(libqos-pc-obj-y) +tests/e1000-test$(EXESUF): tests/e1000-test.o tests/qom-test$(EXESUF): tests/qom-test.o tests/blockdev-test$(EXESUF): tests/blockdev-test.o $(libqos-pc-obj-y) tests/qdev-monitor-test$(EXESUF): tests/qdev-monitor-test.o $(libqos-pc-obj-y) diff --git a/tests/e1000-test.c b/tests/e1000-test.c new file mode 100644 index 0000000..a053703 --- /dev/null +++ b/tests/e1000-test.c @@ -0,0 +1,35 @@ +/* + * QTest testcase for e1000 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 "libqtest.h" + +#include <glib.h> +#include <string.h> +#include "qemu/osdep.h" + +static void nop(void) +{ +} + +int main(int argc, char **argv) +{ + QTestState *s; + int ret; + + g_test_init(&argc, &argv, NULL); + qtest_add_func("/e1000/nop", nop); + + s = qtest_start("-device e1000"); + ret = g_test_run(); + + if (s) { + qtest_quit(s); + } + + return ret; +}
Cc: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Andreas Färber <afaerber@suse.de> --- tests/Makefile | 7 +++++++ tests/e1000-test.c | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 tests/e1000-test.c