public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: "'Jan Kiszka' via isar-users" <isar-users@googlegroups.com>
To: Zhihang Wei <wzh@ilbers.de>,
	"cedric.hombourger@siemens.com" <cedric.hombourger@siemens.com>
Cc: "isar-users@googlegroups.com" <isar-users@googlegroups.com>
Subject: Re: [PATCH 2/4] CI: add smoke-tests for switch to dracut in isar-image-ci
Date: Tue, 11 Nov 2025 15:09:13 +0100	[thread overview]
Message-ID: <cf8c76b9-008c-461b-bc0d-1ca142bf0d01@siemens.com> (raw)
In-Reply-To: <9b0a6eb6-efaa-4656-b5a6-95b83e0af247@ilbers.de>

On 11.11.25 14:58, Zhihang Wei wrote:
> On 11/7/25 14:42, cedric.hombourger@siemens.com wrote:
>> On Fri, 2025-11-07 at 14:09 +0100, Zhihang Wei wrote:
>>> On 11/1/25 12:13, 'Cedric Hombourger' via isar-users wrote:
>>>> Use IMAGE_PREINSTALL to install dracut in the isar-image-ci
>>>> image and verify that it builds and boots. We also check that
>>>> a dracut-shutdown service is active (as an indication that
>>>> the system was booted using a dracut initrd). A single test
>>>> is provided as well as cross-{machine,distro} tests.
>>>>
>>>> Signed-off-by: Cedric Hombourger<cedric.hombourger@siemens.com>
>>>> ---
>>>>    testsuite/citest.py | 58
>>>> +++++++++++++++++++++++++++++++++++++++++++++
>>>>    1 file changed, 58 insertions(+)
>>>>
>>>> diff --git a/testsuite/citest.py b/testsuite/citest.py
>>>> index a1214e9c..23900a6c 100755
>>>> --- a/testsuite/citest.py
>>>> +++ b/testsuite/citest.py
>>>> @@ -278,6 +278,64 @@ class KernelTests(CIBaseTest):
>>>>            self.perform_build_test(targets, image_install='
>>>> '.join(modules), lines=lines)
>>>>       +class InitRdBaseTest(CIBaseTest):
>>>> +    """
>>>> +    Helper class for InitRd build tests
>>>> +    """
>>>> +
>>>> +    DRACUT_CONF = [
>>>> +        "IMAGE_PREINSTALL:append = ' dracut'",
>>>> +        "IMAGE_INSTALL:remove = 'enable-fsck'",
>>>> +    ]
>>>> +
>>>> +    def dracut_in_image(self, targets):
>>>> +        machine = 'qemuamd64'
>>>> +        distro = 'bookworm'
>>>> +        image = 'isar-image-ci'
>>>> +        self.init()
>>>> +        self.perform_build_test(targets,
>>>> lines=InitRdBaseTest.DRACUT_CONF)
>>>> +
>>>> +        for target in targets:
>>>> +            config = target.split(':')
>>>> +            machine = config[1].split('-')[0]
>>>> +            distro = config[1].split('-')[1]
>>>> +            image = config[2]
>>>> +
>>>> +            # systems booted via a dracut initrd have a dracut-
>>>> shutdown service
>>>> +            # check its presence
>>>> +            self.vm_start(
>>>> +                machine.removeprefix('qemu'), distro, image=image,
>>>> +                cmd="systemctl is-active dracut-shutdown"
>>>> +            )
>>>> +
>>>> +
>>> I would suggest to move the definition of class
>>> InitRdBaseTest(CIBaseTest)
>>> to cibase.py. In citest.py there should only be definition of tests
>>> that we
>>> can directly run.
>> Are we sure we want to do this? While that's an easy change, I fear
>> that it would negatively impact readability of the tests that are
>> defined below. cibase is really at the framework level. The above class
>> is getting into the specifics.
> That's true. Let's keep it as it is. It will be applied after the dracut
> patch
> set.
>>
>> We will anyhow need to revisit the structure of our test. If we are
>> successful in getting more test-case contributions (as I am really
>> hoping and now pushing for), then we would end-up with an enormous
>> citest.py file. We will need to break it down.
>>
> The reason for having a single citest.py file is that we couldn’t
> quickly find
> a way to make Avocado list all test cases spread across multiple py files
> without having to specify each file explicitly on the command line. So, the
> current architecture is to have a plain overview of all TCs in citest.py
> and
> their implementations in cibase.py (which also breaks locality).
> If you know a way to start avocado with one location (e.g., a
> directory), we
> could evaluate the "one TC -- one py file" approach.

Another data point that we are likely using the wrong test framework in
isar. We should revisit this topic, rather than working around it.

The other major deficits that come to my mind:
- missing test dependency modelling
- missing debian package

Jan

-- 
Siemens AG, Foundational Technologies
Linux Expert Center

-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/cf8c76b9-008c-461b-bc0d-1ca142bf0d01%40siemens.com.

  reply	other threads:[~2025-11-11 14:09 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-01 11:13 [PATCH 0/4] Add test-cases for dracut-based initrds 'Cedric Hombourger' via isar-users
2025-11-01 11:13 ` [PATCH 1/4] CI: support negative build tests 'Cedric Hombourger' via isar-users
2025-11-01 11:13 ` [PATCH 2/4] CI: add smoke-tests for switch to dracut in isar-image-ci 'Cedric Hombourger' via isar-users
2025-11-07 13:09   ` Zhihang Wei
2025-11-07 13:42     ` 'cedric.hombourger@siemens.com' via isar-users
2025-11-11 13:58       ` Zhihang Wei
2025-11-11 14:09         ` 'Jan Kiszka' via isar-users [this message]
2025-11-11 16:05         ` 'cedric.hombourger@siemens.com' via isar-users
2025-11-01 11:13 ` [PATCH 3/4] CI: add build tests for isar-dracut initrd images 'Cedric Hombourger' via isar-users
2025-11-01 11:13 ` [PATCH 4/4] CI: check if the build fails when dracut fails 'Cedric Hombourger' via isar-users
2025-11-12 16:37 ` [PATCH 0/4] Add test-cases for dracut-based initrds Zhihang Wei

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cf8c76b9-008c-461b-bc0d-1ca142bf0d01@siemens.com \
    --to=isar-users@googlegroups.com \
    --cc=cedric.hombourger@siemens.com \
    --cc=jan.kiszka@siemens.com \
    --cc=wzh@ilbers.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox