[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC] tests: Add ivshmem qtest
From: |
Andreas Färber |
Subject: |
Re: [Qemu-devel] [RFC] tests: Add ivshmem qtest |
Date: |
Thu, 03 Apr 2014 13:45:28 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.3.0 |
Am 03.04.2014 10:46, schrieb Stefan Hajnoczi:
> On Wed, Apr 02, 2014 at 04:57:48PM +0200, Andreas Färber wrote:
>> +int main(int argc, char **argv)
>> +{
>> + QTestState *s1, *s2;
>> + char *cmd;
>> + int ret;
>> +
>> + g_test_init(&argc, &argv, NULL);
>> + qtest_add_func("/ivshmem/nop", nop);
>> +
>> + cmd = g_strdup_printf("-device ivshmem,shm=%s,size=1M", "qtest");
>
> This test leaks the "qtest" shm object that gets created by the first
> QEMU process. The name is constant so two instances of the test cannot
> run in parallel on the same machine (the objects go in /dev/shm).
Right. Therefore it's already using %s and not a fully hardcoded string.
> The name should be unique and we should clean up in both success and
> failure (abort(3)) cases.
The recipe for unique filenames elsewhere is mkstemp(), which I was
planning to use here as well using "/dev/shm/qtest.XXXXXX" and then to
somehow strip the /dev/shm/ part, e.g. &...[9].
However I do not see any existing test specially cleaning up such
temporary files on SIGABRT rather than just on success. Do you have a
pointer or suggestion how to do that?
Still the actual question of this RFC is, how do I detect whether we may
run this test at all?
1) Relying on being run in the build directory, we could try to peek at
$arch-softmmu/config-target.mak, looking for CONFIG_KVM. Ugly.
2) Determine via QMP whether KVM is available in the QEMU binary. How?
Involves an additional process before launching the actual process with
-device ivshmem.
3) Determine via QMP whether the device QOM type is available in the
QEMU binary. Involves an additional process.
4) Make ivshmem build independent of CONFIG_KVM. Too much work for a
single out of many test cases.
5) ???
Thanks,
Andreas
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
- [Qemu-devel] [RFC] tests: Add ivshmem qtest, Andreas Färber, 2014/04/02
- Re: [Qemu-devel] [RFC] tests: Add ivshmem qtest, Michael S. Tsirkin, 2014/04/02
- Re: [Qemu-devel] [RFC] tests: Add ivshmem qtest, Andreas Färber, 2014/04/02
- Re: [Qemu-devel] [RFC] tests: Add ivshmem qtest, Michael S. Tsirkin, 2014/04/02
- Re: [Qemu-devel] [RFC] tests: Add ivshmem qtest, Paolo Bonzini, 2014/04/02
- Re: [Qemu-devel] [RFC] tests: Add ivshmem qtest, Michael S. Tsirkin, 2014/04/03
- Re: [Qemu-devel] [RFC] tests: Add ivshmem qtest, Andreas Färber, 2014/04/03
- Re: [Qemu-devel] [RFC] tests: Add ivshmem qtest, Michael S. Tsirkin, 2014/04/03
Re: [Qemu-devel] [RFC] tests: Add ivshmem qtest, Stefan Hajnoczi, 2014/04/03
- Re: [Qemu-devel] [RFC] tests: Add ivshmem qtest,
Andreas Färber <=