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.
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