qemu-arm
[Top][All Lists]
Advanced

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

Re: [RFC PATCH] tests/avocado: use new rootfs for orangepi test


From: Thomas Huth
Subject: Re: [RFC PATCH] tests/avocado: use new rootfs for orangepi test
Date: Thu, 24 Nov 2022 09:20:36 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.13.0

On 23/11/2022 19.13, Philippe Mathieu-Daudé wrote:
On 23/11/22 15:12, Alex Bennée wrote:
Thomas Huth <thuth@redhat.com> writes:
On 23/11/2022 12.15, Philippe Mathieu-Daudé wrote:
On 18/11/22 12:33, Alex Bennée wrote:
The old URL wasn't stable. I suspect the current URL will only be
stable for a few months so maybe we need another strategy for hosting
rootfs snapshots?

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
   tests/avocado/boot_linux_console.py | 4 ++--
   1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tests/avocado/boot_linux_console.py
b/tests/avocado/boot_linux_console.py
index 4c9d551f47..5a2923c423 100644
--- a/tests/avocado/boot_linux_console.py
+++ b/tests/avocado/boot_linux_console.py
@@ -793,8 +793,8 @@ def test_arm_orangepi_sd(self):
           dtb_path =
'/usr/lib/linux-image-current-sunxi/sun8i-h3-orangepi-pc.dtb'
           dtb_path = self.extract_from_deb(deb_path, dtb_path)
           rootfs_url =
('http://storage.kernelci.org/images/rootfs/buildroot/'
-                      'kci-2019.02/armel/base/rootfs.ext2.xz')
-        rootfs_hash = '692510cb625efda31640d1de0a8d60e26040f061'
+ 'buildroot-baseline/20221116.0/armel/rootfs.ext2.xz')
+        rootfs_hash = 'fae32f337c7b87547b10f42599acf109da8b6d9a'
If Avocado doesn't find an artifact in its local cache, it will fetch it
from the URL.
The cache might be populated with artifacts previously downloaded, but
their URL is not valid anymore (my case for many tests).
We can also add artifacts manually, see [1].
I'd rather keep pre-existing tests if possible, to test older
(kernel / user-space) images. We don't need to run all the tests all
the time:
tests can be filtered by tags (see [2]).
My preference here is to refactor this test, adding the
"kci-2019.02"
and "baseline-20221116.0" releases. I can prepare the patch if you /
Thomas don't object.

IMHO we shouldn't keep tests in the upstream git repository where the
binaries are not available in public anymore. They won't get run by
new contributors anymore, and also could vanish from the disks of the
people who previously downloaded it, once they wipe their cache or
upgrade to a new installation, so the test code will sooner or later
be bitrotting. But if you want to keep the tests around on your hard
disk, you could also stick the test in a local branch on your hard
disk instead.

CI/Workstation splits aside I tend to agree with Thomas here that having
tests no one else can run will lead to an accretion of broken tests.

Following this idea, should we remove all boards for which no open
source & GPL software is available?

That's certainly a different topic... but I see where you're heading to.

My point here is rather: There is an alternative, newer version of the kernel available which can be used to test the same thing. The older version disappeared from the net, so why should we bother trying to keep that test with that version supported if there is a newer version available?

And for things like firmware images and ISOs, some people still have the hardware and CD-ROMs around, or you could buy them second hand, so there is indeed a point in having tests for such systems. But for this old kernel here? How is somebody supposed to run the test if they didn't download it before it disappeared?

If you feel that there is really a benefit for keeping it around, then fine, please submit a patch that restores the test with the old kernel. But then please also add a comment how to get the kernel if necessary. ... well, maybe we just need an owner for the test ... thinking about it twice, I think that's what bothered me most about this: It's a test in boot_linux_console.py so there is no clear maintainer who could be asked about it if it bitrots when the binary is not available. Thus please put it into a different file with an entry in MAINTAINERS if you restore it.

So maybe the rule should be: Tests with files that are not publicly available in the internet are OK if they have a clear maintainer who could be asked about the state if necessary. Tests without available files and without maintainer are just too prone to bitrot in the future.

 Thomas




reply via email to

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