[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] iotests: Revert emulator selection to old behaviour
From: |
Eric Blake |
Subject: |
Re: [PATCH] iotests: Revert emulator selection to old behaviour |
Date: |
Tue, 2 Feb 2021 08:54:05 -0600 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0 |
On 2/2/21 8:28 AM, 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.
>
> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
> ---
> tests/qemu-iotests/testenv.py | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
As fixing the tests is indeed more work than sorting the glob results,
this one-liner is worth checking.
Reviewed-by: Eric Blake <eblake@redhat.com>
>
> diff --git a/tests/qemu-iotests/testenv.py b/tests/qemu-iotests/testenv.py
> index b31275f518..1fbec854c1 100644
> --- a/tests/qemu-iotests/testenv.py
> +++ b/tests/qemu-iotests/testenv.py
> @@ -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 "
>
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization: qemu.org | libvirt.org