Re: [Qemu-devel] [RFC v2 0/6] qtest unit test framework
On 12/04/2011 04:03 AM, Dor Laor wrote: On 12/01/2011 08:43 PM, Anthony Liguori wrote: This series is still pretty rough but I wanted to get an idea of what people thought about it before polishing it. The general idea is outlined in the first test. The main advantage of this type of test framework compared to something like kvm-unit-test is that you don't need a build environment for what you're trying to test. Luckily w/ qemu cpu emulation and few images it can be set once and be there for ever. The advantage of kvm-unit-test is that the code actually does run. So we can test irq injections, io/mmio in the kernel too, dirty bit tracking and some more all together. Yup, and kvm-unit-test will always need to exist for that. But we need something that makes it easy to test ARM, PPC, s390, etc so that when we do things like the memory API, it's possible for a developer to do reasonable testing without having to track down 100 different images and tool chains. Regards, Anthony Liguori Since your tests also link against the host environment, it potentially makes tests much simplier to write (as you aren't reinventing an OS). I think this makes this style of test more appropriate for something like QEMU. Anthony Liguori (6): qtest: add test framework qtest: add support for target-i386 -M pc Add core python test framework Add uart test case Add RTC test case Add C version of rtc-test Makefile | 4 + Makefile.objs | 2 + hw/pc.c | 7 +- hw/pc_piix.c | 9 +- qemu-options.hx | 8 ++ qtest.c | 357 +++ qtest.h | 37 ++ qtest.py | 69 +++ rtc-test.c | 201 +++ rtc-test.py | 105 serial-test.py | 24 vl.c | 8 ++ 12 files changed, 827 insertions(+), 4 deletions(-) create mode 100644 qtest.c create mode 100644 qtest.h create mode 100644 qtest.py create mode 100644 rtc-test.c create mode 100644 rtc-test.py create mode 100644 serial-test.py
Re: [Qemu-devel] [RFC v2 0/6] qtest unit test framework
On 12/01/2011 08:43 PM, Anthony Liguori wrote: This series is still pretty rough but I wanted to get an idea of what people thought about it before polishing it. The general idea is outlined in the first test. The main advantage of this type of test framework compared to something like kvm-unit-test is that you don't need a build environment for what you're trying to test. Luckily w/ qemu cpu emulation and few images it can be set once and be there for ever. The advantage of kvm-unit-test is that the code actually does run. So we can test irq injections, io/mmio in the kernel too, dirty bit tracking and some more all together. Since your tests also link against the host environment, it potentially makes tests much simplier to write (as you aren't reinventing an OS). I think this makes this style of test more appropriate for something like QEMU. Anthony Liguori (6): qtest: add test framework qtest: add support for target-i386 -M pc Add core python test framework Add uart test case Add RTC test case Add C version of rtc-test Makefile|4 + Makefile.objs |2 + hw/pc.c |7 +- hw/pc_piix.c|9 +- qemu-options.hx |8 ++ qtest.c | 357 +++ qtest.h | 37 ++ qtest.py| 69 +++ rtc-test.c | 201 +++ rtc-test.py | 105 serial-test.py | 24 vl.c|8 ++ 12 files changed, 827 insertions(+), 4 deletions(-) create mode 100644 qtest.c create mode 100644 qtest.h create mode 100644 qtest.py create mode 100644 rtc-test.c create mode 100644 rtc-test.py create mode 100644 serial-test.py
[Qemu-devel] [RFC v2 0/6] qtest unit test framework
This series is still pretty rough but I wanted to get an idea of what people thought about it before polishing it. The general idea is outlined in the first test. The main advantage of this type of test framework compared to something like kvm-unit-test is that you don't need a build environment for what you're trying to test. Since your tests also link against the host environment, it potentially makes tests much simplier to write (as you aren't reinventing an OS). I think this makes this style of test more appropriate for something like QEMU. Anthony Liguori (6): qtest: add test framework qtest: add support for target-i386 -M pc Add core python test framework Add uart test case Add RTC test case Add C version of rtc-test Makefile|4 + Makefile.objs |2 + hw/pc.c |7 +- hw/pc_piix.c|9 +- qemu-options.hx |8 ++ qtest.c | 357 +++ qtest.h | 37 ++ qtest.py| 69 +++ rtc-test.c | 201 +++ rtc-test.py | 105 serial-test.py | 24 vl.c|8 ++ 12 files changed, 827 insertions(+), 4 deletions(-) create mode 100644 qtest.c create mode 100644 qtest.h create mode 100644 qtest.py create mode 100644 rtc-test.c create mode 100644 rtc-test.py create mode 100644 serial-test.py -- 1.7.4.1