Cleber Rosa <crosa@xxxxxxxxxx> 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. > And while at it, let's use a single code style and hash for the ISO > url. > > Signed-off-by: Cleber Rosa <crosa@xxxxxxxxxx> > --- > 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. > "-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. > self.vm.add_args('-device', 'virtio-rng-pci,rng=rng0') > self.vm.add_args('-object', 'rng-random,id=rng0,filename=/dev/urandom') -- Alex Bennée Virtualisation Tech Lead @ Linaro