qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC 00/10] Target-specific unit test support, add unit


From: Eduardo Habkost
Subject: Re: [Qemu-devel] [RFC 00/10] Target-specific unit test support, add unit tests for target-i386/cpu.c code
Date: Fri, 26 Sep 2014 13:34:10 -0300
User-agent: Mutt/1.5.23 (2014-03-12)

On Fri, Sep 26, 2014 at 05:20:32PM +0200, Paolo Bonzini wrote:
> Il 25/09/2014 22:18, Eduardo Habkost ha scritto:
> > This is an attempt to write unit tests for the target-i386/cpu.c code. By 
> > now, I
> > just implemented 3 simple test cases, to ensure X86CPU objects can be 
> > created,
> > and to ensure the CPU features are set properly depending on the CPU model
> > table.
> 
> +     qemu-log.o \
> +     qom/object.o qom/qom-qobject.o qom/cpu.o qom/container.o \
> +     hw/core/qdev.o hw/core/qdev-properties.o hw/core/irq.o 
> hw/core/fw-path-provider.o hw/core/hotplug.o \
> +     vmstate.o qemu-file.o $(util-obj-y) \
> +     x86_64-softmmu/cpus.o x86_64-softmmu/target-i386/machine.o \
> +     tests/vl-stub.o tests/x86-stub.o tests/coroutine-stub.o 
> tests/monitor-stub.o tests/aio-stub.o tests/timer-stub.o tests/block-stub.o \
> +     stubs/reset.o stubs/sysbus.o stubs/vmstate.o stubs/fdset-remove-fd.o 
> stubs/mon-printf.o stubs/qtest.o stubs/vm-stop.o
> 
> Do you really need cpus.c?  That's what brings in most dependencies,
> and everything else should be included in libqemustub.a.

To be honest, I don't remember why exactly I decided to pull cpus.c
instead of making stubs for it. :)

I will take a look again at what happens if I don't include it.

> Also, util-obj-y should be replaced with libqemuutil.a

I will change it to use libqemuutil.a. Thanks.

> 
> In any case, most of these files are not needed by the linux-user
> version of cpu.c, so I would need to know what exactly forces you
> to include each of the files.

I want to test KVM-specific code, which isn't enabled on linux-user.

> 
> Also, would it be possible to do these tests via qtest and
> qom-get/qom-set?

Most things I want to test are not available through QMP or qtest yet.
The whole point of this test code is to give us some safety while we are
still implementing new QOM/QMP/qtest stuff.

Specifically, I want to test some behavior that depend on having missing
entries on the CPU feature name tables (e.g. the "migratable" property),
and on the return values of kvm_arch_get_supported_cpuid(), so qtest
won't work unless we add qtest/QMP code to hack
kvm_arch_get_supported_cpuid() and the CPU model/feature tables. Maybe
one day the externally-visible interfaces will become flexible and
generic enough to allow this same test code to be implemented purely
using qtest, but not today.

> 
> That said, please feel free to send patches 1-3 now, via qemu-trivial.

OK. Thanks.

-- 
Eduardo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]