Hi,

On 6/29/21 5:17 PM, Eric Auger wrote:
Hi Cleber, all,

On 6/29/21 4:36 PM, Eric Auger wrote:
This series adds ARM SMMU and Intel IOMMU functional
tests using Fedora cloud-init images.

ARM SMMU tests feature guests with and without RIL
(range invalidation support) using respectively fedora 33
and 31.  For each, we test the protection of virtio-net-pci
and virtio-block-pci devices. Also strict=no and passthrough
modes are tested. So there is a total of 6 tests.

The series applies on top of Cleber's series:
- [PATCH 0/3] Acceptance Tests: support choosing specific

Note:
- SMMU tests 2, 3, 5, 6 (resp. test_smmu_noril_passthrough and
test_smmu_noril_nostrict) pass but the log reports:
"WARN: Test passed but there were warnings during execution."
This seems due to the lack of hash when fetching the kernel and
initrd through fetch_asset():
WARNI| No hash provided. Cannot check the asset file integrity.
I wanted to emphasize that point and wondered how we could fix that
issue. Looks a pity the tests get tagged as WARN due to a lack of sha1.
Any advice?

As Willian mentioned somewhere, to supress the WARN you can pass the kernel and initrd checksums (sha1) to the fetch_asset() method.

Below is an draft implementation. It would need to fill out the remaining checksums and adjust the `smmu.py` tests.

- Wainer

----

diff --git a/tests/acceptance/avocado_qemu/__init__.py b/tests/acceptance/avocado_qemu/__init__.py
index 00eb0bfcc8..83637e2654 100644
--- a/tests/acceptance/avocado_qemu/__init__.py
+++ b/tests/acceptance/avocado_qemu/__init__.py
@@ -312,6 +312,8 @@ class LinuxDistro:
                 {'checksum': 'e3c1b309d9203604922d6e255c2c5d098a309c2d46215d8fc026954f3c5c27a0',                  'pxeboot_url': "https://archives.fedoraproject.org/pub/archive/fedora/";
"linux/releases/31/Everything/x86_64/os/images/pxeboot/",
+                'pxeboot_initrd_chksum': 'dd0340a1b39bd28f88532babd4581c67649ec5b1', +                'pxeboot_vmlinuz_chksum': '5b6f6876e1b5bda314f93893271da0d5777b1f3c',                  'kernel_params': "root=UUID=b1438b9b-2cab-4065-a99a-08a96687f73c ro "
                               "no_timer_check net.ifnames=0 "
                               "console=tty1 console=ttyS0,115200n8"},
@@ -371,6 +373,16 @@ def pxeboot_url(self):
         """Gets the repository url where pxeboot files can be found"""
         return self._info.get('pxeboot_url', None)

+    @property
+    def pxeboot_initrd_chksum(self):
+        """Gets the pxeboot initrd file checksum"""
+        return self._info.get('pxeboot_initrd_chksum', None)
+
+    @property
+    def pxeboot_vmlinuz_chksum(self):
+        """Gets the pxeboot vmlinuz file checksum"""
+        return self._info.get('pxeboot_vmlinuz_chksum', None)
+
     @property
     def checksum(self):
         """Gets the cloud-image file checksum"""
diff --git a/tests/acceptance/intel_iommu.py b/tests/acceptance/intel_iommu.py
index bf8dea6e4f..a2f38ee2e9 100644
--- a/tests/acceptance/intel_iommu.py
+++ b/tests/acceptance/intel_iommu.py
@@ -55,8 +55,10 @@ def common_vm_setup(self, custom_kernel=None):

         kernel_url = self.distro.pxeboot_url + 'vmlinuz'
         initrd_url = self.distro.pxeboot_url + 'initrd.img'
-        self.kernel_path = self.fetch_asset(kernel_url)
-        self.initrd_path = self.fetch_asset(initrd_url)
+        self.kernel_path = self.fetch_asset(kernel_url,
+ asset_hash=self.distro.pxeboot_vmlinuz_chksum)
+        self.initrd_path = self.fetch_asset(initrd_url,
+ asset_hash=self.distro.pxeboot_initrd_chksum)

     def run_and_check(self):
         if self.kernel_path:


Best Regards

Eric
History:
v3 -> v4:
- I added Wainer's refactoring of KNOWN_DISTROS
into a class (last patch) and took into account his comments.

v2 -> v3:
- Added Intel IOMMU tests were added. Different
operating modes are tested such as strict, caching mode, pt.

Best Regards

Eric

The series and its dependencies can be found at:
https://github.com/eauger/qemu/tree/avocado-qemu-v4

Eric Auger (3):
   Acceptance Tests: Add default kernel params and pxeboot url to the
     KNOWN_DISTROS collection
   avocado_qemu: Add SMMUv3 tests
   avocado_qemu: Add Intel iommu tests

Wainer dos Santos Moschetta (1):
   avocado_qemu: Fix KNOWN_DISTROS map into the LinuxDistro class

  tests/acceptance/avocado_qemu/__init__.py | 118 +++++++++++++------
  tests/acceptance/intel_iommu.py           | 115 +++++++++++++++++++
  tests/acceptance/smmu.py                  | 132 ++++++++++++++++++++++
  3 files changed, 332 insertions(+), 33 deletions(-)
  create mode 100644 tests/acceptance/intel_iommu.py
  create mode 100644 tests/acceptance/smmu.py



Reply via email to