qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] virtiofs_submounts.py test: Note on vmlinuz param


From: Max Reitz
Subject: Re: [PATCH] virtiofs_submounts.py test: Note on vmlinuz param
Date: Thu, 18 Feb 2021 17:24:42 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0

On 12.02.21 19:58, Cleber Rosa wrote:
On Fri, Feb 12, 2021 at 04:16:49PM +0100, Max Reitz wrote:
 From the cancel message, it is not entirely clear why this parameter is
mandatory now, or that it will be optional in the future.  Add such a
more detailed explanation as a comment in the test source file.

Suggested-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Max Reitz <mreitz@redhat.com>
---
I’ve uploaded a build of Linux 5.10 here:
   https://xanclic.moe/linux-5.10

But I’ve decided against mentioning it in this new comment or the cancel
message, because, well, it’s my private server and I have limited
bandwidth.
---
  tests/acceptance/virtiofs_submounts.py | 12 ++++++++++++
  1 file changed, 12 insertions(+)

diff --git a/tests/acceptance/virtiofs_submounts.py 
b/tests/acceptance/virtiofs_submounts.py
index 949ca87a83..9a69b6b17b 100644
--- a/tests/acceptance/virtiofs_submounts.py
+++ b/tests/acceptance/virtiofs_submounts.py
@@ -228,6 +228,18 @@ class VirtiofsSubmountsTest(BootLinux):
      def setUp(self):
          vmlinuz = self.params.get('vmlinuz')
          if vmlinuz is None:
+            """
+            The Linux kernel supports FUSE auto-submounts only as of 5.10.
+            boot_linux.py currently provides Fedora 31, whose kernel is too
+            old, so this test cannot pass with the on-image kernel (you are
+            welcome to try, hence the option to force such a test with
+            -p vmlinuz='').  Therefore, for now the user must provide a
+            sufficiently new custom kernel, or effectively explicitly
+            request failure with -p vmlinuz=''.
+            Once an image with a sufficiently new kernel is available
+            (probably Fedora 34), we can make -p vmlinuz='' the default, so
+            that this parameter no longer needs to be specified.
+            """
              self.cancel('vmlinuz parameter not set; you must point it to a '
                          'Linux kernel binary to test (to run this test with ' 
\
                          'the on-image kernel, set it to an empty string)')
--
2.29.2


Hi Max,

This looks good to me, and I've also tested your kernel build and
works like a charm.

Great :)

As further work on top of this, it may be beneficial to have test
documentation in a predictable place.  The possibilities that come to
my mind:

  * docs/devel/testing.rst
  * tests/acceptance/$test_file.py/data/README

Hm. I think I’d prefer a dedicated file, i.e. the second one. In any case, sounds good.

On a different topic, the "https://avocado-project.org/data/assets"; has
enough bandwidth and can be used to hold this type asset.

I think it can’t hurt to put the kernel there, and then link to it in the cancel message.

Alternatively,
we can add a bit more automation to this test by letting people do something
like:

  $ avocado assets register virtiofs-auto-submounts-vmlinuz /path/to/vmlinuz

And on the test:

  vmlinuz = self.fetch_asset('virtiofs-auto-submounts-vmlinuz')

And the test should cancel if that asset has not been previously registered.

Thanks, I wasn’t aware of this system. Though I have no idea how “assets register” works, I can’t seem to find doc on it on avocado-framework.readthedocs.io. Is it global? Is there a way to register an asset of a specific name only for a specific test?

Because I think this would make more sense if we tried to fetch the asset from e.g. https://avocado-project.org/data/assets, i.e. just put its name as linux-5.10. Though perhaps it would also work with name='virtiofs-auto-submounts-vmlinuz', as you suggested. But in any case, I’m a bit uneasy about a global namespace, which “assets register” seems to use.

Max




reply via email to

[Prev in Thread] Current Thread [Next in Thread]