iotests: Revert emulator selection to old behaviour

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.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20210202142802.119999-1-kwolf@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
master
Kevin Wolf 2021-02-02 15:28:02 +01:00
parent d0bc412302
commit ca502ca60d
1 changed files with 1 additions and 1 deletions

View File

@ -135,7 +135,7 @@ class TestEnv(ContextManager['TestEnv']):
if not os.path.exists(self.qemu_prog):
pattern = root('qemu-system-*')
try:
progs = glob.iglob(pattern)
progs = sorted(glob.iglob(pattern))
self.qemu_prog = next(p for p in progs if isxfile(p))
except StopIteration:
sys.exit("Not found any Qemu executable binary by pattern "