On Mon, Jul 23, 2012 at 6:59 PM, Eduardo Habkost ehabkost@redhat.com wrote:
On Mon, Jul 23, 2012 at 04:49:07PM +0000, Blue Swirl wrote:
On Mon, Jul 16, 2012 at 5:42 PM, Eduardo Habkost ehabkost@redhat.com wrote:
On Sat, Jul 14, 2012 at 09:14:30AM +0000, Blue Swirl wrote: [...]
> diff --git a/tests/Makefile b/tests/Makefile > index b605e14..89bd890 100644 > --- a/tests/Makefile > +++ b/tests/Makefile > @@ -15,6 +15,7 @@ check-unit-y += tests/test-string-output-visitor$(EXESUF) > check-unit-y += tests/test-coroutine$(EXESUF) > check-unit-y += tests/test-visitor-serialization$(EXESUF) > check-unit-y += tests/test-iov$(EXESUF) > +check-unit-y += tests/test-x86-cpuid$(EXESUF)
This probably tries to build the cpuid test also for non-x86 targets and break them all.
I don't think there's any concept of "targets" for the check-unit tests.
How about: check-qtest-i386-y = tests/test-x86-cpuid$(EXESUF)
test-x86-cpuid is not a qtest test case.
Why not? I don't think it is a unit test either, judging from what the other unit tests do.
It is absolutely a unit test. I don't know why you don't think so. It simply checks the results of the APIC ID calculation functions.
Yes, but the other 'unit tests' (the names used here are very confusing, btw) check supporting functions like coroutines, not hardware. Hardware tests (qtest) need to bind to an architecture, in this case x86.
I had to do the following, to be able to make a test that uses the target-i386 code:
> +tests/test-x86-cpuid.o: QEMU_INCLUDES += -Itarget-i386
Any suggestions to avoid this hack would be welcome.
Maybe it would be simpler to adjust #include path in the file.
Using the full path on the #include line would break in case target-i386/topology.h include other files from the target-i386 directory.
That's fragile. Maybe the target-xyz files should use the full path.
Yes, it would be fragile. That's why I used -Itarget-i386 (not a perfect solution, but more likely to stay working and not break easily).
I don't know if I understand what you propose. You mean to change the 256 target-specific #include lines inside qemu?
$ git grep -f <(find target-* -name '*.h' | sed -e 's@target-[^/]*/@#include "@' | sort -u) target-* | wc -l 256
That does not look very attractive either. Scripting could help for such mechanical changes. Maybe later.
-- Eduardo