[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC v2 6/6] Add C version of rtc-test
From: |
Anthony Liguori |
Subject: |
Re: [Qemu-devel] [RFC v2 6/6] Add C version of rtc-test |
Date: |
Fri, 02 Dec 2011 11:26:45 -0600 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.21) Gecko/20110831 Lightning/1.0b2 Thunderbird/3.1.13 |
On 12/02/2011 11:25 AM, Kevin Wolf wrote:
Am 01.12.2011 19:43, schrieb Anthony Liguori:
---
Makefile | 4 +
rtc-test.c | 201 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 205 insertions(+), 0 deletions(-)
create mode 100644 rtc-test.c
diff --git a/Makefile b/Makefile
index 301c75e..838cb01 100644
--- a/Makefile
+++ b/Makefile
@@ -215,6 +215,10 @@ $(qga-obj-y) qemu-ga.o: $(QGALIB_GEN) $(GENERATED_HEADERS)
qemu-ga$(EXESUF): qemu-ga.o $(qga-obj-y) $(qapi-obj-y) $(tools-obj-y)
$(qobject-obj-y) $(version-obj-y) $(QGALIB_OBJ)
+libqtest.o: libqtest.c
Did you forget to commit libqtest.c?
Probably, sorry about that.
I think your series is a good start, but the examples only use port I/O.
Most other tests would probably need to access RAM (not sure if it's
convenient to do explicit read/write commands for that), interrupts and
some even QMP.
libqtest.h has:
bool qtest_get_irq(QTestState *s, int num);
void qtest_outb(QTestState *s, uint16_t addr, uint8_t value);
void qtest_outw(QTestState *s, uint16_t addr, uint16_t value);
void qtest_outl(QTestState *s, uint16_t addr, uint32_t value);
uint8_t qtest_inb(QTestState *s, uint16_t addr);
uint16_t qtest_inw(QTestState *s, uint16_t addr);
uint32_t qtest_inl(QTestState *s, uint16_t addr);
void qtest_memread(QTestState *s, uint64_t addr, void *data, size_t size);
void qtest_memwrite(QTestState *s, uint64_t addr, const void *data, size_t
size);
So that's how you read/write memory. Likewise, for IRQs, you can poll the
status of a given IRQ. I thought about doing some sort of signal magic around
but when writing tests, polling the IRQ seems easier to deal with.
Should the framework and the tests live in the tests/ directory?
Probably, except that tests/ has it's own Makefile which is sort of awkward.
Any objections to moving tests/* to tests/tcg-test and then moving all of the
various gtest/check tests to tests/ along with qtest?
Regards,
Anthony Liguori
Kevin
- [Qemu-devel] [RFC v2 4/6] Add uart test case, (continued)
- [Qemu-devel] [RFC v2 4/6] Add uart test case, Anthony Liguori, 2011/12/01
- [Qemu-devel] [RFC v2 2/6] qtest: add support for target-i386 -M pc, Anthony Liguori, 2011/12/01
- [Qemu-devel] [RFC v2 3/6] Add core python test framework, Anthony Liguori, 2011/12/01
- [Qemu-devel] [RFC v2 5/6] Add RTC test case, Anthony Liguori, 2011/12/01
- [Qemu-devel] [RFC v2 6/6] Add C version of rtc-test, Anthony Liguori, 2011/12/01
[Qemu-devel] [RFC v2 1/6] qtest: add test framework, Anthony Liguori, 2011/12/01
Re: [Qemu-devel] [RFC v2 0/6] qtest unit test framework, Dor Laor, 2011/12/04