[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 04/10] tests/avocado: machine aarch64: standardize location a
From: |
Alex Bennée |
Subject: |
Re: [PATCH 04/10] tests/avocado: machine aarch64: standardize location and RO/RW access |
Date: |
Thu, 14 Dec 2023 10:34:41 +0000 |
User-agent: |
mu4e 1.11.26; emacs 29.1 |
Cleber Rosa <crosa@redhat.com> writes:
> Alex Bennée <alex.bennee@linaro.org> writes:
>
>> Cleber Rosa <crosa@redhat.com> writes:
>>
>>> The tests under machine_aarch64_virt.py do not need read-write access
>>> to the ISOs. The ones under machine_aarch64_sbsaref.py, on the other
>>> hand, will need read-write access, so let's give each test an unique
>>> file.
>>
>> I think we are making two separate changes here so probably best split
>> the patch.
>>
>
> Sure, but, do you mean separating the "readonly=on" and the "writable
> file" changes? Or separating those two from the ISO url code style
> change?
I was thinking about splitting the sbsaref and virt patches, but
actually they are fairly related as they all use the alpine image so
maybe no need.
>
>>> And while at it, let's use a single code style and hash for the ISO
>>> url.
>>>
>>> Signed-off-by: Cleber Rosa <crosa@redhat.com>
>>> ---
>>> tests/avocado/machine_aarch64_sbsaref.py | 9 +++++++--
>>> tests/avocado/machine_aarch64_virt.py | 14 +++++++-------
>>> 2 files changed, 14 insertions(+), 9 deletions(-)
>>>
>>> diff --git a/tests/avocado/machine_aarch64_sbsaref.py
>>> b/tests/avocado/machine_aarch64_sbsaref.py
>>> index 528c7d2934..6ae84d77ac 100644
>>> --- a/tests/avocado/machine_aarch64_sbsaref.py
>>> +++ b/tests/avocado/machine_aarch64_sbsaref.py
>>> @@ -7,6 +7,7 @@
>>> # SPDX-License-Identifier: GPL-2.0-or-later
>>>
>>> import os
>>> +import shutil
>>>
>>> from avocado import skipUnless
>>> from avocado.utils import archive
>>> @@ -123,13 +124,15 @@ def boot_alpine_linux(self, cpu):
>>>
>>> iso_hash =
>>> "5a36304ecf039292082d92b48152a9ec21009d3a62f459de623e19c4bd9dc027"
>>> iso_path = self.fetch_asset(iso_url, algorithm="sha256",
>>> asset_hash=iso_hash)
>>> + iso_path_rw = os.path.join(self.workdir,
>>> os.path.basename(iso_path))
>>> + shutil.copy(iso_path, iso_path_rw)
>>>
>>> self.vm.set_console()
>>> self.vm.add_args(
>>> "-cpu",
>>> cpu,
>>> "-drive",
>>> - f"file={iso_path},format=raw",
>>> + f"file={iso_path_rw},format=raw",
>>
>> Instead of copying why not add ",snapshot=on" to preserve the original
>> image. We don't want to persist data between tests.
Ahh yes these are isos so snapshot isn't needed.
>>
>>> "-device",
>>> "virtio-rng-pci,rng=rng0",
>>> "-object",
>>> @@ -170,13 +173,15 @@ def boot_openbsd73(self, cpu):
>>>
>>> img_hash =
>>> "7fc2c75401d6f01fbfa25f4953f72ad7d7c18650056d30755c44b9c129b707e5"
>>> img_path = self.fetch_asset(img_url, algorithm="sha256",
>>> asset_hash=img_hash)
>>> + img_path_rw = os.path.join(self.workdir,
>>> os.path.basename(img_path))
>>> + shutil.copy(img_path, img_path_rw)
>>>
>>> self.vm.set_console()
>>> self.vm.add_args(
>>> "-cpu",
>>> cpu,
>>> "-drive",
>>> - f"file={img_path},format=raw",
>>> + f"file={img_path_rw},format=raw",
>>
>> ditto.
>>
>>
>>> "-device",
>>> "virtio-rng-pci,rng=rng0",
>>> "-object",
>>> diff --git a/tests/avocado/machine_aarch64_virt.py
>>> b/tests/avocado/machine_aarch64_virt.py
>>> index a90dc6ff4b..093d68f837 100644
>>> --- a/tests/avocado/machine_aarch64_virt.py
>>> +++ b/tests/avocado/machine_aarch64_virt.py
>>> @@ -37,13 +37,13 @@ def test_alpine_virt_tcg_gic_max(self):
>>> :avocado: tags=machine:virt
>>> :avocado: tags=accel:tcg
>>> """
>>> - iso_url = ('https://dl-cdn.alpinelinux.org/'
>>> - 'alpine/v3.17/releases/aarch64/'
>>> - 'alpine-standard-3.17.2-aarch64.iso')
>>> + iso_url = (
>>> + "https://dl-cdn.alpinelinux.org/"
>>> +
>>> "alpine/v3.17/releases/aarch64/alpine-standard-3.17.2-aarch64.iso"
>>> + )
>>>
>>> - # Alpine use sha256 so I recalculated this myself
>>> - iso_sha1 = '76284fcd7b41fe899b0c2375ceb8470803eea839'
>>> - iso_path = self.fetch_asset(iso_url, asset_hash=iso_sha1)
>>> + iso_hash =
>>> "5a36304ecf039292082d92b48152a9ec21009d3a62f459de623e19c4bd9dc027"
>>> + iso_path = self.fetch_asset(iso_url, algorithm="sha256",
>>> asset_hash=iso_hash)
>>>
>>> self.vm.set_console()
>>> kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
>>> @@ -60,7 +60,7 @@ def test_alpine_virt_tcg_gic_max(self):
>>> self.vm.add_args("-smp", "2", "-m", "1024")
>>> self.vm.add_args('-bios', os.path.join(BUILD_DIR, 'pc-bios',
>>> 'edk2-aarch64-code.fd'))
>>> - self.vm.add_args("-drive", f"file={iso_path},format=raw")
>>> + self.vm.add_args("-drive",
>>> f"file={iso_path},readonly=on,format=raw")
>>
>> Perhaps we can set ",media=cdrom" here.
>>
>
> Yes, but more importantly, adding both "readonly=on" and "media=cdrom"
> to the tests under machine_aarch64_sbsaref.py do the trick. Now, the
> behavior explained in my previous response still warrants investigation
> IMO.
>
> Thanks
> - Cleber.
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
[PATCH 07/10] testa/avocado: test_arm_emcraft_sf2: handle RW requirements for asset, Cleber Rosa, 2023/12/08
[PATCH 02/10] tests/avocado: mips: add hint for fetchasset plugin, Cleber Rosa, 2023/12/08
[PATCH 06/10] tests/avocado/kvm_xen_guest.py: cope with asset RW requirements, Cleber Rosa, 2023/12/08
[PATCH 09/10] tests/avocado/boot_xen.py: unify tags, Cleber Rosa, 2023/12/08