On Thu, Apr 03, 2014 at 01:45:28PM +0200, Andreas Färber wrote: > Am 03.04.2014 10:46, schrieb Stefan Hajnoczi: > > 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?
We currently don't have a atabort() mechanism (like atexit(3)) but I think this is needed. This would be a separate libqtest patch. > 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) ??? Another ugly option, add the test to the i386/x86_64 softmmu target and only run on Linux hosts. Stefan