On 2/2/21 3:56 PM, Daniel P. Berrangé wrote: > On Tue, Feb 02, 2021 at 03:46:11PM +0100, Philippe Mathieu-Daudé wrote: >> On 2/2/21 3:28 PM, Kevin Wolf wrote: >>> If the qemu-system-{arch} binary for the host architecture can't be >>> found, the old 'check' implementation selected the alphabetically first >>> system emulator binary that it could find. The new Python implementation >>> just uses the first result of glob.iglob(), which has an undefined >>> order. >>> >>> This is a problem that breaks CI because the iotests aren't actually >>> prepared to run on any emulator. They should be, so this is really a bug >>> in the failing test cases that should be fixed there, but as a quick >>> fix, let's revert to the old behaviour to let CI runs succeed again. >> >> FWIW this is the same problem I had 1 year ago and tried to >> fix it by sending QMP 'query-version' (introduced in v0.14): >> https://www.mail-archive.com/qemu-devel@nongnu.org/msg675075.html > > In the current failures the issue isn't the version number. Rather some > of the tests (mistakenly) assume the emulator supports PCI, and we're > randomly sometimes picking emulator targets that lack PCI.
Then this patch from the same series: https://www.mail-archive.com/qemu-devel@nongnu.org/msg675088.html It queries TYPE_DEVICE, but we can query TYPE_PCI_DEVICE too, which should be selected if a machine have a TYPE_PCI_HOST_BRIDGE providing a TYPE_PCI_BUS. Anyway the idea is to query the binary with QMP to see if it makes sens to run the test with it. Regards, Phil.