On Fri, Jul 21, 2017 at 01:33:25PM +0100, Stefan Hajnoczi wrote: > On Thu, Jul 20, 2017 at 11:47:27PM -0400, Cleber Rosa wrote: > > This is a follow up to a previous discussion about reported failures when > > running some qemu-iotests. Turns out the failures were due to missing > > libraries, which in turn, reflected on the host build configuration. > > > > This series introduces a tool that can check both host and target level > > build configurations. On top of that, it adds a function to to be used > > on qemu-iotests. Finally, as an example, it sets a test to be skipped > > if the required feature is not enable on the host build configuration. > > > > Cleber Rosa (3): > > scripts: introduce buildconf.py > > qemu-iotests: add _require_feature() function > > qemu-iotests: require CONFIG_LINUX_AIO for test 087 > > > > scripts/buildconf.py | 278 > > +++++++++++++++++++++++++++++++++++++++++++ > > tests/qemu-iotests/087 | 1 + > > tests/qemu-iotests/check | 2 + > > tests/qemu-iotests/common.rc | 7 ++ > > 4 files changed, 288 insertions(+) > > > > It should be possible to run iotests against any > qemu/qemu-img/qemu-io/qemu-nbd binaries - even if no build root is > available.
For sake of argument, two options for non-buildroot scenario - assume all features are present, so we're no worse than we are today. - install config.h (or same data in a structured format) to /usr/share/qemu so its available for query Downside of 2 of course is that other non-iotests apps might start to depend on it > How about invoking qemu-img and tools to determine their capabilities? > > At the beginning of ./check, query the qemu/qemu-img/qemu-io/qemu-nbd > binaries for specific features. This produces a set of available > features and tests can say: > > _supported_feature aio_native > > This feature can be checked by opening an image file: > > qemu-io --format raw --nocache --native-aio --cmd quit test.img I think this is useful as a general approach, because there are bound to be a number of features which are available at compile time, but cannot actually be used at runtime. eg not every filesystem supports O_DIRECT, even if we've built support for it. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|